Closed Quuxplusone closed 7 years ago
Attached DAGTypeLegalizer_crash.ll
(3313 bytes, text/plain): test case
The type action for v4i1 is TypePromoteInteger on SystemZ, to promote it to v4i32, so we call PromoteIntRes_TRUNCATE. That's working as expected.
I guess you're hitting the unreachable because the action for the operand is TypeWidenVector? (IIRC, this code was written before widening vectors was supported). You probably just need to add a case for it: widen the operand, produce a new truncate to the right element type, then extract_subvector the low elements, or something like that.
Please have a look at https://reviews.llvm.org/D31077
r298357
DAGTypeLegalizer_crash.ll
(3313 bytes, text/plain)