diff options
| author | Paul E. Murphy <murp@ibm.com> | 2023-01-25 11:53:10 -0600 |
|---|---|---|
| committer | Paul Murphy <murp@ibm.com> | 2023-01-27 18:24:12 +0000 |
| commit | 0301c6c3512561b85b48d0e167f3e405484f496f (patch) | |
| tree | 18ac5ab56f9115b0fc1d16f953d0d1ef11efd7fc /test/codegen/bool.go | |
| parent | 4b3726e99bec62e4a8b8e9cecc478b51ce0d4636 (diff) | |
| download | go-0301c6c3512561b85b48d0e167f3e405484f496f.tar.xz | |
test/codegen: combine trivial PPC64 tests into ppc64x
Use a small python script to consolidate duplicate
ppc64/ppc64le tests into a single ppc64x codegen test.
This makes small assumption that anytime two tests with
for different arch/variant combos exists, those tests
can be combined into a single ppc64x test.
E.x:
// ppc64le: foo
// ppc64le/power9: foo
into
// ppc64x: foo
or
// ppc64: foo
// ppc64le: foo
into
// ppc64x: foo
import glob
import re
files = glob.glob("codegen/*.go")
for file in files:
with open(file) as f:
text = [l for l in f]
i = 0
while i < len(text):
first = re.match("\s*// ?ppc64(le)?(/power[89])?:(.*)", text[i])
if first:
j = i+1
while j < len(text):
second = re.match("\s*// ?ppc64(le)?(/power[89])?:(.*)", text[j])
if not second:
break
if (not first.group(2) or first.group(2) == second.group(2)) and first.group(3) == second.group(3):
text[i] = re.sub(" ?ppc64(le|x)?"," ppc64x",text[i])
text=text[:j] + (text[j+1:])
else:
j += 1
i+=1
with open(file, 'w') as f:
f.write("".join(text))
Change-Id: Ic6b009b54eacaadc5a23db9c5a3bf7331b595821
Reviewed-on: https://go-review.googlesource.com/c/go/+/463220
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Paul Murphy <murp@ibm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'test/codegen/bool.go')
| -rw-r--r-- | test/codegen/bool.go | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/test/codegen/bool.go b/test/codegen/bool.go index d921b55c06..ecc21fa90a 100644 --- a/test/codegen/bool.go +++ b/test/codegen/bool.go @@ -10,17 +10,14 @@ package codegen func convertNeq0B(x uint8, c bool) bool { // amd64:"ANDL\t[$]1",-"SETNE" - // ppc64:"ANDCC",-"CMPW",-"ISEL" - // ppc64le:"ANDCC",-"CMPW",-"ISEL" - // ppc64le/power9:"ANDCC",-"CMPW",-"ISEL" + // ppc64x:"ANDCC",-"CMPW",-"ISEL" b := x&1 != 0 return c && b } func convertNeq0W(x uint16, c bool) bool { // amd64:"ANDL\t[$]1",-"SETNE" - // ppc64:"ANDCC",-"CMPW",-"ISEL" - // ppc64le:"ANDCC",-"CMPW",-"ISEL" + // ppc64x:"ANDCC",-"CMPW",-"ISEL" // ppc64le/power9:"ANDCC",-CMPW",-"ISEL" b := x&1 != 0 return c && b @@ -28,46 +25,35 @@ func convertNeq0W(x uint16, c bool) bool { func convertNeq0L(x uint32, c bool) bool { // amd64:"ANDL\t[$]1",-"SETB" - // ppc64:"ANDCC",-"CMPW",-"ISEL" - // ppc64le:"ANDCC",-"CMPW",-"ISEL" - // ppc64le/power9:"ANDCC",-"CMPW",-"ISEL" + // ppc64x:"ANDCC",-"CMPW",-"ISEL" b := x&1 != 0 return c && b } func convertNeq0Q(x uint64, c bool) bool { // amd64:"ANDL\t[$]1",-"SETB" - // ppc64:"ANDCC",-"CMP",-"ISEL" - // ppc64le:"ANDCC",-"CMP",-"ISEL" - // ppc64le/power9:"ANDCC",-"CMP",-"ISEL" + // ppc64x:"ANDCC",-"CMP",-"ISEL" b := x&1 != 0 return c && b } func convertNeqBool32(x uint32) bool { - // ppc64:"ANDCC",-"CMPW",-"ISEL" - // ppc64le:"ANDCC",-"CMPW",-"ISEL" - // ppc64le/power9:"ANDCC",-"CMPW",-"ISEL" + // ppc64x:"ANDCC",-"CMPW",-"ISEL" return x&1 != 0 } func convertEqBool32(x uint32) bool { - // ppc64:"ANDCC",-"CMPW","XOR",-"ISEL" - // ppc64le:"ANDCC",-"CMPW","XOR",-"ISEL" + // ppc64x:"ANDCC",-"CMPW","XOR",-"ISEL" // ppc64le/power9:"ANDCC","XOR",-"CMPW",-"ISEL" return x&1 == 0 } func convertNeqBool64(x uint64) bool { - // ppc64:"ANDCC",-"CMP",-"ISEL" - // ppc64le:"ANDCC",-"CMP",-"ISEL" - // ppc64le/power9:"ANDCC",-"CMP",-"ISEL" + // ppc64x:"ANDCC",-"CMP",-"ISEL" return x&1 != 0 } func convertEqBool64(x uint64) bool { - // ppc64:"ANDCC","XOR",-"CMP",-"ISEL" - // ppc64le:"ANDCC","XOR",-"CMP",-"ISEL" - // ppc64le/power9:"ANDCC","XOR",-"CMP",-"ISEL" + // ppc64x:"ANDCC","XOR",-"CMP",-"ISEL" return x&1 == 0 } |
