aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Goodwin <david_goodwin@apple.com>2009-07-30 21:38:40 +0000
committerDavid Goodwin <david_goodwin@apple.com>2009-07-30 21:38:40 +0000
commit1f69767d5bffd998b94d2b52b6c1a421dab4e732 (patch)
treeebc0b5530fc1bdc07ccad09d7da528c996aa7d78
parent476518acc7d657131bab34d96554adfb2800ed89 (diff)
downloadexternal_llvm-1f69767d5bffd998b94d2b52b6c1a421dab4e732.zip
external_llvm-1f69767d5bffd998b94d2b52b6c1a421dab4e732.tar.gz
external_llvm-1f69767d5bffd998b94d2b52b6c1a421dab4e732.tar.bz2
Darwin assembler now supports "rrx", so remove workaround.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77625 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMInstrThumb2.td3
-rw-r--r--test/CodeGen/Thumb2/thumb2-lsr3.ll4
2 files changed, 3 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td
index 3ae9fbc..15245c3 100644
--- a/lib/Target/ARM/ARMInstrThumb2.td
+++ b/lib/Target/ARM/ARMInstrThumb2.td
@@ -719,9 +719,8 @@ defm t2LSR : T2I_sh_ir<"lsr", BinOpFrag<(srl node:$LHS, node:$RHS)>>;
defm t2ASR : T2I_sh_ir<"asr", BinOpFrag<(sra node:$LHS, node:$RHS)>>;
defm t2ROR : T2I_sh_ir<"ror", BinOpFrag<(rotr node:$LHS, node:$RHS)>>;
-// FIXME should be "rrx $dst,$src" once <rdar://problem/7098328> is fixed
def t2MOVrx : T2sI<(outs GPR:$dst), (ins GPR:$src),
- "mov", ".w $dst, $src, rrx",
+ "rrx", ".w $dst, $src",
[(set GPR:$dst, (ARMrrx GPR:$src))]>;
let Defs = [CPSR] in {
diff --git a/test/CodeGen/Thumb2/thumb2-lsr3.ll b/test/CodeGen/Thumb2/thumb2-lsr3.ll
index a3f7a1a..9bc4b5b 100644
--- a/test/CodeGen/Thumb2/thumb2-lsr3.ll
+++ b/test/CodeGen/Thumb2/thumb2-lsr3.ll
@@ -2,7 +2,7 @@
define i1 @test1(i64 %poscnt, i32 %work) {
entry:
-; CHECK: mov.w r0, r0, rrx
+; CHECK: rrx r0, r0
; CHECK: lsrs.w r1, r1, #1
%0 = lshr i64 %poscnt, 1
%1 = icmp eq i64 %0, 0
@@ -11,7 +11,7 @@ entry:
define i1 @test2(i64 %poscnt, i32 %work) {
entry:
-; CHECK: mov.w r0, r0, rrx
+; CHECK: rrx r0, r0
; CHECK: asrs.w r1, r1, #1
%0 = ashr i64 %poscnt, 1
%1 = icmp eq i64 %0, 0