Remove an Darwin assembler workaround.

llvm-svn: 78777
This commit is contained in:
Evan Cheng 2009-08-12 01:56:42 +00:00
parent 1e6c2a1c17
commit 608d92c943
2 changed files with 2 additions and 16 deletions

View File

@ -786,21 +786,7 @@ def t2BFC : T2I<(outs GPR:$dst), (ins GPR:$src, bf_inv_mask_imm:$imm), IIC_iALU,
// FIXME: A8.6.18 BFI - Bitfield insert (Encoding T1)
/*
defm t2ORN : T2I_bin_irs<"orn", BinOpFrag<(or node:$LHS, (not node:$RHS))>>;
*/
// FIXME: Disable this pattern on Darwin to workaround an assembler bug.
def t2ORNri : T2sI<(outs GPR:$dst), (ins GPR:$lhs, t2_so_imm:$rhs), IIC_iALU,
"orn", " $dst, $lhs, $rhs",
[(set GPR:$dst, (or GPR:$lhs, (not t2_so_imm:$rhs)))]>,
Requires<[IsThumb2, IsNotDarwin]>;
def t2ORNrr : T2sI<(outs GPR:$dst), (ins GPR:$lhs, GPR:$rhs), IIC_iALU,
"orn", " $dst, $lhs, $rhs",
[(set GPR:$dst, (or GPR:$lhs, (not GPR:$rhs)))]>;
def t2ORNrs : T2sI<(outs GPR:$dst), (ins GPR:$lhs, t2_so_reg:$rhs), IIC_iALU,
"orn", " $dst, $lhs, $rhs",
[(set GPR:$dst, (or GPR:$lhs, (not t2_so_reg:$rhs)))]>;
// Prefer over of t2EORri ra, rb, -1 because mvn has 16-bit version
let AddedComplexity = 1 in
@ -813,7 +799,7 @@ def : T2Pat<(and GPR:$src, t2_so_imm_not:$imm),
// FIXME: Disable this pattern on Darwin to workaround an assembler bug.
def : T2Pat<(or GPR:$src, t2_so_imm_not:$imm),
(t2ORNri GPR:$src, t2_so_imm_not:$imm)>,
Requires<[IsThumb2, IsNotDarwin]>;
Requires<[IsThumb2]>;
def : T2Pat<(t2_so_imm_not:$src),
(t2MVNi t2_so_imm_not:$src)>;

View File

@ -1,4 +1,4 @@
; RUN: llvm-as < %s | llc -mtriple=thumb-linux -mattr=+thumb2 | grep {orn\\W*r\[0-9\]*,\\W*r\[0-9\]*,\\W*#\[0-9\]*} | grep {#187\\|#11141290\\|#3422604288\\|#1114112} | count 4
; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {orn\\W*r\[0-9\]*,\\W*r\[0-9\]*,\\W*#\[0-9\]*} | grep {#187\\|#11141290\\|#3422604288\\|#1114112} | count 4
; 0x000000bb = 187
define i32 @f1(i32 %a) {