search for: selectthumb2shifteroperandreg

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

2009 Jun 26
0
[LLVMdev] bitwise AND selector node not commutative?
...: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) // Pattern complexity = 19 cost = 1 size = 0 { ... } The second one is the commuted version. Looks like the issue is in SelectThumb2ShifterOperandReg. Evan > > David > > <RM_20_BIC.ll> > <RM_112_ORN.ll> > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev --------...
2009 Jun 26
1
[LLVMdev] bitwise AND selector node not commutative?
...; <<P:Predicate_immAllOnes>>), GPR:i32:$lhs) > // Emits: (t2BICrs:i32 GPR:i32:$lhs, t2_so_reg:i32:$rhs) > // Pattern complexity = 19 cost = 1 size = 0 > { > ... > } > > The second one is the commuted version. Looks like the issue is in > SelectThumb2ShifterOperandReg. Ugh. It should try to match t2BICrr. But someone tblgen is not generating the commuted version. Very strange. I'm take a look. Evan > > Evan > > >> >> David >> >> <RM_20_BIC.ll> >> <RM_112_ORN.ll> >> >> ____________________...
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