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/mathbits.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/mathbits.go')
| -rw-r--r-- | test/codegen/mathbits.go | 171 |
1 files changed, 57 insertions, 114 deletions
diff --git a/test/codegen/mathbits.go b/test/codegen/mathbits.go index b506a37006..788f739f14 100644 --- a/test/codegen/mathbits.go +++ b/test/codegen/mathbits.go @@ -19,8 +19,7 @@ func LeadingZeros(n uint) int { // arm:"CLZ" arm64:"CLZ" // mips:"CLZ" // wasm:"I64Clz" - // ppc64le:"CNTLZD" - // ppc64:"CNTLZD" + // ppc64x:"CNTLZD" return bits.LeadingZeros(n) } @@ -31,8 +30,7 @@ func LeadingZeros64(n uint64) int { // arm:"CLZ" arm64:"CLZ" // mips:"CLZ" // wasm:"I64Clz" - // ppc64le:"CNTLZD" - // ppc64:"CNTLZD" + // ppc64x:"CNTLZD" return bits.LeadingZeros64(n) } @@ -43,8 +41,7 @@ func LeadingZeros32(n uint32) int { // arm:"CLZ" arm64:"CLZW" // mips:"CLZ" // wasm:"I64Clz" - // ppc64le:"CNTLZW" - // ppc64:"CNTLZW" + // ppc64x:"CNTLZW" return bits.LeadingZeros32(n) } @@ -55,8 +52,7 @@ func LeadingZeros16(n uint16) int { // arm:"CLZ" arm64:"CLZ" // mips:"CLZ" // wasm:"I64Clz" - // ppc64le:"CNTLZD" - // ppc64:"CNTLZD" + // ppc64x:"CNTLZD" return bits.LeadingZeros16(n) } @@ -67,8 +63,7 @@ func LeadingZeros8(n uint8) int { // arm:"CLZ" arm64:"CLZ" // mips:"CLZ" // wasm:"I64Clz" - // ppc64le:"CNTLZD" - // ppc64:"CNTLZD" + // ppc64x:"CNTLZD" return bits.LeadingZeros8(n) } @@ -83,8 +78,7 @@ func Len(n uint) int { // arm:"CLZ" arm64:"CLZ" // mips:"CLZ" // wasm:"I64Clz" - // ppc64le:"SUBC","CNTLZD" - // ppc64:"SUBC","CNTLZD" + // ppc64x:"SUBC","CNTLZD" return bits.Len(n) } @@ -95,14 +89,12 @@ func Len64(n uint64) int { // arm:"CLZ" arm64:"CLZ" // mips:"CLZ" // wasm:"I64Clz" - // ppc64le:"SUBC","CNTLZD" - // ppc64:"SUBC","CNTLZD" + // ppc64x:"SUBC","CNTLZD" return bits.Len64(n) } func SubFromLen64(n uint64) int { - // ppc64le:"CNTLZD",-"SUBC" - // ppc64:"CNTLZD",-"SUBC" + // ppc64x:"CNTLZD",-"SUBC" return 64 - bits.Len64(n) } @@ -113,8 +105,7 @@ func Len32(n uint32) int { // arm:"CLZ" arm64:"CLZ" // mips:"CLZ" // wasm:"I64Clz" - // ppc64: "CNTLZW" - // ppc64le: "CNTLZW" + // ppc64x: "CNTLZW" return bits.Len32(n) } @@ -125,8 +116,7 @@ func Len16(n uint16) int { // arm:"CLZ" arm64:"CLZ" // mips:"CLZ" // wasm:"I64Clz" - // ppc64le:"SUBC","CNTLZD" - // ppc64:"SUBC","CNTLZD" + // ppc64x:"SUBC","CNTLZD" return bits.Len16(n) } @@ -137,8 +127,7 @@ func Len8(n uint8) int { // arm:"CLZ" arm64:"CLZ" // mips:"CLZ" // wasm:"I64Clz" - // ppc64le:"SUBC","CNTLZD" - // ppc64:"SUBC","CNTLZD" + // ppc64x:"SUBC","CNTLZD" return bits.Len8(n) } @@ -152,8 +141,7 @@ func OnesCount(n uint) int { // amd64:"POPCNTQ" // arm64:"VCNT","VUADDLV" // s390x:"POPCNT" - // ppc64:"POPCNTD" - // ppc64le:"POPCNTD" + // ppc64x:"POPCNTD" // wasm:"I64Popcnt" return bits.OnesCount(n) } @@ -163,8 +151,7 @@ func OnesCount64(n uint64) int { // amd64:"POPCNTQ" // arm64:"VCNT","VUADDLV" // s390x:"POPCNT" - // ppc64:"POPCNTD" - // ppc64le:"POPCNTD" + // ppc64x:"POPCNTD" // wasm:"I64Popcnt" return bits.OnesCount64(n) } @@ -174,8 +161,7 @@ func OnesCount32(n uint32) int { // amd64:"POPCNTL" // arm64:"VCNT","VUADDLV" // s390x:"POPCNT" - // ppc64:"POPCNTW" - // ppc64le:"POPCNTW" + // ppc64x:"POPCNTW" // wasm:"I64Popcnt" return bits.OnesCount32(n) } @@ -185,16 +171,14 @@ func OnesCount16(n uint16) int { // amd64:"POPCNTL" // arm64:"VCNT","VUADDLV" // s390x:"POPCNT" - // ppc64:"POPCNTW" - // ppc64le:"POPCNTW" + // ppc64x:"POPCNTW" // wasm:"I64Popcnt" return bits.OnesCount16(n) } func OnesCount8(n uint8) int { // s390x:"POPCNT" - // ppc64:"POPCNTB" - // ppc64le:"POPCNTB" + // ppc64x:"POPCNTB" // wasm:"I64Popcnt" return bits.OnesCount8(n) } @@ -240,8 +224,7 @@ func ReverseBytes16(n uint16) uint16 { func RotateLeft64(n uint64) uint64 { // amd64:"ROLQ" // arm64:"ROR" - // ppc64:"ROTL" - // ppc64le:"ROTL" + // ppc64x:"ROTL" // s390x:"RISBGZ\t[$]0, [$]63, [$]37, " // wasm:"I64Rotl" return bits.RotateLeft64(n, 37) @@ -251,8 +234,7 @@ func RotateLeft32(n uint32) uint32 { // amd64:"ROLL" 386:"ROLL" // arm:`MOVW\tR[0-9]+@>23` // arm64:"RORW" - // ppc64:"ROTLW" - // ppc64le:"ROTLW" + // ppc64x:"ROTLW" // s390x:"RLL" // wasm:"I32Rotl" return bits.RotateLeft32(n, 9) @@ -273,8 +255,7 @@ func RotateLeft8(n uint8, s int) uint8 { func RotateLeftVariable(n uint, m int) uint { // amd64:"ROLQ" // arm64:"ROR" - // ppc64:"ROTL" - // ppc64le:"ROTL" + // ppc64x:"ROTL" // s390x:"RLLG" // wasm:"I64Rotl" return bits.RotateLeft(n, m) @@ -283,8 +264,7 @@ func RotateLeftVariable(n uint, m int) uint { func RotateLeftVariable64(n uint64, m int) uint64 { // amd64:"ROLQ" // arm64:"ROR" - // ppc64:"ROTL" - // ppc64le:"ROTL" + // ppc64x:"ROTL" // s390x:"RLLG" // wasm:"I64Rotl" return bits.RotateLeft64(n, m) @@ -294,8 +274,7 @@ func RotateLeftVariable32(n uint32, m int) uint32 { // arm:`MOVW\tR[0-9]+@>R[0-9]+` // amd64:"ROLL" // arm64:"RORW" - // ppc64:"ROTLW" - // ppc64le:"ROTLW" + // ppc64x:"ROTLW" // s390x:"RLL" // wasm:"I32Rotl" return bits.RotateLeft32(n, m) @@ -311,10 +290,8 @@ func TrailingZeros(n uint) int { // arm:"CLZ" // arm64:"RBIT","CLZ" // s390x:"FLOGR" - // ppc64/power8:"ANDN","POPCNTD" - // ppc64le/power8:"ANDN","POPCNTD" - // ppc64/power9: "CNTTZD" - // ppc64le/power9: "CNTTZD" + // ppc64x/power8:"ANDN","POPCNTD" + // ppc64x/power9: "CNTTZD" // wasm:"I64Ctz" return bits.TrailingZeros(n) } @@ -324,10 +301,8 @@ func TrailingZeros64(n uint64) int { // amd64/v3:"TZCNTQ" // arm64:"RBIT","CLZ" // s390x:"FLOGR" - // ppc64/power8:"ANDN","POPCNTD" - // ppc64le/power8:"ANDN","POPCNTD" - // ppc64/power9: "CNTTZD" - // ppc64le/power9: "CNTTZD" + // ppc64x/power8:"ANDN","POPCNTD" + // ppc64x/power9: "CNTTZD" // wasm:"I64Ctz" return bits.TrailingZeros64(n) } @@ -344,10 +319,8 @@ func TrailingZeros32(n uint32) int { // arm:"CLZ" // arm64:"RBITW","CLZW" // s390x:"FLOGR","MOVWZ" - // ppc64/power8:"ANDN","POPCNTW" - // ppc64le/power8:"ANDN","POPCNTW" - // ppc64/power9: "CNTTZW" - // ppc64le/power9: "CNTTZW" + // ppc64x/power8:"ANDN","POPCNTW" + // ppc64x/power9: "CNTTZW" // wasm:"I64Ctz" return bits.TrailingZeros32(n) } @@ -358,10 +331,8 @@ func TrailingZeros16(n uint16) int { // arm:"ORR\t\\$65536","CLZ",-"MOVHU\tR" // arm64:"ORR\t\\$65536","RBITW","CLZW",-"MOVHU\tR",-"RBIT\t",-"CLZ\t" // s390x:"FLOGR","OR\t\\$65536" - // ppc64/power8:"POPCNTD","OR\\t\\$65536" - // ppc64le/power8:"POPCNTD","OR\\t\\$65536" - // ppc64/power9:"CNTTZD","OR\\t\\$65536" - // ppc64le/power9:"CNTTZD","OR\\t\\$65536" + // ppc64x/power8:"POPCNTD","OR\\t\\$65536" + // ppc64x/power9:"CNTTZD","OR\\t\\$65536" // wasm:"I64Ctz" return bits.TrailingZeros16(n) } @@ -441,8 +412,7 @@ func IterateBits8(n uint8) int { func Add(x, y, ci uint) (r, co uint) { // arm64:"ADDS","ADCS","ADC",-"ADD\t",-"CMP" // amd64:"NEGL","ADCQ","SBBQ","NEGQ" - // ppc64: "ADDC", "ADDE", "ADDZE" - // ppc64le: "ADDC", "ADDE", "ADDZE" + // ppc64x: "ADDC", "ADDE", "ADDZE" // s390x:"ADDE","ADDC\t[$]-1," // riscv64: "ADD","SLTU" return bits.Add(x, y, ci) @@ -452,8 +422,7 @@ func AddC(x, ci uint) (r, co uint) { // arm64:"ADDS","ADCS","ADC",-"ADD\t",-"CMP" // amd64:"NEGL","ADCQ","SBBQ","NEGQ" // loong64: "ADDV", "SGTU" - // ppc64: "ADDC", "ADDE", "ADDZE" - // ppc64le: "ADDC", "ADDE", "ADDZE" + // ppc64x: "ADDC", "ADDE", "ADDZE" // s390x:"ADDE","ADDC\t[$]-1," // riscv64: "ADD","SLTU" return bits.Add(x, 7, ci) @@ -463,8 +432,7 @@ func AddZ(x, y uint) (r, co uint) { // arm64:"ADDS","ADC",-"ADCS",-"ADD\t",-"CMP" // amd64:"ADDQ","SBBQ","NEGQ",-"NEGL",-"ADCQ" // loong64: "ADDV", "SGTU" - // ppc64: "ADDC", -"ADDE", "ADDZE" - // ppc64le: "ADDC", -"ADDE", "ADDZE" + // ppc64x: "ADDC", -"ADDE", "ADDZE" // s390x:"ADDC",-"ADDC\t[$]-1," // riscv64: "ADD","SLTU" return bits.Add(x, y, 0) @@ -474,8 +442,7 @@ func AddR(x, y, ci uint) uint { // arm64:"ADDS","ADCS",-"ADD\t",-"CMP" // amd64:"NEGL","ADCQ",-"SBBQ",-"NEGQ" // loong64: "ADDV", -"SGTU" - // ppc64: "ADDC", "ADDE", -"ADDZE" - // ppc64le: "ADDC", "ADDE", -"ADDZE" + // ppc64x: "ADDC", "ADDE", -"ADDZE" // s390x:"ADDE","ADDC\t[$]-1," // riscv64: "ADD",-"SLTU" r, _ := bits.Add(x, y, ci) @@ -496,8 +463,7 @@ func Add64(x, y, ci uint64) (r, co uint64) { // arm64:"ADDS","ADCS","ADC",-"ADD\t",-"CMP" // amd64:"NEGL","ADCQ","SBBQ","NEGQ" // loong64: "ADDV", "SGTU" - // ppc64: "ADDC", "ADDE", "ADDZE" - // ppc64le: "ADDC", "ADDE", "ADDZE" + // ppc64x: "ADDC", "ADDE", "ADDZE" // s390x:"ADDE","ADDC\t[$]-1," // riscv64: "ADD","SLTU" return bits.Add64(x, y, ci) @@ -507,8 +473,7 @@ func Add64C(x, ci uint64) (r, co uint64) { // arm64:"ADDS","ADCS","ADC",-"ADD\t",-"CMP" // amd64:"NEGL","ADCQ","SBBQ","NEGQ" // loong64: "ADDV", "SGTU" - // ppc64: "ADDC", "ADDE", "ADDZE" - // ppc64le: "ADDC", "ADDE", "ADDZE" + // ppc64x: "ADDC", "ADDE", "ADDZE" // s390x:"ADDE","ADDC\t[$]-1," // riscv64: "ADD","SLTU" return bits.Add64(x, 7, ci) @@ -518,8 +483,7 @@ func Add64Z(x, y uint64) (r, co uint64) { // arm64:"ADDS","ADC",-"ADCS",-"ADD\t",-"CMP" // amd64:"ADDQ","SBBQ","NEGQ",-"NEGL",-"ADCQ" // loong64: "ADDV", "SGTU" - // ppc64: "ADDC", -"ADDE", "ADDZE" - // ppc64le: "ADDC", -"ADDE", "ADDZE" + // ppc64x: "ADDC", -"ADDE", "ADDZE" // s390x:"ADDC",-"ADDC\t[$]-1," // riscv64: "ADD","SLTU" return bits.Add64(x, y, 0) @@ -529,8 +493,7 @@ func Add64R(x, y, ci uint64) uint64 { // arm64:"ADDS","ADCS",-"ADD\t",-"CMP" // amd64:"NEGL","ADCQ",-"SBBQ",-"NEGQ" // loong64: "ADDV", -"SGTU" - // ppc64: "ADDC", "ADDE", -"ADDZE" - // ppc64le: "ADDC", "ADDE", -"ADDZE" + // ppc64x: "ADDC", "ADDE", -"ADDZE" // s390x:"ADDE","ADDC\t[$]-1," // riscv64: "ADD",-"SLTU" r, _ := bits.Add64(x, y, ci) @@ -541,19 +504,16 @@ func Add64M(p, q, r *[3]uint64) { r[0], c = bits.Add64(p[0], q[0], c) // arm64:"ADCS",-"ADD\t",-"CMP" // amd64:"ADCQ",-"NEGL",-"SBBQ",-"NEGQ" - // ppc64: -"ADDC", "ADDE", -"ADDZE" - // ppc64le: -"ADDC", "ADDE", -"ADDZE" + // ppc64x: -"ADDC", "ADDE", -"ADDZE" // s390x:"ADDE",-"ADDC\t[$]-1," r[1], c = bits.Add64(p[1], q[1], c) r[2], c = bits.Add64(p[2], q[2], c) } func Add64MSaveC(p, q, r, c *[2]uint64) { - // ppc64: "ADDC\tR", "ADDZE" - // ppc64le: "ADDC\tR", "ADDZE" + // ppc64x: "ADDC\tR", "ADDZE" r[0], c[0] = bits.Add64(p[0], q[0], 0) - // ppc64: "ADDC\t[$]-1", "ADDE", "ADDZE" - // ppc64le: "ADDC\t[$]-1", "ADDE", "ADDZE" + // ppc64x: "ADDC\t[$]-1", "ADDE", "ADDZE" r[1], c[1] = bits.Add64(p[1], q[1], c[0]) } @@ -636,18 +596,14 @@ func Add64MultipleChains(a, b, c, d [2]uint64) { b1, b2 := b[0], b[1] c1, c2 := c[0], c[1] - // ppc64: "ADDC\tR\\d+,", -"ADDE", -"MOVD\tXER" - // ppc64le: "ADDC\tR\\d+,", -"ADDE", -"MOVD\tXER" + // ppc64x: "ADDC\tR\\d+,", -"ADDE", -"MOVD\tXER" d1, cx = bits.Add64(a1, b1, 0) - // ppc64: "ADDE", -"ADDC", -"MOVD\t.*, XER" - // ppc64le: "ADDE", -"ADDC", -"MOVD\t.*, XER" + // ppc64x: "ADDE", -"ADDC", -"MOVD\t.*, XER" d2, _ = bits.Add64(a2, b2, cx) - // ppc64: "ADDC\tR\\d+,", -"ADDE", -"MOVD\tXER" - // ppc64le: "ADDC\tR\\d+,", -"ADDE", -"MOVD\tXER" + // ppc64x: "ADDC\tR\\d+,", -"ADDE", -"MOVD\tXER" d1, cx = bits.Add64(c1, d1, 0) - // ppc64: "ADDE", -"ADDC", -"MOVD\t.*, XER" - // ppc64le: "ADDE", -"ADDC", -"MOVD\t.*, XER" + // ppc64x: "ADDE", -"ADDC", -"MOVD\t.*, XER" d2, _ = bits.Add64(c2, d2, cx) d[0] = d1 d[1] = d2 @@ -661,8 +617,7 @@ func Sub(x, y, ci uint) (r, co uint) { // amd64:"NEGL","SBBQ","NEGQ" // arm64:"NEGS","SBCS","NGC","NEG",-"ADD",-"SUB",-"CMP" // loong64:"SUBV","SGTU" - // ppc64:"SUBC", "SUBE", "SUBZE", "NEG" - // ppc64le:"SUBC", "SUBE", "SUBZE", "NEG" + // ppc64x:"SUBC", "SUBE", "SUBZE", "NEG" // s390x:"SUBE" // riscv64: "SUB","SLTU" return bits.Sub(x, y, ci) @@ -672,8 +627,7 @@ func SubC(x, ci uint) (r, co uint) { // amd64:"NEGL","SBBQ","NEGQ" // arm64:"NEGS","SBCS","NGC","NEG",-"ADD",-"SUB",-"CMP" // loong64:"SUBV","SGTU" - // ppc64:"SUBC", "SUBE", "SUBZE", "NEG" - // ppc64le:"SUBC", "SUBE", "SUBZE", "NEG" + // ppc64x:"SUBC", "SUBE", "SUBZE", "NEG" // s390x:"SUBE" // riscv64: "SUB","SLTU" return bits.Sub(x, 7, ci) @@ -683,8 +637,7 @@ func SubZ(x, y uint) (r, co uint) { // amd64:"SUBQ","SBBQ","NEGQ",-"NEGL" // arm64:"SUBS","NGC","NEG",-"SBCS",-"ADD",-"SUB\t",-"CMP" // loong64:"SUBV","SGTU" - // ppc64:"SUBC", -"SUBE", "SUBZE", "NEG" - // ppc64le:"SUBC", -"SUBE", "SUBZE", "NEG" + // ppc64x:"SUBC", -"SUBE", "SUBZE", "NEG" // s390x:"SUBC" // riscv64: "SUB","SLTU" return bits.Sub(x, y, 0) @@ -694,8 +647,7 @@ func SubR(x, y, ci uint) uint { // amd64:"NEGL","SBBQ",-"NEGQ" // arm64:"NEGS","SBCS",-"NGC",-"NEG\t",-"ADD",-"SUB",-"CMP" // loong64:"SUBV",-"SGTU" - // ppc64:"SUBC", "SUBE", -"SUBZE", -"NEG" - // ppc64le:"SUBC", "SUBE", -"SUBZE", -"NEG" + // ppc64x:"SUBC", "SUBE", -"SUBZE", -"NEG" // s390x:"SUBE" // riscv64: "SUB",-"SLTU" r, _ := bits.Sub(x, y, ci) @@ -706,8 +658,7 @@ func SubM(p, q, r *[3]uint) { r[0], c = bits.Sub(p[0], q[0], c) // amd64:"SBBQ",-"NEGL",-"NEGQ" // arm64:"SBCS",-"NEGS",-"NGC",-"NEG",-"ADD",-"SUB",-"CMP" - // ppc64:-"SUBC", "SUBE", -"SUBZE", -"NEG" - // ppc64le:-"SUBC", "SUBE", -"SUBZE", -"NEG" + // ppc64x:-"SUBC", "SUBE", -"SUBZE", -"NEG" // s390x:"SUBE" r[1], c = bits.Sub(p[1], q[1], c) r[2], c = bits.Sub(p[2], q[2], c) @@ -717,8 +668,7 @@ func Sub64(x, y, ci uint64) (r, co uint64) { // amd64:"NEGL","SBBQ","NEGQ" // arm64:"NEGS","SBCS","NGC","NEG",-"ADD",-"SUB",-"CMP" // loong64:"SUBV","SGTU" - // ppc64:"SUBC", "SUBE", "SUBZE", "NEG" - // ppc64le:"SUBC", "SUBE", "SUBZE", "NEG" + // ppc64x:"SUBC", "SUBE", "SUBZE", "NEG" // s390x:"SUBE" // riscv64: "SUB","SLTU" return bits.Sub64(x, y, ci) @@ -728,8 +678,7 @@ func Sub64C(x, ci uint64) (r, co uint64) { // amd64:"NEGL","SBBQ","NEGQ" // arm64:"NEGS","SBCS","NGC","NEG",-"ADD",-"SUB",-"CMP" // loong64:"SUBV","SGTU" - // ppc64:"SUBC", "SUBE", "SUBZE", "NEG" - // ppc64le:"SUBC", "SUBE", "SUBZE", "NEG" + // ppc64x:"SUBC", "SUBE", "SUBZE", "NEG" // s390x:"SUBE" // riscv64: "SUB","SLTU" return bits.Sub64(x, 7, ci) @@ -739,8 +688,7 @@ func Sub64Z(x, y uint64) (r, co uint64) { // amd64:"SUBQ","SBBQ","NEGQ",-"NEGL" // arm64:"SUBS","NGC","NEG",-"SBCS",-"ADD",-"SUB\t",-"CMP" // loong64:"SUBV","SGTU" - // ppc64:"SUBC", -"SUBE", "SUBZE", "NEG" - // ppc64le:"SUBC", -"SUBE", "SUBZE", "NEG" + // ppc64x:"SUBC", -"SUBE", "SUBZE", "NEG" // s390x:"SUBC" // riscv64: "SUB","SLTU" return bits.Sub64(x, y, 0) @@ -750,8 +698,7 @@ func Sub64R(x, y, ci uint64) uint64 { // amd64:"NEGL","SBBQ",-"NEGQ" // arm64:"NEGS","SBCS",-"NGC",-"NEG\t",-"ADD",-"SUB",-"CMP" // loong64:"SUBV",-"SGTU" - // ppc64:"SUBC", "SUBE", -"SUBZE", -"NEG" - // ppc64le:"SUBC", "SUBE", -"SUBZE", -"NEG" + // ppc64x:"SUBC", "SUBE", -"SUBZE", -"NEG" // s390x:"SUBE" // riscv64: "SUB",-"SLTU" r, _ := bits.Sub64(x, y, ci) @@ -768,11 +715,9 @@ func Sub64M(p, q, r *[3]uint64) { } func Sub64MSaveC(p, q, r, c *[2]uint64) { - // ppc64:"SUBC\tR\\d+, R\\d+,", "SUBZE", "NEG" - // ppc64le:"SUBC\tR\\d+, R\\d+,", "SUBZE", "NEG" + // ppc64x:"SUBC\tR\\d+, R\\d+,", "SUBZE", "NEG" r[0], c[0] = bits.Sub64(p[0], q[0], 0) - // ppc64:"SUBC\tR\\d+, [$]0,", "SUBE", "SUBZE", "NEG" - // ppc64le:"SUBC\tR\\d+, [$]0,", "SUBE", "SUBZE", "NEG" + // ppc64x:"SUBC\tR\\d+, [$]0,", "SUBE", "SUBZE", "NEG" r[1], c[1] = bits.Sub64(p[1], q[1], c[0]) } @@ -846,8 +791,7 @@ func Sub64MPanicOnOverflowGT(a, b [2]uint64) [2]uint64 { func Mul(x, y uint) (hi, lo uint) { // amd64:"MULQ" // arm64:"UMULH","MUL" - // ppc64:"MULHDU","MULLD" - // ppc64le:"MULHDU","MULLD" + // ppc64x:"MULHDU","MULLD" // s390x:"MLGR" // mips64: "MULVU" return bits.Mul(x, y) @@ -856,8 +800,7 @@ func Mul(x, y uint) (hi, lo uint) { func Mul64(x, y uint64) (hi, lo uint64) { // amd64:"MULQ" // arm64:"UMULH","MUL" - // ppc64:"MULHDU","MULLD" - // ppc64le:"MULHDU","MULLD" + // ppc64x:"MULHDU","MULLD" // s390x:"MLGR" // mips64: "MULVU" // riscv64:"MULHU","MUL" |
