diff options
| author | Paul E. Murphy <murp@ibm.com> | 2024-10-24 09:08:47 -0500 |
|---|---|---|
| committer | Paul Murphy <murp@ibm.com> | 2024-10-24 17:32:18 +0000 |
| commit | 1846dd5a318f1abd293c9cd54c868b7e288f1d26 (patch) | |
| tree | c571e1751a52e858bb754f533f1cfbad2bedf55e /test/codegen | |
| parent | 2a98a1849f059ffa94ab23a1ab7d8fa0fd0b48dd (diff) | |
| download | go-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.go | 8 |
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] } |
