diff options
| author | Bryan Chan <bryan.chan@ca.ibm.com> | 2016-05-18 13:24:57 +0000 |
|---|---|---|
| committer | Bryan Chan <bryan.chan@ca.ibm.com> | 2016-05-18 13:24:57 +0000 |
| commit | e656f61d1e419dafc3f5f44395fabe1b481ecb78 (patch) | |
| tree | 3e8b6648ad65d19dacd13a2c9271d453550f8252 /llvm/lib | |
| parent | 7e148a94a499f64347010709864012fb79c6d7cf (diff) | |
| download | bcm5719-llvm-e656f61d1e419dafc3f5f44395fabe1b481ecb78.tar.gz bcm5719-llvm-e656f61d1e419dafc3f5f44395fabe1b481ecb78.zip | |
[SystemZ] Fix register ordering for BinaryRRF instructions
Summary:
The ordering of registers in BinaryRRF instructions are wrong, and
affects the copysign instruction (CPSDR). This results in the wrong
magnitude and sign being set.
Author: zhanjunl
Reviewers: kbarton, uweigand
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D20308
llvm-svn: 269922
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/SystemZ/SystemZInstrFormats.td | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrFormats.td b/llvm/lib/Target/SystemZ/SystemZInstrFormats.td index 24618a1c8cc..efa0dc230f5 100644 --- a/llvm/lib/Target/SystemZ/SystemZInstrFormats.td +++ b/llvm/lib/Target/SystemZ/SystemZInstrFormats.td @@ -1439,9 +1439,9 @@ class BinaryRRE<string mnemonic, bits<16> opcode, SDPatternOperator operator, class BinaryRRF<string mnemonic, bits<16> opcode, SDPatternOperator operator, RegisterOperand cls1, RegisterOperand cls2> - : InstRRF<opcode, (outs cls1:$R1), (ins cls1:$R3, cls2:$R2), + : InstRRF<opcode, (outs cls1:$R1), (ins cls1:$R2, cls2:$R3), mnemonic#"r\t$R1, $R3, $R2", - [(set cls1:$R1, (operator cls1:$R3, cls2:$R2))]> { + [(set cls1:$R1, (operator cls1:$R2, cls2:$R3))]> { let OpKey = mnemonic ## cls1; let OpType = "reg"; let R4 = 0; |

