search for: t2bicrs

Displaying 3 results from an estimated 3 matches for "t2bicrs".

2009 Jun 26
0
[LLVMdev] bitwise AND selector node not commutative?
...iles. I can take a look > but I need a pointer to get started. No, isel is trying to commute the AND. See ARMGenDAGISel.inc (auto- generated by tablegen): // Pattern: (and:i32 GPR:i32:$lhs, (xor:i32 t2_so_reg:i32:$rhs, (imm:i32)<<P:Predicate_immAllOnes>>)) // Emits: (t2BICrs:i32 GPR:i32:$lhs, t2_so_reg:i32:$rhs) // Pattern complexity = 19 cost = 1 size = 0 { .. } // Pattern: (and:i32 (xor:i32 t2_so_reg:i32:$rhs, (imm:i32) <<P:Predicate_immAllOnes>>), GPR:i32:$lhs) // Emits: (t2BICrs:i32 GPR:i32:$lhs, t2_so_reg:i32:$rhs)...
2009 Jun 26
1
[LLVMdev] bitwise AND selector node not commutative?
...but I need a pointer to get started. > > No, isel is trying to commute the AND. See ARMGenDAGISel.inc (auto- > generated by tablegen): > > // Pattern: (and:i32 GPR:i32:$lhs, (xor:i32 t2_so_reg:i32:$rhs, > (imm:i32)<<P:Predicate_immAllOnes>>)) > // Emits: (t2BICrs:i32 GPR:i32:$lhs, t2_so_reg:i32:$rhs) > // Pattern complexity = 19 cost = 1 size = 0 > { > .. > } > > > // Pattern: (and:i32 (xor:i32 t2_so_reg:i32:$rhs, (imm:i32) > <<P:Predicate_immAllOnes>>), GPR:i32:$lhs) > // Emits: (t2BICrs:i...
2009 Jun 25
2
[LLVMdev] bitwise AND selector node not commutative?
Using the Thumb-2 target we see that ORN ( a | ^b) and BIC (a & ^b) have similar patterns, as we would expect: defm t2BIC : T2I_bin_irs<"bic", BinOpFrag<(and node:$LHS, (not node: $RHS))>>; defm t2ORN : T2I_bin_irs<"orn", BinOpFrag<(or node:$LHS, (not node: $RHS))>>; Compiling the following three works as expected: %tmp1 = xor i32