diff options
| author | David Goodwin <david_goodwin@apple.com> | 2009-07-28 17:06:49 +0000 |
|---|---|---|
| committer | David Goodwin <david_goodwin@apple.com> | 2009-07-28 17:06:49 +0000 |
| commit | e82862e24ef882dacef845d4f41ab0cdeedc5be9 (patch) | |
| tree | e4868607de35b981fb0add2925ec73b0bf43779c /llvm/lib/Target/ARM | |
| parent | bc79816f287c087b635d04d3e96a783020d58d42 (diff) | |
| download | bcm5719-llvm-e82862e24ef882dacef845d4f41ab0cdeedc5be9.tar.gz bcm5719-llvm-e82862e24ef882dacef845d4f41ab0cdeedc5be9.zip | |
Add Thumb-2 patterns for ARMsrl_flag and ARMsra_flag.
llvm-svn: 77329
Diffstat (limited to 'llvm/lib/Target/ARM')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrThumb2.td | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrThumb2.td b/llvm/lib/Target/ARM/ARMInstrThumb2.td index 1126be44220..2affa6389c6 100644 --- a/llvm/lib/Target/ARM/ARMInstrThumb2.td +++ b/llvm/lib/Target/ARM/ARMInstrThumb2.td @@ -715,9 +715,18 @@ defm t2ASR : T2I_sh_ir<"asr", BinOpFrag<(sra node:$LHS, node:$RHS)>>; defm t2ROR : T2I_sh_ir<"ror", BinOpFrag<(rotr node:$LHS, node:$RHS)>>; def t2MOVrx : T2sI<(outs GPR:$dst), (ins GPR:$src), - "mov", " $dst, $src, rrx", + "rrx", " $dst, $src", [(set GPR:$dst, (ARMrrx GPR:$src))]>; +let Defs = [CPSR] in { +def t2MOVsrl_flag : T2XI<(outs GPR:$dst), (ins GPR:$src), + "lsrs.w $dst, $src, #1", + [(set GPR:$dst, (ARMsrl_flag GPR:$src))]>; +def t2MOVsra_flag : T2XI<(outs GPR:$dst), (ins GPR:$src), + "asrs.w $dst, $src, #1", + [(set GPR:$dst, (ARMsra_flag GPR:$src))]>; +} + //===----------------------------------------------------------------------===// // Bitwise Instructions. // |

