Displaying 4 results from an estimated 4 matches for "movccr".
2017 Jul 07
2
Lowering Select to Two Predicated Movs
My bad for not looking further. I'm still somewhat confused though. MOVCCr
gets expanded in the ARMExpandPseudoInsts pass, and it still seems only a
case of one instruction replacing the other.
My worry of emitting two instructions, is that a dead code pass will
eliminate the first instruction cause it thinks the second instruction is
defining the same register.
-Dilan...
2017 Jul 07
2
Lowering Select to Two Predicated Movs
Hi,
I was wondering what would be the best way to lower a select operation two
predicated movs. I looked through the ARM, MIPS, and NVPTX backends and
they all seem to lower a select to some sort of conditional move or native
select operation.
Ex.
select t3, cond, t2, t1
Becomes
cond mov t3, t2
!cond mov t3, t1
-Dilan
-------------- next part --------------
An HTML attachment was scrubbed...
2017 Jul 07
2
Lowering Select to Two Predicated Movs
...fter Register
Allocation and machine dead code elimination?
-Dilan
On Fri, Jul 7, 2017 at 12:37 PM Friedman, Eli <efriedma at codeaurora.org>
wrote:
> On 7/7/2017 12:10 PM, Dilan Manatunga wrote:
> > My bad for not looking further. I'm still somewhat confused though.
> > MOVCCr gets expanded in the ARMExpandPseudoInsts pass, and it still
> > seems only a case of one instruction replacing the other.
>
> The output of MOVCCr is tied to the "false" input using RegConstraint.
> The register allocator puts the "false" value into the destinati...
2011 Nov 17
0
[LLVMdev] Bug 1388
...bits<24> target;
let Inst{23-0} = target;
let DecoderMethod = "DecodeBranchImmInstruction";
}
// FIXME: should be able to write a pattern for ARMcmov, but can't use
// a two-value operand where a dag node expects two operands. :(
let neverHasSideEffects = 1 in {
def MOVCCr : ARMPseudoInst<(outs GPR:$Rd), (ins GPR:$false, GPR:$Rm, pred:$p),
4, IIC_iCMOVr,
[/*(set GPR:$Rd, (ARMcmov GPR:$false, GPR:$Rm, imm:$cc, CCR:$ccr))*/]>,
RegConstraint<"$false = $Rd">;
It would appear that ISelDAGToDag and ISelLowering have...