diff options
| author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-07-16 14:14:01 +0000 |
|---|---|---|
| committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-07-16 14:14:01 +0000 |
| commit | 68b101a0e10d87cdcc0b19702b9bc61eda3076eb (patch) | |
| tree | 1f1e974c9a87db1f48bb29258760f9c0dc01f75e | |
| parent | 1de42953728f7f40d15659a9baafc866e65e16f7 (diff) | |
| download | bcm5719-llvm-68b101a0e10d87cdcc0b19702b9bc61eda3076eb.tar.gz bcm5719-llvm-68b101a0e10d87cdcc0b19702b9bc61eda3076eb.zip | |
Fix epic fail: full-width muls are not commutable. This unbreaks bunch of stuff from SingleSource/Benchmarks/Stanford
llvm-svn: 76002
| -rw-r--r-- | llvm/lib/Target/SystemZ/SystemZInstrInfo.td | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td index 5c8474c6d16..17bf19c6d9b 100644 --- a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td +++ b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td @@ -538,6 +538,7 @@ def MUL32rr : Pseudo<(outs GR32:$dst), (ins GR32:$src1, GR32:$src2), def MUL64rr : Pseudo<(outs GR64:$dst), (ins GR64:$src1, GR64:$src2), "msgr\t{$dst, $src2}", [(set GR64:$dst, (mul GR64:$src1, GR64:$src2))]>; +} def MUL64rrP : Pseudo<(outs GR64P:$dst), (ins GR64P:$src1, GR32:$src2), "mr\t{$dst, $src2}", @@ -548,8 +549,6 @@ def UMUL64rrP : Pseudo<(outs GR64P:$dst), (ins GR64P:$src1, GR32:$src2), def UMUL128rrP : Pseudo<(outs GR128:$dst), (ins GR128:$src1, GR64:$src2), "mlgr\t{$dst, $src2}", []>; -} - def MUL32ri16 : Pseudo<(outs GR32:$dst), (ins GR32:$src1, s16imm:$src2), "mhi\t{$dst, $src2}", |

