Lines Matching refs:ib
114 void mlir::x86vector::avx2::transpose4x8xf32(ImplicitLocOpBuilder &ib, in transpose4x8xf32() argument
117 auto vt = VectorType::get({8}, Float32Type::get(ib.getContext())); in transpose4x8xf32()
124 Value t0 = mm256UnpackLoPs(ib, vs[0], vs[1]); in transpose4x8xf32()
125 Value t1 = mm256UnpackHiPs(ib, vs[0], vs[1]); in transpose4x8xf32()
126 Value t2 = mm256UnpackLoPs(ib, vs[2], vs[3]); in transpose4x8xf32()
127 Value t3 = mm256UnpackHiPs(ib, vs[2], vs[3]); in transpose4x8xf32()
128 Value s0 = mm256ShufflePs(ib, t0, t2, MaskHelper::shuffle<1, 0, 1, 0>()); in transpose4x8xf32()
129 Value s1 = mm256ShufflePs(ib, t0, t2, MaskHelper::shuffle<3, 2, 3, 2>()); in transpose4x8xf32()
130 Value s2 = mm256ShufflePs(ib, t1, t3, MaskHelper::shuffle<1, 0, 1, 0>()); in transpose4x8xf32()
131 Value s3 = mm256ShufflePs(ib, t1, t3, MaskHelper::shuffle<3, 2, 3, 2>()); in transpose4x8xf32()
132 vs[0] = mm256Permute2f128Ps(ib, s0, s1, MaskHelper::permute<2, 0>()); in transpose4x8xf32()
133 vs[1] = mm256Permute2f128Ps(ib, s2, s3, MaskHelper::permute<2, 0>()); in transpose4x8xf32()
134 vs[2] = mm256Permute2f128Ps(ib, s0, s1, MaskHelper::permute<3, 1>()); in transpose4x8xf32()
135 vs[3] = mm256Permute2f128Ps(ib, s2, s3, MaskHelper::permute<3, 1>()); in transpose4x8xf32()
139 void mlir::x86vector::avx2::transpose8x8xf32(ImplicitLocOpBuilder &ib, in transpose8x8xf32() argument
141 auto vt = VectorType::get({8}, Float32Type::get(ib.getContext())); in transpose8x8xf32()
148 Value t0 = mm256UnpackLoPs(ib, vs[0], vs[1]); in transpose8x8xf32()
149 Value t1 = mm256UnpackHiPs(ib, vs[0], vs[1]); in transpose8x8xf32()
150 Value t2 = mm256UnpackLoPs(ib, vs[2], vs[3]); in transpose8x8xf32()
151 Value t3 = mm256UnpackHiPs(ib, vs[2], vs[3]); in transpose8x8xf32()
152 Value t4 = mm256UnpackLoPs(ib, vs[4], vs[5]); in transpose8x8xf32()
153 Value t5 = mm256UnpackHiPs(ib, vs[4], vs[5]); in transpose8x8xf32()
154 Value t6 = mm256UnpackLoPs(ib, vs[6], vs[7]); in transpose8x8xf32()
155 Value t7 = mm256UnpackHiPs(ib, vs[6], vs[7]); in transpose8x8xf32()
158 Value sh0 = mm256ShufflePs(ib, t0, t2, MaskHelper::shuffle<1, 0, 3, 2>()); in transpose8x8xf32()
159 Value sh2 = mm256ShufflePs(ib, t1, t3, MaskHelper::shuffle<1, 0, 3, 2>()); in transpose8x8xf32()
160 Value sh4 = mm256ShufflePs(ib, t4, t6, MaskHelper::shuffle<1, 0, 3, 2>()); in transpose8x8xf32()
161 Value sh6 = mm256ShufflePs(ib, t5, t7, MaskHelper::shuffle<1, 0, 3, 2>()); in transpose8x8xf32()
164 mm256BlendPsAsm(ib, t0, sh0, MaskHelper::blend<0, 0, 1, 1, 0, 0, 1, 1>()); in transpose8x8xf32()
166 mm256BlendPsAsm(ib, t2, sh0, MaskHelper::blend<1, 1, 0, 0, 1, 1, 0, 0>()); in transpose8x8xf32()
168 mm256BlendPsAsm(ib, t1, sh2, MaskHelper::blend<0, 0, 1, 1, 0, 0, 1, 1>()); in transpose8x8xf32()
170 mm256BlendPsAsm(ib, t3, sh2, MaskHelper::blend<1, 1, 0, 0, 1, 1, 0, 0>()); in transpose8x8xf32()
172 mm256BlendPsAsm(ib, t4, sh4, MaskHelper::blend<0, 0, 1, 1, 0, 0, 1, 1>()); in transpose8x8xf32()
174 mm256BlendPsAsm(ib, t6, sh4, MaskHelper::blend<1, 1, 0, 0, 1, 1, 0, 0>()); in transpose8x8xf32()
176 mm256BlendPsAsm(ib, t5, sh6, MaskHelper::blend<0, 0, 1, 1, 0, 0, 1, 1>()); in transpose8x8xf32()
178 mm256BlendPsAsm(ib, t7, sh6, MaskHelper::blend<1, 1, 0, 0, 1, 1, 0, 0>()); in transpose8x8xf32()
180 vs[0] = mm256Permute2f128Ps(ib, s0, s4, MaskHelper::permute<2, 0>()); in transpose8x8xf32()
181 vs[1] = mm256Permute2f128Ps(ib, s1, s5, MaskHelper::permute<2, 0>()); in transpose8x8xf32()
182 vs[2] = mm256Permute2f128Ps(ib, s2, s6, MaskHelper::permute<2, 0>()); in transpose8x8xf32()
183 vs[3] = mm256Permute2f128Ps(ib, s3, s7, MaskHelper::permute<2, 0>()); in transpose8x8xf32()
184 vs[4] = mm256Permute2f128Ps(ib, s0, s4, MaskHelper::permute<3, 1>()); in transpose8x8xf32()
185 vs[5] = mm256Permute2f128Ps(ib, s1, s5, MaskHelper::permute<3, 1>()); in transpose8x8xf32()
186 vs[6] = mm256Permute2f128Ps(ib, s2, s6, MaskHelper::permute<3, 1>()); in transpose8x8xf32()
187 vs[7] = mm256Permute2f128Ps(ib, s3, s7, MaskHelper::permute<3, 1>()); in transpose8x8xf32()
284 ImplicitLocOpBuilder ib(loc, rewriter); in matchAndRewrite() local
293 ib.create<vector::ShapeCastOp>(flattenedType, op.getVector()); in matchAndRewrite()
294 reshInput = ib.create<vector::ShapeCastOp>(reshInputType, reshInput); in matchAndRewrite()
299 vs.push_back(ib.create<vector::ExtractOp>(reshInput, i)); in matchAndRewrite()
303 transpose4x8xf32(ib, vs); in matchAndRewrite()
305 transpose8x8xf32(ib, vs); in matchAndRewrite()
309 Value res = ib.create<arith::ConstantOp>(reshInputType, in matchAndRewrite()
310 ib.getZeroAttr(reshInputType)); in matchAndRewrite()
312 res = ib.create<vector::InsertOp>(vs[i], res, i); in matchAndRewrite()
317 res = ib.create<vector::ShapeCastOp>(flattenedType, res); in matchAndRewrite()
318 res = ib.create<vector::ShapeCastOp>(op.getResultType(), res); in matchAndRewrite()