Lines Matching refs:SIMD
41 …auto mask = As<SIMD::UInt>(state->activeLaneMask()); // Considers helper invocations active. See … in BinaryOperation()
43 SIMD::UInt v_uint = (value.UInt(i) & mask) | (As<SIMD::UInt>(identity) & ~mask); in BinaryOperation()
81 …static_assert(SIMD::Width == 4, "EmitGroupNonUniform makes many assumptions that the SIMD vector w… in EmitGroupNonUniform()
96 …SIMD::Int active = state->activeLaneMask(); // Considers helper invocations active. See b/1511370… in EmitGroupNonUniform()
99 auto v0111 = SIMD::Int(0, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF); in EmitGroupNonUniform()
108 …dst.move(0, AndAll(predicate.UInt(0) | ~As<SIMD::UInt>(state->activeLaneMask()))); // Considers h… in EmitGroupNonUniform()
115 …dst.move(0, OrAll(predicate.UInt(0) & As<SIMD::UInt>(state->activeLaneMask()))); // Considers hel… in EmitGroupNonUniform()
122 auto res = SIMD::UInt(0xffffffff); in EmitGroupNonUniform()
123 …SIMD::UInt active = As<SIMD::UInt>(state->activeLaneMask()); // Considers helper invocations acti… in EmitGroupNonUniform()
124 SIMD::UInt inactive = ~active; in EmitGroupNonUniform()
127 SIMD::UInt v = value.UInt(i) & active; in EmitGroupNonUniform()
128 SIMD::UInt filled = v; in EmitGroupNonUniform()
129 for(int j = 0; j < SIMD::Width - 1; j++) in EmitGroupNonUniform()
149 auto id = SIMD::Int(GetConstScalarInt(insn.word(5))); in EmitGroupNonUniform()
150 auto mask = CmpEQ(id, SIMD::Int(0, 1, 2, 3)); in EmitGroupNonUniform()
160 …SIMD::UInt active = As<SIMD::UInt>(state->activeLaneMask()); // Considers helper invocations acti… in EmitGroupNonUniform()
161 SIMD::UInt inactive = ~active; in EmitGroupNonUniform()
162 SIMD::UInt filled = id.UInt(0) & active; in EmitGroupNonUniform()
164 for(int j = 0; j < SIMD::Width - 1; j++) in EmitGroupNonUniform()
169 auto mask = CmpEQ(filled, SIMD::UInt(0, 1, 2, 3)); in EmitGroupNonUniform()
185 …SIMD::Int active = state->activeLaneMask(); // Considers helper invocations active. See b/1511370… in EmitGroupNonUniform()
188 auto v0111 = SIMD::Int(0, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF); in EmitGroupNonUniform()
201 …dst.move(0, SIMD::Int(SignMask(state->activeLaneMask() & predicate.Int(0)))); // Considers helper… in EmitGroupNonUniform()
202 dst.move(1, SIMD::Int(0)); in EmitGroupNonUniform()
203 dst.move(2, SIMD::Int(0)); in EmitGroupNonUniform()
204 dst.move(3, SIMD::Int(0)); in EmitGroupNonUniform()
214 auto bit = (value.Int(0) >> SIMD::Int(0, 1, 2, 3)) & SIMD::Int(1); in EmitGroupNonUniform()
228 auto vecIdx = index.Int(0) / SIMD::Int(32); in EmitGroupNonUniform()
229 auto bitIdx = index.Int(0) & SIMD::Int(31); in EmitGroupNonUniform()
230 auto bits = (value.Int(0) & CmpEQ(vecIdx, SIMD::Int(0))) | in EmitGroupNonUniform()
231 (value.Int(1) & CmpEQ(vecIdx, SIMD::Int(1))) | in EmitGroupNonUniform()
232 (value.Int(2) & CmpEQ(vecIdx, SIMD::Int(2))) | in EmitGroupNonUniform()
233 (value.Int(3) & CmpEQ(vecIdx, SIMD::Int(3))); in EmitGroupNonUniform()
234 dst.move(0, -((bits >> bitIdx) & SIMD::Int(1))); in EmitGroupNonUniform()
248 dst.move(0, CountBits(value.UInt(0) & SIMD::UInt(15))); in EmitGroupNonUniform()
251 dst.move(0, CountBits(value.UInt(0) & SIMD::UInt(1, 3, 7, 15))); in EmitGroupNonUniform()
254 dst.move(0, CountBits(value.UInt(0) & SIMD::UInt(0, 1, 3, 7))); in EmitGroupNonUniform()
268 dst.move(0, Cttz(value.UInt(0) & SIMD::UInt(15), true)); in EmitGroupNonUniform()
278 dst.move(0, SIMD::UInt(31) - Ctlz(value.UInt(0) & SIMD::UInt(15), false)); in EmitGroupNonUniform()
286 auto x = CmpEQ(SIMD::Int(0), id.Int(0)); in EmitGroupNonUniform()
287 auto y = CmpEQ(SIMD::Int(1), id.Int(0)); in EmitGroupNonUniform()
288 auto z = CmpEQ(SIMD::Int(2), id.Int(0)); in EmitGroupNonUniform()
289 auto w = CmpEQ(SIMD::Int(3), id.Int(0)); in EmitGroupNonUniform()
292 SIMD::Int v = value.Int(i); in EmitGroupNonUniform()
302 auto x = CmpEQ(SIMD::Int(0), SIMD::Int(0, 1, 2, 3) ^ mask.Int(0)); in EmitGroupNonUniform()
303 auto y = CmpEQ(SIMD::Int(1), SIMD::Int(0, 1, 2, 3) ^ mask.Int(0)); in EmitGroupNonUniform()
304 auto z = CmpEQ(SIMD::Int(2), SIMD::Int(0, 1, 2, 3) ^ mask.Int(0)); in EmitGroupNonUniform()
305 auto w = CmpEQ(SIMD::Int(3), SIMD::Int(0, 1, 2, 3) ^ mask.Int(0)); in EmitGroupNonUniform()
308 SIMD::Int v = value.Int(i); in EmitGroupNonUniform()
318 auto d0 = CmpEQ(SIMD::Int(0), delta.Int(0)); in EmitGroupNonUniform()
319 auto d1 = CmpEQ(SIMD::Int(1), delta.Int(0)); in EmitGroupNonUniform()
320 auto d2 = CmpEQ(SIMD::Int(2), delta.Int(0)); in EmitGroupNonUniform()
321 auto d3 = CmpEQ(SIMD::Int(3), delta.Int(0)); in EmitGroupNonUniform()
324 SIMD::Int v = value.Int(i); in EmitGroupNonUniform()
334 auto d0 = CmpEQ(SIMD::Int(0), delta.Int(0)); in EmitGroupNonUniform()
335 auto d1 = CmpEQ(SIMD::Int(1), delta.Int(0)); in EmitGroupNonUniform()
336 auto d2 = CmpEQ(SIMD::Int(2), delta.Int(0)); in EmitGroupNonUniform()
337 auto d3 = CmpEQ(SIMD::Int(3), delta.Int(0)); in EmitGroupNonUniform()
340 SIMD::Int v = value.Int(i); in EmitGroupNonUniform()
347 Impl::Group::BinaryOperation<SIMD::Int>( in EmitGroupNonUniform()
353 Impl::Group::BinaryOperation<SIMD::Float>( in EmitGroupNonUniform()
359 Impl::Group::BinaryOperation<SIMD::Int>( in EmitGroupNonUniform()
365 Impl::Group::BinaryOperation<SIMD::Float>( in EmitGroupNonUniform()
371 Impl::Group::BinaryOperation<SIMD::UInt>( in EmitGroupNonUniform()
377 Impl::Group::BinaryOperation<SIMD::UInt>( in EmitGroupNonUniform()
383 Impl::Group::BinaryOperation<SIMD::UInt>( in EmitGroupNonUniform()
389 Impl::Group::BinaryOperation<SIMD::Int>( in EmitGroupNonUniform()
395 Impl::Group::BinaryOperation<SIMD::UInt>( in EmitGroupNonUniform()
401 Impl::Group::BinaryOperation<SIMD::Float>( in EmitGroupNonUniform()
402 this, insn, state, dst, SIMD::Float::infinity(), in EmitGroupNonUniform()
407 Impl::Group::BinaryOperation<SIMD::Int>( in EmitGroupNonUniform()
413 Impl::Group::BinaryOperation<SIMD::UInt>( in EmitGroupNonUniform()
419 Impl::Group::BinaryOperation<SIMD::Float>( in EmitGroupNonUniform()
420 this, insn, state, dst, -SIMD::Float::infinity(), in EmitGroupNonUniform()
425 Impl::Group::BinaryOperation<SIMD::UInt>( in EmitGroupNonUniform()
428 SIMD::UInt zero = SIMD::UInt(0); in EmitGroupNonUniform()
434 Impl::Group::BinaryOperation<SIMD::UInt>( in EmitGroupNonUniform()
437 SIMD::UInt zero = SIMD::UInt(0); in EmitGroupNonUniform()
443 Impl::Group::BinaryOperation<SIMD::UInt>( in EmitGroupNonUniform()
446 SIMD::UInt zero = SIMD::UInt(0); in EmitGroupNonUniform()