Commit a27cd4fd authored by Alberto Donizetti's avatar Alberto Donizetti

test/codegen: port tbz/tbnz arm64 tests

And delete them from asm_test.

Change-Id: I34fcf85ae8ce09cd146fe4ce6a0ae7616bd97e2d
Reviewed-on: https://go-review.googlesource.com/102296
Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: 's avatarGiovanni Bajo <rasky@develer.com>
parent 786899a7
......@@ -481,46 +481,6 @@ var linuxARM64Tests = []*asmTest{
pos: []string{"LSL\t\\$17"},
neg: []string{"CMP"},
},
{
fn: `
func $(a int32, ptr *int) {
if a >= 0 {
*ptr = 0
}
}
`,
pos: []string{"TBNZ"},
},
{
fn: `
func $(a int64, ptr *int) {
if a >= 0 {
*ptr = 0
}
}
`,
pos: []string{"TBNZ"},
},
{
fn: `
func $(a int32, ptr *int) {
if a < 0 {
*ptr = 0
}
}
`,
pos: []string{"TBZ"},
},
{
fn: `
func $(a int64, ptr *int) {
if a < 0 {
*ptr = 0
}
}
`,
pos: []string{"TBZ"},
},
// Load-combining tests.
{
fn: `
......
......@@ -106,3 +106,29 @@ func CmpMem5(p **int) {
// amd64:`CMPL\truntime.writeBarrier\(SB\), [$]0`
*p = nil
}
// Check tbz/tbnz are generated when comparing against zero on arm64
func CmpZero1(a int32, ptr *int) {
if a < 0 { // arm64:"TBZ"
*ptr = 0
}
}
func CmpZero2(a int64, ptr *int) {
if a < 0 { // arm64:"TBZ"
*ptr = 0
}
}
func CmpZero3(a int32, ptr *int) {
if a >= 0 { // arm64:"TBNZ"
*ptr = 0
}
}
func CmpZero4(a int64, ptr *int) {
if a >= 0 { // arm64:"TBNZ"
*ptr = 0
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment