From: Ben Shi Date: Mon, 15 Oct 2018 02:25:10 +0000 (+0000) Subject: test/codegen: add tests for multiplication-subtraction X-Git-Tag: go1.12beta1~780 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c3208842e138a4dd51499ca84b3bdba99ac4d413;p=gostls13.git test/codegen: add tests for multiplication-subtraction This CL adds tests for armv7's MULS and arm64's MSUBW. Change-Id: Id0fd5d26fd477e4ed14389b0d33cad930423eb5b Reviewed-on: https://go-review.googlesource.com/c/141651 Run-TryBot: Ben Shi Reviewed-by: Cherry Zhang TryBot-Result: Gobot Gobot --- diff --git a/test/codegen/arithmetic.go b/test/codegen/arithmetic.go index 879aaf285c..b1cdef6eee 100644 --- a/test/codegen/arithmetic.go +++ b/test/codegen/arithmetic.go @@ -227,3 +227,16 @@ func MULA(a, b, c uint32) (uint32, uint32, uint32) { r2 := b*64 + c return r0, r1, r2 } + +func MULS(a, b, c uint32) (uint32, uint32, uint32) { + // arm/7:`MULS`,-`MUL\s` + // arm64:`MSUBW`,-`MULW` + r0 := c - a*b + // arm/7:`MULS`-`MUL\s` + // arm64:`MSUBW`,-`MULW` + r1 := a - c*79 + // arm/7:`SUB`,-`MULS`-`MUL\s` + // arm64:`SUB`,-`MSUBW`,-`MULW` + r2 := c - b*64 + return r0, r1, r2 +}