summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 13:58:43 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 13:58:43 +0000
commitc3170f52364e455dfbb185a88317a772ea45d6bf (patch)
tree854e18b9b977e2655e1de51b40c766d4116957c0
parentd568f6dce2ef3ea9d8e770c19f855f19e6e68d20 (diff)
downloadbcm5719-llvm-c3170f52364e455dfbb185a88317a772ea45d6bf.tar.gz
bcm5719-llvm-c3170f52364e455dfbb185a88317a772ea45d6bf.zip
Provide normal 32 bit load and store
llvm-svn: 75963
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrInfo.td6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
index d1d9d2d670c..c194e7505f7 100644
--- a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
+++ b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
@@ -392,12 +392,18 @@ def MOV64rihi32 : Pseudo<(outs GR64:$dst), (ins i64imm:$src),
}
let canFoldAsLoad = 1, isReMaterializable = 1, mayHaveSideEffects = 1 in {
+def MOV32rm : Pseudo<(outs GR32:$dst), (ins rriaddr:$src),
+ "ly\t{$dst, $src}",
+ [(set GR32:$dst, (load rriaddr:$src))]>;
def MOV64rm : Pseudo<(outs GR64:$dst), (ins rriaddr:$src),
"lg\t{$dst, $src}",
[(set GR64:$dst, (load rriaddr:$src))]>;
}
+def MOV32mr : Pseudo<(outs), (ins rriaddr:$dst, GR32:$src),
+ "sty\t{$src, $dst}",
+ [(store GR32:$src, rriaddr:$dst)]>;
def MOV64mr : Pseudo<(outs), (ins rriaddr:$dst, GR64:$src),
"stg\t{$src, $dst}",
[(store GR64:$src, rriaddr:$dst)]>;
OpenPOWER on IntegriCloud