mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-23 17:32:49 +00:00
Fix problems with non-x86 targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19738 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a7306db5f7
commit
27ff112948
@ -902,7 +902,7 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
|
||||
// SAR. However, it is doubtful that any exist.
|
||||
unsigned BitsDiff = MVT::getSizeInBits(Node->getValueType(0)) -
|
||||
MVT::getSizeInBits(ExtraVT);
|
||||
SDOperand ShiftCst = DAG.getConstant(BitsDiff, MVT::i8);
|
||||
SDOperand ShiftCst = DAG.getConstant(BitsDiff, TLI.getShiftAmountTy());
|
||||
Result = DAG.getNode(ISD::SHL, Node->getValueType(0),
|
||||
Node->getOperand(0), ShiftCst);
|
||||
Result = DAG.getNode(ISD::SRA, Node->getValueType(0),
|
||||
@ -1302,7 +1302,6 @@ bool SelectionDAGLegalize::ExpandShift(unsigned Opc, SDOperand Op,SDOperand Amt,
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// ExpandLibCall - Expand a node into a call to a libcall. If the result value
|
||||
// does not fit into a register, return the lo part and set the hi part to the
|
||||
// by-reg argument. If it does fit into a single register, return the result
|
||||
@ -1518,7 +1517,8 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
|
||||
// The high part is obtained by SRA'ing all but one of the bits of the lo
|
||||
// part.
|
||||
unsigned LoSize = MVT::getSizeInBits(Lo.getValueType());
|
||||
Hi = DAG.getNode(ISD::SRA, NVT, Lo, DAG.getConstant(LoSize-1, MVT::i8));
|
||||
Hi = DAG.getNode(ISD::SRA, NVT, Lo, DAG.getConstant(LoSize-1,
|
||||
TLI.getShiftAmountTy()));
|
||||
break;
|
||||
}
|
||||
case ISD::ZERO_EXTEND:
|
||||
|
Loading…
x
Reference in New Issue
Block a user