]> Cypherpunks repositories - gostls13.git/commitdiff
test/codegen: add tests for multiplication-subtraction
authorBen Shi <powerman1st@163.com>
Mon, 15 Oct 2018 02:25:10 +0000 (02:25 +0000)
committerCherry Zhang <cherryyz@google.com>
Mon, 15 Oct 2018 02:41:33 +0000 (02:41 +0000)
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 <powerman1st@163.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

test/codegen/arithmetic.go

index 879aaf285cdeb3d15004c9fbb3f2445fe44af387..b1cdef6eee32fc8ad5b0c446763a850d60714dd8 100644 (file)
@@ -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
+}