mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-08 19:46:39 +00:00
Add note about a subtle bug in this code. Does not effect the main
architectures that LLVM targets, because they don't use this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90564 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
83563b24ce
commit
36236b76a4
@ -1180,6 +1180,8 @@ ExpandShiftWithUnknownAmountBit(SDNode *N, SDValue &Lo, SDValue &Hi) {
|
||||
LoS = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt);
|
||||
HiS = DAG.getNode(ISD::OR, dl, NVT,
|
||||
DAG.getNode(ISD::SHL, dl, NVT, InH, Amt),
|
||||
// FIXME: If Amt is zero, the following shift generates an undefined result
|
||||
// on some architectures.
|
||||
DAG.getNode(ISD::SRL, dl, NVT, InL, AmtLack));
|
||||
|
||||
// Long: ShAmt >= NVTBits
|
||||
@ -1194,6 +1196,8 @@ ExpandShiftWithUnknownAmountBit(SDNode *N, SDValue &Lo, SDValue &Hi) {
|
||||
HiS = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt);
|
||||
LoS = DAG.getNode(ISD::OR, dl, NVT,
|
||||
DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
|
||||
// FIXME: If Amt is zero, the following shift generates an undefined result
|
||||
// on some architectures.
|
||||
DAG.getNode(ISD::SHL, dl, NVT, InH, AmtLack));
|
||||
|
||||
// Long: ShAmt >= NVTBits
|
||||
@ -1208,6 +1212,8 @@ ExpandShiftWithUnknownAmountBit(SDNode *N, SDValue &Lo, SDValue &Hi) {
|
||||
HiS = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt);
|
||||
LoS = DAG.getNode(ISD::OR, dl, NVT,
|
||||
DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
|
||||
// FIXME: If Amt is zero, the following shift generates an undefined result
|
||||
// on some architectures.
|
||||
DAG.getNode(ISD::SHL, dl, NVT, InH, AmtLack));
|
||||
|
||||
// Long: ShAmt >= NVTBits
|
||||
|
Loading…
x
Reference in New Issue
Block a user