search for: cmovlog

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

Did you mean: cloglog
2008 Sep 12
2
[LLVMdev] Selection Condition Codes
...; dag OutOperandList = outs; dag InOperandList = ins; let Pattern = pattern; let AsmString = asmstr; } def SDTGenTernaryOp : SDTypeProfile<1, 3, [ SDTCisSameAs<0, 1>,SDTCisSameAs<0, 2>, SDTCisSameAs<0, 3> ]>; def cmov_logical : SDNode<"INSTISD::CMOVLOG", SDTGenTernaryOp>; let PrintMethod = "printCCOperand" in def CCOp : Operand<i32>; def CMOVLOG : InstFormat<(outs GPR:$dst), (ins GPR:$LHS, GPR:$RHS, GPR:$TVAL, GPR:$FVAL, CCOp:$cond), "$cond $LHS, $LHS, $RHS\ncmov_logical...
2008 Sep 12
0
[LLVMdev] Selection Condition Codes
...want the select_cc > instruction to be lowered into a comparison followed by a conditional move. "setOperationAction(ISD::SELECT_CC , MVT::Other, Expand);" should do the trick; that will prevent SELECT_CC instructions from being introduced. This one is easy to miss. > def CMOVLOG : InstFormat<(outs GPR:$dst), (ins GPR:$LHS, GPR:$RHS, > GPR:$TVAL, GPR:$FVAL, CCOp:$cond), The condition isn't properly an input... this seems likely to confuse ISel. I'm not sure, though; I'm not really an expert on patterns, and they can mess up in non-obvious ways. >...
2008 Sep 12
2
[LLVMdev] Selection Condition Codes
...lag = MI->getOperand(3); CC = (INSTCC::CondCodes)MI->getOperand(3).getImm(); // Here I want to get the destination register of SET_CC instruction and place it as the first addReg TODO(Get setcc destination register); BuildMI(BB, TII.get(INST::CMOVLOG_32),Dst.getReg()).addReg(CCFlag.getImm()).addReg(T rueVal.getReg()).addReg(FalseVal.getReg()); } break; case INST::SET_CC: { MachineOperand Dst = MI->getOperand(0); MachineOperand LHS = MI->getOperand(1);...