summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:14:01 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:14:01 +0000
commit68b101a0e10d87cdcc0b19702b9bc61eda3076eb (patch)
tree1f1e974c9a87db1f48bb29258760f9c0dc01f75e
parent1de42953728f7f40d15659a9baafc866e65e16f7 (diff)
downloadbcm5719-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.td3
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}",
OpenPOWER on IntegriCloud