Unfortunately I cannot produce a testcase for this as I would need an llvm constant expression that would fail to select via fast-isel. So far all my attempts at forcing this situation failed.
rdar://44642447
Differential D52335
AArch64FastISel: Abort intrinsic selection if the left operand didn't select MatzeB on Sep 20 2018, 6:30 PM. Authored by
Details Unfortunately I cannot produce a testcase for this as I would need an llvm constant expression that would fail to select via fast-isel. So far all my attempts at forcing this situation failed. rdar://44642447
Diff Detail
Event TimelineComment Actions I've had a go at producing an example too with no luck. The Constant involved on the breaking config is ridiculously complex (even after reduction): i32 or (i32 shl (i32 or (i32 shl (i32 or (i32 shl (i32 and (i32 ptrtoint ([19 x i8]* @0 to i32), i32 63), i32 8), i32 and (i32 lshr (i32 ptrtoint ([19 x i8]* @0 to i32), i32 6), i32 63)), i32 8), i32 and (i32 lshr (i32 lshr (i32 ptrtoint ([19 x i8]* @0 to i32), i32 6), i32 6), i32 63)), i32 8), i32 lshr (i32 lshr (i32 lshr (i32 ptrtoint ([19 x i8]* @0 to i32), i32 6), i32 6), i32 6)) And since the change is obviously right, I think you should go ahead. |