1
0
mirror of https://github.com/golang/go synced 2024-09-25 01:30:13 -06:00

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 <powerman1st@163.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Ben Shi 2018-10-15 02:25:10 +00:00 committed by Cherry Zhang
parent 389e942745
commit c3208842e1

View 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
}