Home
last modified time | relevance | path

Searched refs:umin (Results 1 – 25 of 375) sorted by relevance

12345678910>>...15

/llvm-project-15.0.7/mlir/lib/Interfaces/
H A DInferIntRangeInterface.cpp16 return umin().getBitWidth() == other.umin().getBitWidth() && in operator ==()
17 umin() == other.umin() && umax() == other.umax() && in operator ==()
56 APInt umin, umax; in fromSigned() local
72 smin = umin.slt(umax) ? umin : umax; in fromUnsigned()
73 smax = umin.sgt(umax) ? umin : umax; in fromUnsigned()
85 if (umin().getBitWidth() == 0) in rangeUnion()
90 const APInt &uminUnion = umin().ult(other.umin()) ? umin() : other.umin(); in rangeUnion()
102 if (umin().getBitWidth() == 0) in intersection()
107 const APInt &uminIntersect = umin().ugt(other.umin()) ? umin() : other.umin(); in intersection()
117 if (umin() == umax() && umin().getBitWidth() != 0) in getConstantValue()
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/CostModel/ARM/
H A Dreduce-umin.ll152 declare i64 @llvm.vector.reduce.umin.v1i64(<1 x i64>)
153 declare i64 @llvm.vector.reduce.umin.v2i64(<2 x i64>)
154 declare i64 @llvm.vector.reduce.umin.v4i64(<4 x i64>)
155 declare i64 @llvm.vector.reduce.umin.v8i64(<8 x i64>)
158 declare i32 @llvm.vector.reduce.umin.v2i32(<2 x i32>)
171 declare i8 @llvm.vector.reduce.umin.v2i8(<2 x i8>)
172 declare i8 @llvm.vector.reduce.umin.v4i8(<4 x i8>)
173 declare i8 @llvm.vector.reduce.umin.v8i8(<8 x i8>)
174 declare i8 @llvm.vector.reduce.umin.v16i8(<16 x i8>)
175 declare i8 @llvm.vector.reduce.umin.v32i8(<32 x i8>)
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/CostModel/X86/
H A Dreduce-umin.ll307 declare i64 @llvm.vector.reduce.umin.v1i64(<1 x i64>)
308 declare i64 @llvm.vector.reduce.umin.v2i64(<2 x i64>)
309 declare i64 @llvm.vector.reduce.umin.v4i64(<4 x i64>)
310 declare i64 @llvm.vector.reduce.umin.v8i64(<8 x i64>)
313 declare i32 @llvm.vector.reduce.umin.v2i32(<2 x i32>)
326 declare i8 @llvm.vector.reduce.umin.v2i8(<2 x i8>)
327 declare i8 @llvm.vector.reduce.umin.v4i8(<4 x i8>)
328 declare i8 @llvm.vector.reduce.umin.v8i8(<8 x i8>)
329 declare i8 @llvm.vector.reduce.umin.v16i8(<16 x i8>)
330 declare i8 @llvm.vector.reduce.umin.v32i8(<32 x i8>)
[all …]
H A Darith-uminmax.ll207 declare i64 @llvm.umin.i64(i64, i64)
222 declare i8 @llvm.umin.i8(i8, i8)
227 define i32 @umin(i32 %arg) {
228 ; SSE2-LABEL: 'umin'
247 ; SSSE3-LABEL: 'umin'
266 ; SSE42-LABEL: 'umin'
285 ; AVX1-LABEL: 'umin'
304 ; AVX2-LABEL: 'umin'
323 ; AVX512F-LABEL: 'umin'
342 ; AVX512DQ-LABEL: 'umin'
[all …]
/llvm-project-15.0.7/llvm/test/MC/AArch64/SVE/
H A Dumin.s12 umin z0.b, z0.b, #0 label
18 umin z31.b, z31.b, #255 label
24 umin z0.b, z0.b, #0 label
30 umin z31.b, z31.b, #255 label
36 umin z0.b, z0.b, #0 label
42 umin z31.b, z31.b, #255 label
48 umin z0.b, z0.b, #0 label
54 umin z31.b, z31.b, #255 label
94 umin z4.d, p7/m, z4.d, z31.d label
106 umin z4.d, p7/m, z4.d, z31.d label
[all …]
H A Dumin-diagnostics.s3 umin z0.b, z0.b, #-1 label
8 umin z31.b, z31.b, #256 label
13 umin z0.b, p8/m, z0.b, z0.b label
23 umin z31.b, z31.b, #255 label
/llvm-project-15.0.7/mlir/test/Dialect/GPU/
H A Dint-range-interface.mlir6 umin = 3 : index, umax = 5 : index,
10 umin = 7 : index, umax = 11 : index,
16 …// CHECK: test.reflect_bounds {smax = 5 : index, smin = 3 : index, umax = 5 : index, umin = 3 : in…
17 …// CHECK: test.reflect_bounds {smax = 11 : index, smin = 7 : index, umax = 11 : index, umin = 7 : …
23 …// CHECK: test.reflect_bounds {smax = 4 : index, smin = 0 : index, umax = 4 : index, umin = 0 : in…
24 …// CHECK: test.reflect_bounds {smax = 10 : index, smin = 0 : index, umax = 10 : index, umin = 0 : …
31 …// CHECK: test.reflect_bounds {smax = 5 : index, smin = 3 : index, umax = 5 : index, umin = 3 : in…
32 …// CHECK: test.reflect_bounds {smax = 11 : index, smin = 7 : index, umax = 11 : index, umin = 7 : …
38 …// CHECK: test.reflect_bounds {smax = 4 : index, smin = 0 : index, umax = 4 : index, umin = 0 : in…
39 …// CHECK: test.reflect_bounds {smax = 10 : index, smin = 0 : index, umax = 10 : index, umin = 0 : …
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/ScalarEvolution/
H A Dlogical-operations.ll76 ; CHECK-NEXT: --> (%x umin %y umin %z umin %a) U: full-set S: full-set
469 %umin = call i32 @llvm.umin(i32 %y, i32 %x)
484 %umin = call i32 @llvm.umin(i32 %y, i32 %x)
485 %umin.is.zero = icmp eq i32 %umin, 0
574 %umin = call i32 @llvm.umin(i32 %x, i32 %y)
661 %umin = call i32 @llvm.umin(i32 %y, i32 %x)
679 %umin = call i32 @llvm.umin(i32 %y, i32 %x)
697 %umin = call i8 @llvm.umin.i8(i8 %y, i8 %x)
715 %umin = zext i8 %umin.narrow to i32
733 %umin = call i32 @llvm.umin(i32 %y, i32 %x)
[all …]
H A Dminmax-intrinsics.ll5 declare i32 @llvm.umin.i32(i32, i32)
20 define i32 @umin(i32 %x, i32 %y) {
21 ; CHECK-LABEL: 'umin'
22 ; CHECK-NEXT: Classifying expressions for: @umin
23 ; CHECK-NEXT: %z = call i32 @llvm.umin.i32(i32 %x, i32 %y)
24 ; CHECK-NEXT: --> (%x umin %y) U: full-set S: full-set
25 ; CHECK-NEXT: Determining loop execution counts for: @umin
27 %z = call i32 @llvm.umin.i32(i32 %x, i32 %y)
58 ; CHECK-NEXT: %z = call i32 @llvm.umin.i32(i32 %y, i32 20)
59 ; CHECK-NEXT: --> (20 umin (10 umax %x)) U: [10,21) S: [10,21)
[all …]
H A Dexit-count-select-safe.ll172 ; CHECK-NEXT: %umin = call i32 @llvm.umin.i32(i32 %n, i32 %m)
190 %umin = call i32 @llvm.umin.i32(i32 %n, i32 %m)
226 %umin = call i32 @llvm.umin.i32(i32 %n, i32 %m)
264 %umin = call i32 @llvm.umin.i32(i32 %n, i32 %m)
303 %umin = call i32 @llvm.umin.i32(i32 %n, i32 %m)
325 ; CHECK-NEXT: --> (%n umin %m umin %k) U: full-set S: full-set Exits: (%n umin %m umin %k) LoopD…
340 %umin = call i32 @llvm.umin.i32(i32 %n, i32 %m)
341 %umin2 = call i32 @llvm.umin.i32(i32 %umin, i32 %k)
401 %umin = call i32 @llvm.umin.i32(i32 %c, i32 %d)
402 %umin2 = call i32 @llvm.umin.i32(i32 %umin, i32 %first.i)
[all …]
H A Dmax-expr-cache.ll133umin (1 + (256 umin (1 + (256 umin (1 + (256 umin (1 + (256 umin (1 + (256 umin (1 + (256 umin (1 …
H A Dexit-count-select.ll4 ; If m is constant, exact-not-taken is umin(n, m)
16 ; CHECK-NEXT: Loop %loop: backedge-taken count is (2 umin %n)
18 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (2 umin %n)
35 ; exact-not-taken is umin(2, m) because m participates in the exit branch condition.
47 ; CHECK-NEXT: Loop %loop: backedge-taken count is (2 umin %m)
49 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (2 umin %m)
129 ; If m is constant, exact-not-taken is umin(n, m)
141 ; CHECK-NEXT: Loop %loop: backedge-taken count is (2 umin %n)
143 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (2 umin %n)
172 ; CHECK-NEXT: Loop %loop: backedge-taken count is (2 umin %m)
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/CostModel/RISCV/
H A Dreduce-min.ll235 declare i1 @llvm.vector.reduce.umin.v1i1(<1 x i1>)
236 declare i1 @llvm.vector.reduce.umin.v2i1(<2 x i1>)
237 declare i1 @llvm.vector.reduce.umin.v4i1(<4 x i1>)
238 declare i1 @llvm.vector.reduce.umin.v8i1(<8 x i1>)
239 declare i1 @llvm.vector.reduce.umin.v16i1(<16 x i1>)
240 declare i1 @llvm.vector.reduce.umin.v32i1(<32 x i1>)
241 declare i1 @llvm.vector.reduce.umin.v64i1(<64 x i1>)
243 declare i8 @llvm.vector.reduce.umin.v1i8(<1 x i8>)
244 declare i8 @llvm.vector.reduce.umin.v2i8(<2 x i8>)
245 declare i8 @llvm.vector.reduce.umin.v4i8(<4 x i8>)
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/CostModel/AMDGPU/
H A Darith-uminmax.ll144 declare i64 @llvm.umin.i64(i64, i64)
149 declare i32 @llvm.umin.i32(i32, i32)
155 declare i16 @llvm.umin.i16(i16, i16)
162 declare i8 @llvm.umin.i8(i8, i8)
163 declare <2 x i8> @llvm.umin.v2i8(<2 x i8>, <2 x i8>)
164 declare <4 x i8> @llvm.umin.v4i8(<4 x i8>, <4 x i8>)
170 define i32 @umin(i32 %arg) {
171 ; FAST-LABEL: 'umin'
196 ; SLOW-LABEL: 'umin'
221 ; ALL-SIZE-LABEL: 'umin'
[all …]
/llvm-project-15.0.7/mlir/test/Interfaces/InferIntRangeInterface/
H A Dinfer-int-range-test-ops.mlir7 %0 = test.with_bounds { umin = 3 : index, umax = 3 : index,
24 %0 = test.with_bounds { umin = 3 : index, umax = 3 : index,
39 %0 = test.with_bounds { umin = 3 : index, umax = 3 : index,
55 %c0 = test.with_bounds { umin = 0 : index, umax = 0 : index,
57 %c1 = test.with_bounds { umin = 1 : index, umax = 1 : index,
59 %c2 = test.with_bounds { umin = 2 : index, umax = 2 : index,
72 %c0 = test.with_bounds { umin = 0 : index, umax = 0 : index,
74 %c1 = test.with_bounds { umin = 1 : index, umax = 1 : index,
76 %c2 = test.with_bounds { umin = 2 : index, umax = 2 : index,
108 %0 = test.with_bounds { umin = 0 : index, umax = 0 : index,
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/Arithmetic/IR/
H A DInferIntRangeInterfaceImpls.cpp93 uadd, lhs.umin(), rhs.umin(), lhs.umax(), rhs.umax(), /*isSigned=*/false); in inferResultRanges()
118 usub, lhs.umin(), rhs.umax(), lhs.umax(), rhs.umin(), /*isSigned=*/false); in inferResultRanges()
144 minMaxBy(umul, {lhs.umin(), lhs.umax()}, {rhs.umin(), rhs.umax()}, in inferResultRanges()
165 const APInt &lhsMin = lhs.umin(), &lhsMax = lhs.umax(), &rhsMin = rhs.umin(), in inferDivUIRange()
303 umin = minRem; in inferResultRanges()
437 const APInt &umin = lhs.umin().ugt(rhs.umin()) ? lhs.umin() : rhs.umin(); in inferResultRanges() local
463 const APInt &umin = lhs.umin().ult(rhs.umin()) ? lhs.umin() : rhs.umin(); in inferResultRanges() local
476 APInt umin = argRanges[0].umin().zext(destWidth); in inferResultRanges() local
506 APInt umin = range.umin().trunc(destWidth); in truncIRange() local
510 return {umin, umax, smin, smax}; in truncIRange()
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/NaryReassociate/
H A Dnary-umin.ll5 declare i32 @llvm.umin.i32(i32 %a, i32 %b)
7 ; m1 = umin(a,b) ; has side uses
8 ; m2 = umin(umin((b,c), a) -> m2 = umin(m1, c)
27 ; m1 = umin(a,b) ; has side uses
28 ; m2 = umin(b, (umin(a, c))) -> m2 = umin(m1, c)
55 %umin1 = call i32 @llvm.umin.i32(i32 %a, i32 %b)
62 ; m1 = umin(a,b) ; has side uses
63 ; m2 = umin(umin_or_eq((b,c), a) -> m2 = umin(m1, c)
83 ; m2 = umin_or_eq(umin((b,c), a) -> m2 = umin(m1, c)
102 ; m1 = umin(a,b) ; has side uses
[all …]
H A Dnary-req.ll6 declare i64 @llvm.umin.i64(i64, i64)
36 ; e10 is replaced with %e10.nary = call i64 @llvm.umin.i64(i64 %e5, i64 %e).
44 ; CHECK-NEXT: [[E2:%.*]] = call i64 @llvm.umin.i64(i64 [[E]], i64 [[E1]])
45 ; CHECK-NEXT: [[E3:%.*]] = call i64 @llvm.umin.i64(i64 [[E2]], i64 16384)
47 ; CHECK-NEXT: [[E5:%.*]] = call i64 @llvm.umin.i64(i64 [[E4]], i64 16384)
50 ; CHECK-NEXT: [[E10_NARY:%.*]] = call i64 @llvm.umin.i64(i64 [[E5]], i64 [[E7]])
56 %e2 = call i64 @llvm.umin.i64(i64 %e, i64 %e1)
57 %e3 = call i64 @llvm.umin.i64(i64 %e2, i64 16384)
59 %e5 = call i64 @llvm.umin.i64(i64 %e4, i64 16384)
63 %e9 = call i64 @llvm.umin.i64(i64 %e7, i64 %e8)
[all …]
/llvm-project-15.0.7/llvm/test/CodeGen/AMDGPU/
H A Dumed3.ll159 %tmp0 = call i32 @umin(i32 %x, i32 %y)
171 %tmp0 = call i32 @umin(i32 %x, i32 %y)
183 %tmp0 = call i32 @umin(i32 %x, i32 %y)
195 %tmp0 = call i32 @umin(i32 %x, i32 %y)
207 %tmp0 = call i32 @umin(i32 %y, i32 %x)
219 %tmp0 = call i32 @umin(i32 %y, i32 %x)
231 %tmp0 = call i32 @umin(i32 %y, i32 %x)
243 %tmp0 = call i32 @umin(i32 %y, i32 %x)
255 %tmp0 = call i32 @umin(i32 %x, i32 %y)
267 %tmp0 = call i32 @umin(i32 %x, i32 %y)
[all …]
/llvm-project-15.0.7/llvm/test/CodeGen/AMDGPU/GlobalISel/
H A Dumed3.ll20 %umed = call i32 @llvm.umin.i32(i32 %umax, i32 17)
38 %umed = call i32 @llvm.umin.i32(i32 %umax, i32 17)
56 %umed = call i32 @llvm.umin.i32(i32 17, i32 %umax)
74 %umed = call i32 @llvm.umin.i32(i32 17, i32 %umax)
91 %umin = call i32 @llvm.umin.i32(i32 %a, i32 17)
92 %umed = call i32 @llvm.umax.i32(i32 %umin, i32 12)
109 %umin = call i32 @llvm.umin.i32(i32 17, i32 %a)
127 %umin = call i32 @llvm.umin.i32(i32 %a, i32 17)
145 %umin = call i32 @llvm.umin.i32(i32 17, i32 %a)
177 %umin = call <2 x i16> @llvm.umin.v2i16(<2 x i16> <i16 17, i16 17>, <2 x i16> %a)
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/SLPVectorizer/X86/
H A Darith-umin.ll23 declare i64 @llvm.umin.i64(i64, i64)
24 declare i32 @llvm.umin.i32(i32, i32)
25 declare i16 @llvm.umin.i16(i16, i16)
26 declare i8 @llvm.umin.i8 (i8 , i8 )
117 %r0 = call i64 @llvm.umin.i64(i64 %a0, i64 %b0)
118 %r1 = call i64 @llvm.umin.i64(i64 %a1, i64 %b1)
119 %r2 = call i64 @llvm.umin.i64(i64 %a2, i64 %b2)
120 %r3 = call i64 @llvm.umin.i64(i64 %a3, i64 %b3)
121 %r4 = call i64 @llvm.umin.i64(i64 %a4, i64 %b4)
122 %r5 = call i64 @llvm.umin.i64(i64 %a5, i64 %b5)
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/InstCombine/
H A Dreduction-umin-sext-zext-i1.ll10 %res = call i1 @llvm.vector.reduce.umin.v8i32(<8 x i1> %x)
22 %res = call i32 @llvm.vector.reduce.umin.v4i32(<4 x i32> %sext)
34 %res = call i64 @llvm.vector.reduce.umin.v8i64(<8 x i64> %zext)
46 %res = call i16 @llvm.vector.reduce.umin.v16i16(<16 x i16> %sext)
58 %res = call i8 @llvm.vector.reduce.umin.v128i8(<128 x i8> %sext)
92 %res = call i64 @llvm.vector.reduce.umin.v8i64(<8 x i64> %zext)
98 declare i1 @llvm.vector.reduce.umin.v8i32(<8 x i1> %a)
99 declare i32 @llvm.vector.reduce.umin.v4i32(<4 x i32> %a)
100 declare i64 @llvm.vector.reduce.umin.v8i64(<8 x i64> %a)
101 declare i16 @llvm.vector.reduce.umin.v16i16(<16 x i16> %a)
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/InstSimplify/
H A Dmaxmin_intrinsics.ll14 declare i8 @llvm.umin.i8(i8, i8)
166 %r = call i8 @llvm.umin.i8(i8 0, i8 %x)
230 %r = call i8 @llvm.umin.i8(i8 255, i8 %x)
351 %m = call i8 @llvm.umin.i8(i8 %x, i8 %y)
361 %m = call i8 @llvm.umin.i8(i8 %y, i8 %x)
381 %m = call i8 @llvm.umin.i8(i8 %y, i8 %x)
506 %m = call i8 @llvm.umin.i8(i8 %x, i8 %y)
515 %m = call i8 @llvm.umin.i8(i8 %y, i8 %x)
533 %m = call i8 @llvm.umin.i8(i8 %y, i8 %x)
707 %m = call i8 @llvm.umin.i8(i8 %x, i8 7)
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/CostModel/AArch64/
H A Dreduce-minmax.ll239 declare i8 @llvm.vector.reduce.umin.v1i8(<1 x i8>)
240 declare i8 @llvm.vector.reduce.umin.v3i8(<3 x i8>)
241 declare i8 @llvm.vector.reduce.umin.v4i8(<4 x i8>)
242 declare i8 @llvm.vector.reduce.umin.v8i8(<8 x i8>)
243 declare i8 @llvm.vector.reduce.umin.v16i8(<16 x i8>)
244 declare i8 @llvm.vector.reduce.umin.v32i8(<32 x i8>)
245 declare i8 @llvm.vector.reduce.umin.v64i8(<64 x i8>)
246 declare i16 @llvm.vector.reduce.umin.v2i16(<2 x i16>)
247 declare i16 @llvm.vector.reduce.umin.v4i16(<4 x i16>)
248 declare i16 @llvm.vector.reduce.umin.v8i16(<8 x i16>)
[all …]
/llvm-project-15.0.7/mlir/include/mlir/Interfaces/
H A DInferIntRangeInterface.h30 ConstantIntRanges(const APInt &umin, const APInt &umax, const APInt &smin, in ConstantIntRanges() argument
32 : uminVal(umin), umaxVal(umax), sminVal(smin), smaxVal(smax) { in ConstantIntRanges()
42 const APInt &umin() const;
83 static ConstantIntRanges fromUnsigned(const APInt &umin, const APInt &umax);

12345678910>>...15