mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-16 11:30:51 +00:00
Don't create a ridiculous EXTRACT_ELEMENT. PR10563.
The testcase looks extremely fragile, so I'm adding an assertion which should catch any cases like this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136711 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
96279d0eff
commit
6cdc1f43e6
@ -2884,6 +2884,7 @@ SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, EVT VT,
|
||||
assert(N2C && (unsigned)N2C->getZExtValue() < 2 && "Bad EXTRACT_ELEMENT!");
|
||||
assert(!N1.getValueType().isVector() && !VT.isVector() &&
|
||||
(N1.getValueType().isInteger() == VT.isInteger()) &&
|
||||
N1.getValueType() != VT &&
|
||||
"Wrong types for EXTRACT_ELEMENT!");
|
||||
|
||||
// EXTRACT_ELEMENT of BUILD_PAIR is often formed while legalize is expanding
|
||||
|
@ -7248,9 +7248,7 @@ SDValue X86TargetLowering::LowerUINT_TO_FP_i32(SDValue Op,
|
||||
|
||||
// Load the 32-bit value into an XMM register.
|
||||
SDValue Load = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v4i32,
|
||||
DAG.getNode(ISD::EXTRACT_ELEMENT, dl, MVT::i32,
|
||||
Op.getOperand(0),
|
||||
DAG.getIntPtrConstant(0)));
|
||||
Op.getOperand(0));
|
||||
|
||||
Load = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f64,
|
||||
DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Load),
|
||||
|
Loading…
Reference in New Issue
Block a user