Displaying 3 results from an estimated 3 matches for "expandshiftwithknownamountbit".
Did you mean:
expandshiftwithunknownamountbit
2009 Dec 01
2
[LLVMdev] Possible bug in ExpandShiftWithUnknownAmountBit
...called. Below is the
execution of DAGTypeLegalizer::ExpandIntRes_Shift() using my example
showing how ExpandShiftWithUnknownAmountBit gets called. My email is about
the logic of this function.
if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N->getOperand(1))) { <==
False
...
}
if (ExpandShiftWithKnownAmountBit(N, Lo, Hi)) { <== The call returns False
...
}
if (N->getOpcode() == ISD::SHL) { <== Branch taken
PartsOpc = ISD::SHL_PARTS;
} else if (N->getOpcode() == ISD::SRL) {
...
} else {
...
}
if ((Action == TargetLowering::Legal && TLI.isTypeLegal(NVT)) ||
Action == T...
2009 Dec 01
0
[LLVMdev] Possible bug in ExpandShiftWithUnknownAmountBit
Hi Javier,
> The problem is the implementation of the expansion. Perhaps an example
> can help illustrate better. Take the case of a 64-bit integer shifted
> left by say 6 bits and is decomposed using 32-bit registers. Because 6
> is less than the 32 (the register size) the resulting low part should be
> equal to the source low part shifted left by 6 bits. The current
>
2009 Dec 01
2
[LLVMdev] Possible bug in ExpandShiftWithUnknownAmountBit
Hi Duncan,
The problem is the implementation of the expansion. Perhaps an example
can help illustrate better. Take the case of a 64-bit integer shifted
left by say 6 bits and is decomposed using 32-bit registers. Because 6
is less than the 32 (the register size) the resulting low part should be
equal to the source low part shifted left by 6 bits. The current
implementation places a zero