File tree Expand file tree Collapse file tree 1 file changed +4
-6
lines changed
llvm/lib/Transforms/Vectorize Expand file tree Collapse file tree 1 file changed +4
-6
lines changed Original file line number Diff line number Diff line change @@ -3146,13 +3146,11 @@ bool VectorCombine::foldInsExtVectorToShuffle(Instruction &I) {
31463146 return true ;
31473147}
31483148
3149+ // / If we're interleaving 2 constant splats, for instance `<vscale x 8 x i32>
3150+ // / <splat of 666>` and `<vscale x 8 x i32> <splat of 777>`, we can create a
3151+ // / larger splat `<vscale x 8 x i64> <splat of ((777 << 32) | 666)>` first
3152+ // / before casting it back into `<vscale x 16 x i32>`.
31493153bool VectorCombine::foldInterleaveIntrinsics (Instruction &I) {
3150- // If we're interleaving 2 constant splats, for instance `<vscale x 8 x i32>
3151- // <splat of 666>` and `<vscale x 8 x i32> <splat of 777>`, we can create a
3152- // larger splat
3153- // `<vscale x 8 x i64> <splat of ((777 << 32) | 666)>` first before casting it
3154- // back into `<vscale x 16 x i32>`.
3155- using namespace PatternMatch ;
31563154 const APInt *SplatVal0, *SplatVal1;
31573155 if (!match (&I, m_Intrinsic<Intrinsic::vector_interleave2>(
31583156 m_APInt (SplatVal0), m_APInt (SplatVal1))))
You can’t perform that action at this time.
0 commit comments