Commit 259de39
cmd/internal/obj/ppc64: fix wrong register encoding in XX1-Form instructions
A bug in the encoding of XX1-Form is flipping bit 31 of such instructions.
This may result in register clobering when using VSX instructions.
This was not exposed before because we currently don't generate these
instructions in SSA, and the asm files in which they are present aren't
affected by register clobbering.
This change fixes the bug and adds a testcase for the problem.
Fixes #30112
Change-Id: I77b606159ae1efea33d2ba3e1c74b7fae8d5d2e7
Reviewed-on: https://go-review.googlesource.com/c/go/+/163759
Reviewed-by: Bryan C. Mills <[email protected]>
Reviewed-by: Lynn Boger <[email protected]>
Run-TryBot: Bryan C. Mills <[email protected]>
TryBot-Result: Gobot Gobot <[email protected]>1 parent 1f90d08 commit 259de39
2 files changed
+12
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1021 | 1021 | | |
1022 | 1022 | | |
1023 | 1023 | | |
| 1024 | + | |
1024 | 1025 | | |
1025 | 1026 | | |
1026 | 1027 | | |
| 1028 | + | |
| 1029 | + | |
1027 | 1030 | | |
1028 | 1031 | | |
1029 | 1032 | | |
1030 | 1033 | | |
| 1034 | + | |
1031 | 1035 | | |
1032 | 1036 | | |
1033 | 1037 | | |
1034 | 1038 | | |
1035 | 1039 | | |
| 1040 | + | |
| 1041 | + | |
1036 | 1042 | | |
1037 | 1043 | | |
1038 | 1044 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3555 | 3555 | | |
3556 | 3556 | | |
3557 | 3557 | | |
3558 | | - | |
| 3558 | + | |
3559 | 3559 | | |
3560 | 3560 | | |
3561 | 3561 | | |
3562 | | - | |
| 3562 | + | |
3563 | 3563 | | |
3564 | | - | |
| 3564 | + | |
3565 | 3565 | | |
3566 | 3566 | | |
3567 | 3567 | | |
3568 | | - | |
| 3568 | + | |
3569 | 3569 | | |
3570 | 3570 | | |
3571 | | - | |
| 3571 | + | |
3572 | 3572 | | |
3573 | | - | |
| 3573 | + | |
3574 | 3574 | | |
3575 | 3575 | | |
3576 | 3576 | | |
| |||
0 commit comments