diff options
author | Bill Wendling <isanbard@gmail.com> | 2010-12-16 00:38:41 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2010-12-16 00:38:41 +0000 |
commit | f5b17c32d2db8349c4ff45bf8e8a787d1b05534d (patch) | |
tree | f7ed5a1194061afe7c47040d4838d5c996f90d18 /llvm/lib | |
parent | 2b988fd7451bd59e9598c84f5bbc9425c45e28c0 (diff) | |
download | bcm5719-llvm-f5b17c32d2db8349c4ff45bf8e8a787d1b05534d.tar.gz bcm5719-llvm-f5b17c32d2db8349c4ff45bf8e8a787d1b05534d.zip |
Add encodings for Thumb1 Spill and Restore pseudos.
llvm-svn: 121929
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/ARMInstrThumb.td | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrThumb.td b/llvm/lib/Target/ARM/ARMInstrThumb.td index 2e8b46e8537..70aeb37eccc 100644 --- a/llvm/lib/Target/ARM/ARMInstrThumb.td +++ b/llvm/lib/Target/ARM/ARMInstrThumb.td @@ -694,7 +694,12 @@ let canFoldAsLoad = 1, mayLoad = 1, neverHasSideEffects = 1 in // FIXME: Pseudo for tLDRspi def tRestore : T1pIs<(outs tGPR:$dst), (ins t_addrmode_sp:$addr), IIC_iLoad_i, "ldr", "\t$dst, $addr", []>, - T1LdStSP<{1,?,?}>; + T1LdStSP<{1,?,?}> { + bits<3> Rt; + bits<8> addr; + let Inst{10-8} = Rt; + let Inst{7-0} = addr; +} // Load tconstpool // FIXME: Use ldr.n to work around a Darwin assembler bug. @@ -745,7 +750,12 @@ let mayStore = 1, neverHasSideEffects = 1 in // FIXME: Pseudo for tSTRspi def tSpill : T1pIs<(outs), (ins tGPR:$src, t_addrmode_sp:$addr), IIC_iStore_i, "str", "\t$src, $addr", []>, - T1LdStSP<{0,?,?}>; + T1LdStSP<{0,?,?}> { + bits<3> Rt; + bits<8> addr; + let Inst{10-8} = Rt; + let Inst{7-0} = addr; +} //===----------------------------------------------------------------------===// // Load / store multiple Instructions. |