Provide normal 32 bit load and store
authorAnton Korobeynikov <asl@math.spbu.ru>
Thu, 16 Jul 2009 13:58:43 +0000 (13:58 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Thu, 16 Jul 2009 13:58:43 +0000 (13:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75963 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SystemZ/SystemZInstrInfo.td

index d1d9d2d670c747f119f1865fe3c81174af99c527..c194e7505f77e9c022dbd0d36084400c2aa70742 100644 (file)
@@ -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)]>;