setOperationAction(ISD::EXTRACT_SUBVECTOR, VT.getSimpleVT(), Expand);
setOperationAction(ISD::SELECT, VT.getSimpleVT(), Expand);
setOperationAction(ISD::SELECT_CC, VT.getSimpleVT(), Expand);
+ setOperationAction(ISD::ZERO_EXTEND, VT.getSimpleVT(), Expand);
if (VT.isInteger()) {
setOperationAction(ISD::SHL, VT.getSimpleVT(), Custom);
setOperationAction(ISD::SRA, VT.getSimpleVT(), Custom);
--- /dev/null
+; RUN: llc -march=arm -mattr=+neon -O2 -o /dev/null
+
+; This used to crash.
+define <4 x i32> @test1(<4 x i16> %a) {
+ %A = zext <4 x i16> %a to <4 x i32>
+ ret <4 x i32> %A
+}