summaryrefslogtreecommitdiff
path: root/lib/Target/SystemZ/SystemZInstrInfo.td
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
commite00f1a722ffc5e4b6d66757ddc6fa3070160f229 (patch)
tree42f238e722ce71153e1de581abd99ce198a7fdd9 /lib/Target/SystemZ/SystemZInstrInfo.td
parent22836d1b31e553ef3b60cede659889365aaf672a (diff)
downloadllvm-e00f1a722ffc5e4b6d66757ddc6fa3070160f229.tar.gz
llvm-e00f1a722ffc5e4b6d66757ddc6fa3070160f229.tar.bz2
llvm-e00f1a722ffc5e4b6d66757ddc6fa3070160f229.tar.xz
Provide normal 32 bit load and store
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75963 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrInfo.td')
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.td6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.td b/lib/Target/SystemZ/SystemZInstrInfo.td
index d1d9d2d670..c194e7505f 100644
--- a/lib/Target/SystemZ/SystemZInstrInfo.td
+++ b/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)]>;