diff options
| author | Michael Munday <munday@ca.ibm.com> | 2016-10-23 16:11:13 -0400 |
|---|---|---|
| committer | Michael Munday <munday@ca.ibm.com> | 2016-10-25 12:36:06 +0000 |
| commit | 3ef07c412f068144554648c0d209bef444a2ee27 (patch) | |
| tree | b277c5769249e71e75b3e9bb902c87f81f8d88ca /src/runtime/internal/atomic | |
| parent | 517a44d57e6a0834e98b763045fab9be8f4673d0 (diff) | |
| download | go-3ef07c412f068144554648c0d209bef444a2ee27.tar.xz | |
cmd, runtime: remove s390x 3 operand immediate logical ops
These are emulated by the assembler and we don't need them.
Change-Id: I2b07c5315a5b642fdb5e50b468453260ae121164
Reviewed-on: https://go-review.googlesource.com/31758
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/runtime/internal/atomic')
| -rw-r--r-- | src/runtime/internal/atomic/asm_s390x.s | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/runtime/internal/atomic/asm_s390x.s b/src/runtime/internal/atomic/asm_s390x.s index c84718cb8f..4884d1c620 100644 --- a/src/runtime/internal/atomic/asm_s390x.s +++ b/src/runtime/internal/atomic/asm_s390x.s @@ -141,7 +141,8 @@ TEXT ·Or8(SB), NOSPLIT, $0-9 MOVD ptr+0(FP), R3 MOVBZ val+8(FP), R4 // Calculate shift. - AND $3, R3, R5 + MOVD R3, R5 + AND $3, R5 XOR $3, R5 // big endian - flip direction SLD $3, R5 // MUL $8, R5 SLD R5, R4 @@ -159,7 +160,8 @@ TEXT ·And8(SB), NOSPLIT, $0-9 MOVD ptr+0(FP), R3 MOVBZ val+8(FP), R4 // Calculate shift. - AND $3, R3, R5 + MOVD R3, R5 + AND $3, R5 XOR $3, R5 // big endian - flip direction SLD $3, R5 // MUL $8, R5 OR $-256, R4 // create 0xffffffffffffffxx |
