aboutsummaryrefslogtreecommitdiff
path: root/test/codegen
diff options
context:
space:
mode:
authorPaul E. Murphy <murp@ibm.com>2024-10-24 09:08:47 -0500
committerPaul Murphy <murp@ibm.com>2024-10-24 17:32:18 +0000
commit1846dd5a318f1abd293c9cd54c868b7e288f1d26 (patch)
treec571e1751a52e858bb754f533f1cfbad2bedf55e /test/codegen
parent2a98a1849f059ffa94ab23a1ab7d8fa0fd0b48dd (diff)
downloadgo-1846dd5a318f1abd293c9cd54c868b7e288f1d26.tar.xz
cmd/compile/internal/ssa: fix PPC64 shift codegen regression
CL 621357 introduced new generic lowering rules which caused several shift related codegen test failures. Add new rules to fix the test regressions, and cleanup tests which are changed but not regressed. Some CLRLSLDI tests are removed as they are no test CLRLSLDI rules. Fixes #70003 Change-Id: I1ecc5a7e63ab709a4a0cebf11fa078d5cf164034 Reviewed-on: https://go-review.googlesource.com/c/go/+/622236 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Keith Randall <khr@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'test/codegen')
-rw-r--r--test/codegen/shift.go8
1 files changed, 1 insertions, 7 deletions
diff --git a/test/codegen/shift.go b/test/codegen/shift.go
index bc91c61baa..2d8cf86857 100644
--- a/test/codegen/shift.go
+++ b/test/codegen/shift.go
@@ -462,12 +462,6 @@ func checkMergedShifts64(a [256]uint32, b [256]uint64, c [256]byte, v uint64) {
a[2] = a[v>>25&0x7F]
// ppc64x: -"CLRLSLDI", "RLWNM\t[$]3, R[0-9]+, [$]29, [$]29, R[0-9]+"
a[3] = a[(v>>31)&0x01]
- // ppc64x: "SRD", "CLRLSLDI", -"RLWNM"
- a[4] = a[(v>>30)&0x07]
- // ppc64x: "SRD", "CLRLSLDI", -"RLWNM"
- a[5] = a[(v>>32)&0x01]
- // ppc64x: "SRD", "CLRLSLDI", -"RLWNM"
- a[6] = a[(v>>34)&0x03]
// ppc64x: -"CLRLSLDI", "RLWNM\t[$]12, R[0-9]+, [$]21, [$]28, R[0-9]+"
b[0] = b[uint8(v>>23)]
// ppc64x: -"CLRLSLDI", "RLWNM\t[$]15, R[0-9]+, [$]21, [$]28, R[0-9]+"
@@ -476,7 +470,7 @@ func checkMergedShifts64(a [256]uint32, b [256]uint64, c [256]byte, v uint64) {
b[2] = b[((uint64((uint32(v) >> 21)) & 0x3f) << 4)]
// ppc64x: "RLWNM\t[$]11, R[0-9]+, [$]10, [$]15"
c[0] = c[((v>>5)&0x3F)<<16]
- // ppc64x: "RLWNM\t[$]0, R[0-9]+, [$]19, [$]24"
+ // ppc64x: "ANDCC\t[$]8064,"
c[1] = c[((v>>7)&0x3F)<<7]
}