Home
last modified time | relevance | path

Searched refs:blend (Results 1 – 25 of 39) sorted by relevance

12

/llvm-project-15.0.7/llvm/test/CodeGen/X86/
H A Dcombine-avx-intrinsics.ll9 %1 = call <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double> %a0, <4 x double> %a0, i32 7)
17 %1 = call <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float> %a0, <8 x float> %a0, i32 7)
25 %1 = call <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double> %a0, <4 x double> %a1, i32 0)
33 %1 = call <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float> %a0, <8 x float> %a1, i32 0)
42 %1 = call <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double> %a0, <4 x double> %a1, i32 -1)
51 %1 = call <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float> %a0, <8 x float> %a1, i32 -1)
55 declare <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double>, <4 x double>, i32)
56 declare <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float>, <8 x float>, i32)
H A Dcommuted-blend-mask.ll4 ; When commuting the operands of a SSE blend, make sure that the resulting blend
H A Davx-win64.ll19 ; CHECK: blend
36 …%blend.i52 = call <8 x float> @llvm.x86.avx.blendv.ps.256(<8 x float> %x, <8 x float> %binop33, <8…
40 %0 = phi <8 x float> [ %x, %allocas ], [ %blend.i52, %safe_if_run_false ]
H A Dcommute-blend-avx2.ll65 %2 = call <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float> %1, <8 x float> %a, i8 7)
68 declare <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float>, <8 x float>, i8) nounwind readnone
87 %2 = call <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double> %1, <4 x double> %a, i8 7)
90 declare <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double>, <4 x double>, i8) nounwind readnone
H A Dvec_uint_to_fp.ll54 ; Currently we commute the arguments of the first blend, but this could be
55 ; improved to match the lowering of the second blend.
132 ; The operands of the blend are inverted because we reuse xmm1
H A Dvec_uint_to_fp-fastmath.ll55 ; Currently we commute the arguments of the first blend, but this could be
56 ; improved to match the lowering of the second blend.
150 ; The operands of the blend are inverted because we reuse xmm1
H A Davx-cast.ll5 ; Prefer a blend instruction to a vinsert128 instruction because blends
H A Dvselect-avx.ll9 ; we would lower that into a blend where only the high bit is relevant.
36 ; When shrinking the condition used into the select to match a blend, this
74 ; For this test, we used to optimized the conditional mask for the blend, i.e.,
H A Dlower-vec-shift.ll7 ; a blend. On pre-avx2 targets, instead of scalarizing logical and arithmetic
9 ; emit a simpler sequence of two shifts + blend when possible.
H A D2011-10-19-widen_vselect.ll6 ; we are able to generate vector blend instructions.
H A Davx-intrinsics-x86-upgrade.ll7 ; We don't check any vinsertf128 variant with immediate 0 because that's just a blend.
84 ; of a vinsertf128 $0 which should be optimized into a blend, so just check that it's
235 …%res = call <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double> %a0, <4 x double> %a1, i32 7) ; <…
238 declare <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double>, <4 x double>, i32) nounwind readnone
247 …%res = call <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float> %a0, <8 x float> %a1, i32 7) ; <<8 …
250 declare <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float>, <8 x float>, i32) nounwind readnone
H A Dcombine-and.ll22 ; Verify that the DAGCombiner is able to fold a vector AND into a blend
H A Dvector-blend.ll518 ; If we can figure out a blend has a constant mask, we should emit the
519 ; blend instruction with an immediate mask
641 ;; 4 tests for shufflevectors that optimize to blend + immediate
H A Dcombine-or.ll22 ; instruction which performs a blend operation.
298 ; bitcast to use the mask-or blend combine.
/llvm-project-15.0.7/llvm/test/Transforms/InstCombine/
H A Dselect-select.ll56 %r = select <4 x i1> %cmp, <4 x i8> %blend, <4 x i8> %x
69 %r = select <5 x i1> %cmp, <5 x i9> %blend, <5 x i9> %y
80 %r = select <4 x i1> %cmp, <4 x float> %x, <4 x float> %blend
93 %r = select i1 %cmp, <4 x i8> %y, <4 x i8> %blend
109 call void @use(<4 x i8> %blend)
110 %r = select <4 x i1> %cmp, <4 x i8> %blend, <4 x i8> %x
123 %r = select <4 x i1> %cmp, <4 x i8> %blend, <4 x i8> %y
149 %r = select <4 x i1> %cmp, <4 x i8> %z, <4 x i8> %blend
161 %blend = shufflevector <4 x i8> %x, <4 x i8> %y, <2 x i32> <i32 0, i32 5>
162 %r = select <2 x i1> %cmp, <2 x i8> %blend, <2 x i8> %x2
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/X86Vector/Transforms/
H A DAVXTranspose.cpp164 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()
/llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/
H A Duniform-blend.ll40 %blend = phi i16 [ undef, %loop.header ], [ %iv.trunc.2, %loop.next ]
41 %dst.ptr = getelementptr inbounds [32 x i16], [32 x i16]* @dst, i16 0, i16 %blend
84 %blend = phi i64 [ undef, %loop.header ], [ %iv, %loop.next ]
85 %dst.ptr = getelementptr inbounds [32 x i16], [32 x i16]* @dst, i16 0, i64 %blend
142 %blend.1 = phi i64 [ undef, %loop.next ], [ %iv, %loop.next.2 ]
146 %blend = phi i64 [ undef, %loop.header ], [ %blend.1, %loop.next.3 ]
147 %dst.ptr = getelementptr inbounds [32 x i16], [32 x i16]* @dst, i16 0, i64 %blend
H A Dsingle-value-blend-phis.ll51 %blend = phi i16 [ %iv.trunc, %loop.header ]
52 %src.ptr = getelementptr inbounds [32 x i16], [32 x i16]* @src, i16 0, i16 %blend
122 %blend = phi i16 [ %iv.trunc, %loop.header ]
123 %src.ptr = getelementptr inbounds [32 x i16], [32 x i16]* @src, i16 0, i16 %blend
196 %blend = phi i16 [ %iv.trunc, %loop.header ], [ %iv.trunc.2, %loop.next ]
197 %src.ptr = getelementptr inbounds [32 x i16], [32 x i16]* @src, i16 0, i16 %blend
274 %blend = phi i16 [ %iv.trunc, %loop.header ]
275 %src.ptr = getelementptr inbounds [32 x i16], [32 x i16]* @src, i16 0, i16 %blend
H A Dtail-folding-counting-down.ll65 %blend = phi i32 [ 13, %then ], [ 12, %else ]
66 %trunc = trunc i32 %blend to i8
/llvm-project-15.0.7/llvm/docs/
H A DPointerAuth.md52 discriminator (an integer, an address, or a blend of the two).
199 #### '``llvm.ptrauth.blend``'
204 declare i64 @llvm.ptrauth.blend(i64 <address discriminator>, i64 <integer discriminator>)
209 The '``llvm.ptrauth.blend``' intrinsic blends a pointer address discriminator
220 The '``llvm.ptrauth.blend``' intrinsic combines a small integer discriminator
295 * [``llvm.ptrauth.blend``](#llvm-ptrauth-blend): The semantics of the blend
/llvm-project-15.0.7/llvm/test/CodeGen/ARM/
H A Dvselect_imax.ll17 %T1_10* %blend, %T0_10* %storeaddr) {
34 %T1_14* %blend, %T0_14* %storeaddr) {
51 %T1_15* %blend, %T0_15* %storeaddr) {
70 %T1_18* %blend, %T0_18* %storeaddr) {
134 %T1_19* %blend, %T0_19* %storeaddr) {
242 %T1_20* %blend, %T0_20* %storeaddr) {
/llvm-project-15.0.7/mlir/include/mlir/Dialect/X86Vector/
H A DTransforms.h29 static uint8_t blend() { in blend() function
/llvm-project-15.0.7/llvm/test/CodeGen/AArch64/
H A Daarch64-vuzp.ll63 ; that the vector blend transform does not scramble the pattern.
/llvm-project-15.0.7/llvm/test/Transforms/InstCombine/X86/
H A Dblend_x86.ll208 ; This verifies that nothing is interfering with the blend transform. This also tests the
209 ; expected IR when 1 of the blend operands is a constant 0 vector. Potentially, this could
/llvm-project-15.0.7/mlir/include/mlir/Dialect/SPIRV/IR/
H A DSPIRVGLOps.td1188 let summary = "Builds the linear blend of x and y";
1191 Result is the linear blend of x and y, i.e., x * (1 - a) + y * a.

12