Lines Matching full:minimum
4 declare half @llvm.minimum.f16(half, half)
9 declare float @llvm.minimum.f32(float, float)
13 declare <2 x float> @llvm.minimum.v2f32(<2 x float>, <2 x float>)
20 declare double @llvm.minimum.f64(double, double)
22 declare <2 x double> @llvm.minimum.v2f64(<2 x double>, <2 x double>)
53 %r = call float @llvm.minimum.f32(float %x, float 0x7fff000000000000)
87 %r = call float @llvm.minimum.f32(float %x, float 0x7ff0000000000000)
118 ; CHECK-NEXT: [[R:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float 0xFFF0000000000000)
121 %r = call float @llvm.minimum.f32(float %x, float 0xfff0000000000000)
153 %r = call nnan float @llvm.minimum.f32(float %x, float 0x7ff0000000000000)
185 %r = call nnan float @llvm.minimum.f32(float 0x7ff0000000000000, float %x)
217 %r = call nnan <2 x float> @llvm.minimum.v2f32(<2 x float> <float 0x7ff0000000000000, float 0x7ff0000000000000>, <2 x float> %x)
249 %r = call nnan float @llvm.minimum.f32(float %x, float 0xfff0000000000000)
282 ; CHECK-NEXT: [[R:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float 0x47EFFFFFE0000000)
285 %r = call float @llvm.minimum.f32(float %x, float 0x47efffffe0000000)
318 ; CHECK-NEXT: [[R:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float 0xC7EFFFFFE0000000)
321 %r = call float @llvm.minimum.f32(float %x, float 0xc7efffffe0000000)
355 %r = call ninf float @llvm.minimum.f32(float %x, float 0x47efffffe0000000)
386 ; CHECK-NEXT: [[R:%.*]] = call ninf float @llvm.minimum.f32(float [[X:%.*]], float 0xC7EFFFFFE0000000)
389 %r = call ninf float @llvm.minimum.f32(float %x, float 0xc7efffffe0000000)
421 %r = call nnan ninf float @llvm.minimum.f32(float %x, float 0x47efffffe0000000)
453 %r = call nnan ninf float @llvm.minimum.f32(float %x, float 0xc7efffffe0000000)
841 ; From the LangRef for minimum/maximum:
864 %r = call double @llvm.minimum.f64(double 0x7ff8000dead00000, double %x)
872 %r = call double @llvm.minimum.f64(double %x, double 0x7ff800dead00dead)
904 %r = call <2 x double> @llvm.minimum.v2f64(<2 x double> <double poison, double 0x7ff8000dead00000>, <2 x double> %x)
912 %r = call <2 x double> @llvm.minimum.v2f64(<2 x double> %x, <2 x double> <double poison, double 0x7ff8000dead00000>)
920 %r = call <2 x double> @llvm.minimum.v2f64(<2 x double> %x, <2 x double> <double 0x7ff800dead00dead, double 0x7ff800dead00dead>)
960 %val = call float @llvm.minimum.f32(float %x, float undef)
968 %val = call float @llvm.minimum.f32(float %x, float poison)
976 %val = call float @llvm.minimum.f32(float undef, float %x)
984 %val = call float @llvm.minimum.f32(float poison, float %x)
992 %val = call float @llvm.minimum.f32(float undef, float undef)
1008 %y = call float @llvm.minimum.f32(float %x, float %x)
1022 ; CHECK-NEXT: [[A:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float [[Y:%.*]])
1025 %a = call float @llvm.minimum.f32(float %x, float %y)
1026 %b = call float @llvm.minimum.f32(float %x, float %a)
1032 ; CHECK-NEXT: [[A:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float [[Y:%.*]])
1035 %a = call float @llvm.minimum.f32(float %x, float %y)
1036 %b = call float @llvm.minimum.f32(float %y, float %a)
1042 ; CHECK-NEXT: [[A:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float [[Y:%.*]])
1045 %a = call float @llvm.minimum.f32(float %x, float %y)
1046 %b = call float @llvm.minimum.f32(float %a, float %x)
1052 ; CHECK-NEXT: [[A:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float [[Y:%.*]])
1055 %a = call float @llvm.minimum.f32(float %x, float %y)
1056 %b = call float @llvm.minimum.f32(float %a, float %y)
1064 ; CHECK-NEXT: [[A:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float [[Y:%.*]])
1065 ; CHECK-NEXT: [[B:%.*]] = call float @llvm.minimum.f32(float [[Z:%.*]], float [[A]])
1068 %a = call float @llvm.minimum.f32(float %x, float %y)
1069 %b = call float @llvm.minimum.f32(float %z, float %a)
1077 ; CHECK-NEXT: [[A:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float [[Y:%.*]])
1078 ; CHECK-NEXT: [[B:%.*]] = call float @llvm.minimum.f32(float [[A]], float [[Z:%.*]])
1081 %a = call float @llvm.minimum.f32(float %x, float %y)
1082 %b = call float @llvm.minimum.f32(float %a, float %z)
1152 ; negative test - minimum(X, -INF) != -INF because X could be NaN
1156 ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float 0xFFF0000000000000)
1159 %val = call float @llvm.minimum.f32(float %x, float 0xFFF0000000000000)
1163 ; negative test - minimum(-INF, X) != -INF because X could be NaN
1167 ; CHECK-NEXT: [[R:%.*]] = call <2 x double> @llvm.minimum.v2f64(<2 x double> splat (double 0xFFF0000000000000), <2 x double> [[X:%.*]])
1170 %r = call <2 x double> @llvm.minimum.v2f64(<2 x double> <double 0xFFF0000000000000, double 0xFFF0000000000000>, <2 x double> %x)
1174 ; TODO: minimum(INF, X) --> X
1180 %val = call float @llvm.minimum.f32(float 0x7FF0000000000000, float %x)
1212 %min = call float @llvm.minimum.f32(float %x, float %y)
1223 %min = call double @llvm.minimum.f64(double %x, double %y)
1230 ; CHECK-NEXT: [[MIN1:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float [[Y:%.*]])
1231 ; CHECK-NEXT: [[MIN2:%.*]] = call float @llvm.minimum.f32(float [[X]], float [[Y]])
1235 %min1 = call float @llvm.minimum.f32(float %x, float %y)
1236 %min2 = call float @llvm.minimum.f32(float %x, float %y)
1254 ; CHECK-NEXT: [[MIN:%.*]] = call <2 x float> @llvm.minimum.v2f32(<2 x float> [[X:%.*]], <2 x float> [[Y:%.*]])
1258 %min = call <2 x float> @llvm.minimum.v2f32(<2 x float> %x, <2 x float> %y)
1259 %val = call <2 x float> @llvm.minimum.v2f32(<2 x float> %max, <2 x float> %min)
1265 ; CHECK-NEXT: [[MIN:%.*]] = call <2 x double> @llvm.minimum.v2f64(<2 x double> [[X:%.*]], <2 x double> [[Y:%.*]])
1269 %min = call <2 x double> @llvm.minimum.v2f64(<2 x double> %x, <2 x double> %y)
1270 %val = call <2 x double> @llvm.minimum.v2f64(<2 x double> %min, <2 x double> %max)
1278 ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.minimum.f32(float [[MAX1]], float [[MAX2]])
1283 %val = call float @llvm.minimum.f32(float %max1, float %max2)
1289 ; CHECK-NEXT: [[MIN1:%.*]] = call float @llvm.minimum.f32(float [[X:%.*]], float [[Y:%.*]])
1292 %min1 = call float @llvm.minimum.f32(float %x, float %y)
1293 %min2 = call float @llvm.minimum.f32(float %x, float %y)
1294 %val = call float @llvm.minimum.f32(float %min1, float %min2)