diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2009-06-06 06:32:50 +0000 |
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2009-06-06 06:32:50 +0000 |
| commit | 75c496f920fd3af2509bde22a9e1844f1d3bffd1 (patch) | |
| tree | e68e9e6298dc0f37c4007c4315e4599ce6b17d79 /llvm/lib/Target/X86/X86ISelLowering.cpp | |
| parent | 8667990cdf3327e8d12a93772c6d3899a4d1f282 (diff) | |
| download | bcm5719-llvm-75c496f920fd3af2509bde22a9e1844f1d3bffd1.tar.gz bcm5719-llvm-75c496f920fd3af2509bde22a9e1844f1d3bffd1.zip | |
Avoid crashing on a variable-index insertelement with element type i16.
llvm-svn: 72991
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index ec6a5bad5b7..ef60ff5e092 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -4272,7 +4272,7 @@ X86TargetLowering::LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) { SDValue N1 = Op.getOperand(1); SDValue N2 = Op.getOperand(2); - if (EVT.getSizeInBits() == 16) { + if (EVT.getSizeInBits() == 16 && isa<ConstantSDNode>(N2)) { // Transform it so it match pinsrw which expects a 16-bit value in a GR32 // as its second argument. if (N1.getValueType() != MVT::i32) |

