Index: llvm/docs/LangRef.rst =================================================================== --- llvm/docs/LangRef.rst +++ llvm/docs/LangRef.rst @@ -16297,7 +16297,6 @@ declare @llvm.experimental.constrained.maxnum( , - metadata , metadata ) Overview: @@ -16312,16 +16311,12 @@ The first two arguments and the return value are floating-point numbers of the same type. -The third and forth arguments specify the rounding mode and exception -behavior as described above. +The third argument specifies the exception behavior as described above. Semantics: """""""""" -This function follows the IEEE-754 semantics for maxNum. The rounding mode is -described, not determined, by the rounding mode argument. The actual rounding -mode is determined by the runtime floating-point environment. The rounding -mode argument is only intended as information to the compiler. +This function follows the IEEE-754 semantics for maxNum. '``llvm.experimental.constrained.minnum``' Intrinsic @@ -16334,7 +16329,6 @@ declare @llvm.experimental.constrained.minnum( , - metadata , metadata ) Overview: @@ -16349,16 +16343,12 @@ The first two arguments and the return value are floating-point numbers of the same type. -The third and forth arguments specify the rounding mode and exception -behavior as described above. +The third argument specifies the exception behavior as described above. Semantics: """""""""" -This function follows the IEEE-754 semantics for minNum. The rounding mode is -described, not determined, by the rounding mode argument. The actual rounding -mode is determined by the runtime floating-point environment. The rounding -mode argument is only intended as information to the compiler. +This function follows the IEEE-754 semantics for minNum. '``llvm.experimental.constrained.ceil``' Intrinsic Index: llvm/include/llvm/IR/ConstrainedOps.def =================================================================== --- llvm/include/llvm/IR/ConstrainedOps.def +++ llvm/include/llvm/IR/ConstrainedOps.def @@ -66,8 +66,8 @@ FUNCTION(llrint, 1, 1, experimental_constrained_llrint, LLRINT) FUNCTION(lround, 1, 0, experimental_constrained_lround, LROUND) FUNCTION(llround, 1, 0, experimental_constrained_llround, LLROUND) -FUNCTION(maxnum, 2, 1, experimental_constrained_maxnum, FMAXNUM) -FUNCTION(minnum, 2, 1, experimental_constrained_minnum, FMINNUM) +FUNCTION(maxnum, 2, 0, experimental_constrained_maxnum, FMAXNUM) +FUNCTION(minnum, 2, 0, experimental_constrained_minnum, FMINNUM) FUNCTION(nearbyint, 1, 1, experimental_constrained_nearbyint, FNEARBYINT) FUNCTION(pow, 2, 1, experimental_constrained_pow, FPOW) FUNCTION(powi, 2, 1, experimental_constrained_powi, FPOWI) Index: llvm/include/llvm/IR/Intrinsics.td =================================================================== --- llvm/include/llvm/IR/Intrinsics.td +++ llvm/include/llvm/IR/Intrinsics.td @@ -714,12 +714,10 @@ def int_experimental_constrained_maxnum : Intrinsic<[ llvm_anyfloat_ty ], [ LLVMMatchType<0>, LLVMMatchType<0>, - llvm_metadata_ty, llvm_metadata_ty ]>; def int_experimental_constrained_minnum : Intrinsic<[ llvm_anyfloat_ty ], [ LLVMMatchType<0>, LLVMMatchType<0>, - llvm_metadata_ty, llvm_metadata_ty ]>; def int_experimental_constrained_ceil : Intrinsic<[ llvm_anyfloat_ty ], [ LLVMMatchType<0>, Index: llvm/test/CodeGen/ARM/fp-intrinsics.ll =================================================================== --- llvm/test/CodeGen/ARM/fp-intrinsics.ll +++ llvm/test/CodeGen/ARM/fp-intrinsics.ll @@ -182,7 +182,7 @@ ; CHECK-NOSP: bl fmaxf ; CHECK-SP: vmaxnm.f32 define float @maxnum_f32(float %x, float %y) #0 { - %val = call float @llvm.experimental.constrained.maxnum.f32(float %x, float %y, metadata !"round.tonearest", metadata !"fpexcept.strict") #0 + %val = call float @llvm.experimental.constrained.maxnum.f32(float %x, float %y, metadata !"fpexcept.strict") #0 ret float %val } @@ -190,7 +190,7 @@ ; CHECK-NOSP: bl fminf ; CHECK-SP: vminnm.f32 define float @minnum_f32(float %x, float %y) #0 { - %val = call float @llvm.experimental.constrained.minnum.f32(float %x, float %y, metadata !"round.tonearest", metadata !"fpexcept.strict") #0 + %val = call float @llvm.experimental.constrained.minnum.f32(float %x, float %y, metadata !"fpexcept.strict") #0 ret float %val } @@ -411,7 +411,7 @@ ; CHECK-NODP: bl fmax ; CHECK-DP: vmaxnm.f64 define double @maxnum_f64(double %x, double %y) #0 { - %val = call double @llvm.experimental.constrained.maxnum.f64(double %x, double %y, metadata !"round.tonearest", metadata !"fpexcept.strict") #0 + %val = call double @llvm.experimental.constrained.maxnum.f64(double %x, double %y, metadata !"fpexcept.strict") #0 ret double %val } @@ -419,7 +419,7 @@ ; CHECK-NODP: bl fmin ; CHECK-DP: vminnm.f64 define double @minnum_f64(double %x, double %y) #0 { - %val = call double @llvm.experimental.constrained.minnum.f64(double %x, double %y, metadata !"round.tonearest", metadata !"fpexcept.strict") #0 + %val = call double @llvm.experimental.constrained.minnum.f64(double %x, double %y, metadata !"fpexcept.strict") #0 ret double %val } @@ -513,8 +513,8 @@ declare float @llvm.experimental.constrained.nearbyint.f32(float, metadata, metadata) declare i32 @llvm.experimental.constrained.lrint.f32(float, metadata, metadata) declare i32 @llvm.experimental.constrained.llrint.f32(float, metadata, metadata) -declare float @llvm.experimental.constrained.maxnum.f32(float, float, metadata, metadata) -declare float @llvm.experimental.constrained.minnum.f32(float, float, metadata, metadata) +declare float @llvm.experimental.constrained.maxnum.f32(float, float, metadata) +declare float @llvm.experimental.constrained.minnum.f32(float, float, metadata) declare float @llvm.experimental.constrained.ceil.f32(float, metadata, metadata) declare float @llvm.experimental.constrained.floor.f32(float, metadata, metadata) declare i32 @llvm.experimental.constrained.lround.f32(float, metadata) @@ -544,8 +544,8 @@ declare double @llvm.experimental.constrained.nearbyint.f64(double, metadata, metadata) declare i32 @llvm.experimental.constrained.lrint.f64(double, metadata, metadata) declare i32 @llvm.experimental.constrained.llrint.f64(double, metadata, metadata) -declare double @llvm.experimental.constrained.maxnum.f64(double, double, metadata, metadata) -declare double @llvm.experimental.constrained.minnum.f64(double, double, metadata, metadata) +declare double @llvm.experimental.constrained.maxnum.f64(double, double, metadata) +declare double @llvm.experimental.constrained.minnum.f64(double, double, metadata) declare double @llvm.experimental.constrained.ceil.f64(double, metadata, metadata) declare double @llvm.experimental.constrained.floor.f64(double, metadata, metadata) declare i32 @llvm.experimental.constrained.lround.f64(double, metadata) Index: llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll =================================================================== --- llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll +++ llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll @@ -848,7 +848,6 @@ %maxnum = call ppc_fp128 @llvm.experimental.constrained.maxnum.ppcf128( ppc_fp128 %first, ppc_fp128 %second, - metadata !"round.dynamic", metadata !"fpexcept.strict") ret ppc_fp128 %maxnum } @@ -893,7 +892,6 @@ %minnum = call ppc_fp128 @llvm.experimental.constrained.minnum.ppcf128( ppc_fp128 %first, ppc_fp128 %second, - metadata !"round.dynamic", metadata !"fpexcept.strict") ret ppc_fp128 %minnum } @@ -1550,8 +1548,8 @@ declare ppc_fp128 @llvm.experimental.constrained.log.ppcf128(ppc_fp128, metadata, metadata) declare ppc_fp128 @llvm.experimental.constrained.log10.ppcf128(ppc_fp128, metadata, metadata) declare ppc_fp128 @llvm.experimental.constrained.log2.ppcf128(ppc_fp128, metadata, metadata) -declare ppc_fp128 @llvm.experimental.constrained.maxnum.ppcf128(ppc_fp128, ppc_fp128, metadata, metadata) -declare ppc_fp128 @llvm.experimental.constrained.minnum.ppcf128(ppc_fp128, ppc_fp128, metadata, metadata) +declare ppc_fp128 @llvm.experimental.constrained.maxnum.ppcf128(ppc_fp128, ppc_fp128, metadata) +declare ppc_fp128 @llvm.experimental.constrained.minnum.ppcf128(ppc_fp128, ppc_fp128, metadata) declare ppc_fp128 @llvm.experimental.constrained.fmul.ppcf128(ppc_fp128, ppc_fp128, metadata, metadata) declare ppc_fp128 @llvm.experimental.constrained.nearbyint.ppcf128(ppc_fp128, metadata, metadata) declare ppc_fp128 @llvm.experimental.constrained.pow.ppcf128(ppc_fp128, ppc_fp128, metadata, metadata) Index: llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll =================================================================== --- llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll +++ llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll @@ -5490,7 +5490,6 @@ entry: %max = call <1 x float> @llvm.experimental.constrained.maxnum.v1f32( <1 x float> , <1 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <1 x float> %max } @@ -5555,7 +5554,6 @@ %max = call <2 x double> @llvm.experimental.constrained.maxnum.v2f64( <2 x double> , <2 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <2 x double> %max } @@ -5658,7 +5656,6 @@ %max = call <3 x float> @llvm.experimental.constrained.maxnum.v3f32( <3 x float> , <3 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <3 x float> %max } @@ -5749,7 +5746,6 @@ %max = call <3 x double> @llvm.experimental.constrained.maxnum.v3f64( <3 x double> , <3 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <3 x double> %max } @@ -5860,7 +5856,6 @@ double 46.0, double 47.0>, <4 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <4 x double> %max } @@ -5904,7 +5899,6 @@ entry: %min = call <1 x float> @llvm.experimental.constrained.minnum.v1f32( <1 x float> , <1 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <1 x float> %min } @@ -5969,7 +5963,6 @@ %min = call <2 x double> @llvm.experimental.constrained.minnum.v2f64( <2 x double> , <2 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <2 x double> %min } @@ -6072,7 +6065,6 @@ %min = call <3 x float> @llvm.experimental.constrained.minnum.v3f32( <3 x float> , <3 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <3 x float> %min } @@ -6163,7 +6155,6 @@ %min = call <3 x double> @llvm.experimental.constrained.minnum.v3f64( <3 x double> , <3 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <3 x double> %min } @@ -6274,7 +6265,6 @@ double 46.0, double 47.0>, <4 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #1 ret <4 x double> %min } @@ -7152,8 +7142,8 @@ declare <2 x double> @llvm.experimental.constrained.log2.v2f64(<2 x double>, metadata, metadata) declare <2 x double> @llvm.experimental.constrained.rint.v2f64(<2 x double>, metadata, metadata) declare <2 x double> @llvm.experimental.constrained.nearbyint.v2f64(<2 x double>, metadata, metadata) -declare <2 x double> @llvm.experimental.constrained.maxnum.v2f64(<2 x double>, <2 x double>, metadata, metadata) -declare <2 x double> @llvm.experimental.constrained.minnum.v2f64(<2 x double>, <2 x double>, metadata, metadata) +declare <2 x double> @llvm.experimental.constrained.maxnum.v2f64(<2 x double>, <2 x double>, metadata) +declare <2 x double> @llvm.experimental.constrained.minnum.v2f64(<2 x double>, <2 x double>, metadata) declare <2 x float> @llvm.experimental.constrained.fptrunc.v2f32.v2f64(<2 x double>, metadata, metadata) declare <2 x double> @llvm.experimental.constrained.fpext.v2f64.v2f32(<2 x float>, metadata) declare <2 x double> @llvm.experimental.constrained.ceil.v2f64(<2 x double>, metadata, metadata) @@ -7179,8 +7169,8 @@ declare <1 x float> @llvm.experimental.constrained.log2.v1f32(<1 x float>, metadata, metadata) declare <1 x float> @llvm.experimental.constrained.rint.v1f32(<1 x float>, metadata, metadata) declare <1 x float> @llvm.experimental.constrained.nearbyint.v1f32(<1 x float>, metadata, metadata) -declare <1 x float> @llvm.experimental.constrained.maxnum.v1f32(<1 x float>, <1 x float>, metadata, metadata) -declare <1 x float> @llvm.experimental.constrained.minnum.v1f32(<1 x float>, <1 x float>, metadata, metadata) +declare <1 x float> @llvm.experimental.constrained.maxnum.v1f32(<1 x float>, <1 x float>, metadata) +declare <1 x float> @llvm.experimental.constrained.minnum.v1f32(<1 x float>, <1 x float>, metadata) declare <1 x float> @llvm.experimental.constrained.fptrunc.v1f32.v1f64(<1 x double>, metadata, metadata) declare <1 x double> @llvm.experimental.constrained.fpext.v1f64.v1f32(<1 x float>, metadata) declare <1 x float> @llvm.experimental.constrained.ceil.v1f32(<1 x float>, metadata, metadata) @@ -7223,10 +7213,10 @@ declare <3 x double> @llvm.experimental.constrained.rint.v3f64(<3 x double>, metadata, metadata) declare <3 x float> @llvm.experimental.constrained.nearbyint.v3f32(<3 x float>, metadata, metadata) declare <3 x double> @llvm.experimental.constrained.nearbyint.v3f64(<3 x double>, metadata, metadata) -declare <3 x float> @llvm.experimental.constrained.maxnum.v3f32(<3 x float>, <3 x float>, metadata, metadata) -declare <3 x double> @llvm.experimental.constrained.maxnum.v3f64(<3 x double>, <3 x double>, metadata, metadata) -declare <3 x float> @llvm.experimental.constrained.minnum.v3f32(<3 x float>, <3 x float>, metadata, metadata) -declare <3 x double> @llvm.experimental.constrained.minnum.v3f64(<3 x double>, <3 x double>, metadata, metadata) +declare <3 x float> @llvm.experimental.constrained.maxnum.v3f32(<3 x float>, <3 x float>, metadata) +declare <3 x double> @llvm.experimental.constrained.maxnum.v3f64(<3 x double>, <3 x double>, metadata) +declare <3 x float> @llvm.experimental.constrained.minnum.v3f32(<3 x float>, <3 x float>, metadata) +declare <3 x double> @llvm.experimental.constrained.minnum.v3f64(<3 x double>, <3 x double>, metadata) declare <3 x float> @llvm.experimental.constrained.fptrunc.v3f32.v3f64(<3 x double>, metadata, metadata) declare <3 x double> @llvm.experimental.constrained.fpext.v3f64.v3f32(<3 x float>, metadata) declare <3 x float> @llvm.experimental.constrained.ceil.v3f32(<3 x float>, metadata, metadata) @@ -7256,8 +7246,8 @@ declare <4 x double> @llvm.experimental.constrained.log2.v4f64(<4 x double>, metadata, metadata) declare <4 x double> @llvm.experimental.constrained.rint.v4f64(<4 x double>, metadata, metadata) declare <4 x double> @llvm.experimental.constrained.nearbyint.v4f64(<4 x double>, metadata, metadata) -declare <4 x double> @llvm.experimental.constrained.maxnum.v4f64(<4 x double>, <4 x double>, metadata, metadata) -declare <4 x double> @llvm.experimental.constrained.minnum.v4f64(<4 x double>, <4 x double>, metadata, metadata) +declare <4 x double> @llvm.experimental.constrained.maxnum.v4f64(<4 x double>, <4 x double>, metadata) +declare <4 x double> @llvm.experimental.constrained.minnum.v4f64(<4 x double>, <4 x double>, metadata) declare <4 x float> @llvm.experimental.constrained.fptrunc.v4f32.v4f64(<4 x double>, metadata, metadata) declare <4 x double> @llvm.experimental.constrained.fpext.v4f64.v4f32(<4 x float>, metadata) declare <4 x double> @llvm.experimental.constrained.ceil.v4f64(<4 x double>, metadata, metadata) Index: llvm/test/CodeGen/SystemZ/vec-strict-max-01.ll =================================================================== --- llvm/test/CodeGen/SystemZ/vec-strict-max-01.ll +++ llvm/test/CodeGen/SystemZ/vec-strict-max-01.ll @@ -2,13 +2,13 @@ ; ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z14 | FileCheck %s -declare double @llvm.experimental.constrained.maxnum.f64(double, double, metadata, metadata) -declare <2 x double> @llvm.experimental.constrained.maxnum.v2f64(<2 x double>, <2 x double>, metadata, metadata) +declare double @llvm.experimental.constrained.maxnum.f64(double, double, metadata) +declare <2 x double> @llvm.experimental.constrained.maxnum.v2f64(<2 x double>, <2 x double>, metadata) -declare float @llvm.experimental.constrained.maxnum.f32(float, float, metadata, metadata) -declare <4 x float> @llvm.experimental.constrained.maxnum.v4f32(<4 x float>, <4 x float>, metadata, metadata) +declare float @llvm.experimental.constrained.maxnum.f32(float, float, metadata) +declare <4 x float> @llvm.experimental.constrained.maxnum.v4f32(<4 x float>, <4 x float>, metadata) -declare fp128 @llvm.experimental.constrained.maxnum.f128(fp128, fp128, metadata, metadata) +declare fp128 @llvm.experimental.constrained.maxnum.f128(fp128, fp128, metadata) ; Test the f64 maxnum intrinsic. define double @f1(double %dummy, double %val1, double %val2) #0 { @@ -17,7 +17,6 @@ ; CHECK: br %r14 %ret = call double @llvm.experimental.constrained.maxnum.f64( double %val1, double %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret double %ret } @@ -30,7 +29,6 @@ ; CHECK: br %r14 %ret = call <2 x double> @llvm.experimental.constrained.maxnum.v2f64( <2 x double> %val1, <2 x double> %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <2 x double> %ret } @@ -42,7 +40,6 @@ ; CHECK: br %r14 %ret = call float @llvm.experimental.constrained.maxnum.f32( float %val1, float %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret float %ret } @@ -55,7 +52,6 @@ ; CHECK: br %r14 %ret = call <4 x float> @llvm.experimental.constrained.maxnum.v4f32( <4 x float> %val1, <4 x float> %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <4 x float> %ret } @@ -72,7 +68,6 @@ %val2 = load fp128, fp128* %ptr2 %res = call fp128 @llvm.experimental.constrained.maxnum.f128( fp128 %val1, fp128 %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 store fp128 %res, fp128* %dst ret void Index: llvm/test/CodeGen/SystemZ/vec-strict-min-01.ll =================================================================== --- llvm/test/CodeGen/SystemZ/vec-strict-min-01.ll +++ llvm/test/CodeGen/SystemZ/vec-strict-min-01.ll @@ -2,13 +2,13 @@ ; ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z14 | FileCheck %s -declare double @llvm.experimental.constrained.minnum.f64(double, double, metadata, metadata) -declare <2 x double> @llvm.experimental.constrained.minnum.v2f64(<2 x double>, <2 x double>, metadata, metadata) +declare double @llvm.experimental.constrained.minnum.f64(double, double, metadata) +declare <2 x double> @llvm.experimental.constrained.minnum.v2f64(<2 x double>, <2 x double>, metadata) -declare float @llvm.experimental.constrained.minnum.f32(float, float, metadata, metadata) -declare <4 x float> @llvm.experimental.constrained.minnum.v4f32(<4 x float>, <4 x float>, metadata, metadata) +declare float @llvm.experimental.constrained.minnum.f32(float, float, metadata) +declare <4 x float> @llvm.experimental.constrained.minnum.v4f32(<4 x float>, <4 x float>, metadata) -declare fp128 @llvm.experimental.constrained.minnum.f128(fp128, fp128, metadata, metadata) +declare fp128 @llvm.experimental.constrained.minnum.f128(fp128, fp128, metadata) ; Test the f64 minnum intrinsic. define double @f1(double %dummy, double %val1, double %val2) #0 { @@ -17,7 +17,6 @@ ; CHECK: br %r14 %ret = call double @llvm.experimental.constrained.minnum.f64( double %val1, double %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret double %ret } @@ -30,7 +29,6 @@ ; CHECK: br %r14 %ret = call <2 x double> @llvm.experimental.constrained.minnum.v2f64( <2 x double> %val1, <2 x double> %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <2 x double> %ret } @@ -42,7 +40,6 @@ ; CHECK: br %r14 %ret = call float @llvm.experimental.constrained.minnum.f32( float %val1, float %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret float %ret } @@ -55,7 +52,6 @@ ; CHECK: br %r14 %ret = call <4 x float> @llvm.experimental.constrained.minnum.v4f32( <4 x float> %val1, <4 x float> %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <4 x float> %ret } @@ -72,7 +68,6 @@ %val2 = load fp128, fp128* %ptr2 %res = call fp128 @llvm.experimental.constrained.minnum.f128( fp128 %val1, fp128 %val2, - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 store fp128 %res, fp128* %dst ret void Index: llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll =================================================================== --- llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll +++ llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll @@ -4619,7 +4619,6 @@ entry: %max = call <1 x float> @llvm.experimental.constrained.maxnum.v1f32( <1 x float> , <1 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <1 x float> %max } @@ -4680,7 +4679,6 @@ %max = call <2 x double> @llvm.experimental.constrained.maxnum.v2f64( <2 x double> , <2 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <2 x double> %max } @@ -4768,7 +4766,6 @@ %max = call <3 x float> @llvm.experimental.constrained.maxnum.v3f32( <3 x float> , <3 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <3 x float> %max } @@ -4859,7 +4856,6 @@ %max = call <3 x double> @llvm.experimental.constrained.maxnum.v3f64( <3 x double> %b, <3 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 store <3 x double> %max, <3 x double>* %a ret void @@ -4962,7 +4958,6 @@ double 46.0, double 47.0>, <4 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <4 x double> %max } @@ -5002,7 +4997,6 @@ entry: %min = call <1 x float> @llvm.experimental.constrained.minnum.v1f32( <1 x float> , <1 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <1 x float> %min } @@ -5063,7 +5057,6 @@ %min = call <2 x double> @llvm.experimental.constrained.minnum.v2f64( <2 x double> , <2 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <2 x double> %min } @@ -5151,7 +5144,6 @@ %min = call <3 x float> @llvm.experimental.constrained.minnum.v3f32( <3 x float> , <3 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <3 x float> %min } @@ -5246,7 +5238,6 @@ %min = call <3 x double> @llvm.experimental.constrained.minnum.v3f64( <3 x double> %b, <3 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 store <3 x double> %min, <3 x double>* %a ret void @@ -5349,7 +5340,6 @@ double 46.0, double 47.0>, <4 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <4 x double> %min } @@ -6327,8 +6317,8 @@ declare <2 x double> @llvm.experimental.constrained.log2.v2f64(<2 x double>, metadata, metadata) declare <2 x double> @llvm.experimental.constrained.rint.v2f64(<2 x double>, metadata, metadata) declare <2 x double> @llvm.experimental.constrained.nearbyint.v2f64(<2 x double>, metadata, metadata) -declare <2 x double> @llvm.experimental.constrained.maxnum.v2f64(<2 x double>, <2 x double>, metadata, metadata) -declare <2 x double> @llvm.experimental.constrained.minnum.v2f64(<2 x double>, <2 x double>, metadata, metadata) +declare <2 x double> @llvm.experimental.constrained.maxnum.v2f64(<2 x double>, <2 x double>, metadata) +declare <2 x double> @llvm.experimental.constrained.minnum.v2f64(<2 x double>, <2 x double>, metadata) declare <2 x float> @llvm.experimental.constrained.fptrunc.v2f32.v2f64(<2 x double>, metadata, metadata) declare <2 x double> @llvm.experimental.constrained.fpext.v2f64.v2f32(<2 x float>, metadata) declare <2 x double> @llvm.experimental.constrained.ceil.v2f64(<2 x double>, metadata, metadata) @@ -6353,8 +6343,8 @@ declare <1 x float> @llvm.experimental.constrained.log2.v1f32(<1 x float>, metadata, metadata) declare <1 x float> @llvm.experimental.constrained.rint.v1f32(<1 x float>, metadata, metadata) declare <1 x float> @llvm.experimental.constrained.nearbyint.v1f32(<1 x float>, metadata, metadata) -declare <1 x float> @llvm.experimental.constrained.maxnum.v1f32(<1 x float>, <1 x float>, metadata, metadata) -declare <1 x float> @llvm.experimental.constrained.minnum.v1f32(<1 x float>, <1 x float>, metadata, metadata) +declare <1 x float> @llvm.experimental.constrained.maxnum.v1f32(<1 x float>, <1 x float>, metadata) +declare <1 x float> @llvm.experimental.constrained.minnum.v1f32(<1 x float>, <1 x float>, metadata) declare <1 x float> @llvm.experimental.constrained.fptrunc.v1f32.v1f64(<1 x double>, metadata, metadata) declare <1 x double> @llvm.experimental.constrained.fpext.v1f64.v1f32(<1 x float>, metadata) declare <1 x float> @llvm.experimental.constrained.ceil.v1f32(<1 x float>, metadata, metadata) @@ -6396,10 +6386,10 @@ declare <3 x double> @llvm.experimental.constrained.rint.v3f64(<3 x double>, metadata, metadata) declare <3 x float> @llvm.experimental.constrained.nearbyint.v3f32(<3 x float>, metadata, metadata) declare <3 x double> @llvm.experimental.constrained.nearbyint.v3f64(<3 x double>, metadata, metadata) -declare <3 x float> @llvm.experimental.constrained.maxnum.v3f32(<3 x float>, <3 x float>, metadata, metadata) -declare <3 x double> @llvm.experimental.constrained.maxnum.v3f64(<3 x double>, <3 x double>, metadata, metadata) -declare <3 x float> @llvm.experimental.constrained.minnum.v3f32(<3 x float>, <3 x float>, metadata, metadata) -declare <3 x double> @llvm.experimental.constrained.minnum.v3f64(<3 x double>, <3 x double>, metadata, metadata) +declare <3 x float> @llvm.experimental.constrained.maxnum.v3f32(<3 x float>, <3 x float>, metadata) +declare <3 x double> @llvm.experimental.constrained.maxnum.v3f64(<3 x double>, <3 x double>, metadata) +declare <3 x float> @llvm.experimental.constrained.minnum.v3f32(<3 x float>, <3 x float>, metadata) +declare <3 x double> @llvm.experimental.constrained.minnum.v3f64(<3 x double>, <3 x double>, metadata) declare <3 x float> @llvm.experimental.constrained.fptrunc.v3f32.v3f64(<3 x double>, metadata, metadata) declare <3 x double> @llvm.experimental.constrained.fpext.v3f64.v3f32(<3 x float>, metadata) declare <3 x float> @llvm.experimental.constrained.ceil.v3f32(<3 x float>, metadata, metadata) @@ -6428,8 +6418,8 @@ declare <4 x double> @llvm.experimental.constrained.log2.v4f64(<4 x double>, metadata, metadata) declare <4 x double> @llvm.experimental.constrained.rint.v4f64(<4 x double>, metadata, metadata) declare <4 x double> @llvm.experimental.constrained.nearbyint.v4f64(<4 x double>, metadata, metadata) -declare <4 x double> @llvm.experimental.constrained.maxnum.v4f64(<4 x double>, <4 x double>, metadata, metadata) -declare <4 x double> @llvm.experimental.constrained.minnum.v4f64(<4 x double>, <4 x double>, metadata, metadata) +declare <4 x double> @llvm.experimental.constrained.maxnum.v4f64(<4 x double>, <4 x double>, metadata) +declare <4 x double> @llvm.experimental.constrained.minnum.v4f64(<4 x double>, <4 x double>, metadata) declare <4 x float> @llvm.experimental.constrained.fptrunc.v4f32.v4f64(<4 x double>, metadata, metadata) declare <4 x double> @llvm.experimental.constrained.fpext.v4f64.v4f32(<4 x float>, metadata) declare <4 x double> @llvm.experimental.constrained.ceil.v4f64(<4 x double>, metadata, metadata) Index: llvm/test/CodeGen/X86/fp128-libcalls-strict.ll =================================================================== --- llvm/test/CodeGen/X86/fp128-libcalls-strict.ll +++ llvm/test/CodeGen/X86/fp128-libcalls-strict.ll @@ -654,7 +654,7 @@ ; X86-NEXT: popl %edi ; X86-NEXT: retl $4 entry: - %maxnum = call fp128 @llvm.experimental.constrained.maxnum.f128(fp128 %x, fp128 %y, metadata !"round.dynamic", metadata !"fpexcept.strict") #0 + %maxnum = call fp128 @llvm.experimental.constrained.maxnum.f128(fp128 %x, fp128 %y, metadata !"fpexcept.strict") #0 ret fp128 %maxnum } @@ -699,7 +699,7 @@ ; X86-NEXT: popl %edi ; X86-NEXT: retl $4 entry: - %minnum = call fp128 @llvm.experimental.constrained.minnum.f128(fp128 %x, fp128 %y, metadata !"round.dynamic", metadata !"fpexcept.strict") #0 + %minnum = call fp128 @llvm.experimental.constrained.minnum.f128(fp128 %x, fp128 %y, metadata !"fpexcept.strict") #0 ret fp128 %minnum } @@ -1144,8 +1144,8 @@ declare fp128 @llvm.experimental.constrained.log.f128(fp128, metadata, metadata) declare fp128 @llvm.experimental.constrained.log10.f128(fp128, metadata, metadata) declare fp128 @llvm.experimental.constrained.log2.f128(fp128, metadata, metadata) -declare fp128 @llvm.experimental.constrained.maxnum.f128(fp128, fp128, metadata, metadata) -declare fp128 @llvm.experimental.constrained.minnum.f128(fp128, fp128, metadata, metadata) +declare fp128 @llvm.experimental.constrained.maxnum.f128(fp128, fp128, metadata) +declare fp128 @llvm.experimental.constrained.minnum.f128(fp128, fp128, metadata) declare fp128 @llvm.experimental.constrained.nearbyint.f128(fp128, metadata, metadata) declare fp128 @llvm.experimental.constrained.pow.f128(fp128, fp128, metadata, metadata) declare fp128 @llvm.experimental.constrained.powi.f128(fp128, i32, metadata, metadata) Index: llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll =================================================================== --- llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll +++ llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll @@ -3373,7 +3373,6 @@ entry: %max = call <1 x float> @llvm.experimental.constrained.maxnum.v1f32( <1 x float> , <1 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <1 x float> %max } @@ -3416,7 +3415,6 @@ %max = call <2 x double> @llvm.experimental.constrained.maxnum.v2f64( <2 x double> , <2 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <2 x double> %max } @@ -3472,7 +3470,6 @@ %max = call <3 x float> @llvm.experimental.constrained.maxnum.v3f32( <3 x float> , <3 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <3 x float> %max } @@ -3530,7 +3527,6 @@ %max = call <3 x double> @llvm.experimental.constrained.maxnum.v3f64( <3 x double> , <3 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <3 x double> %max } @@ -3598,7 +3594,6 @@ double 46.0, double 47.0>, <4 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <4 x double> %max } @@ -3628,7 +3623,6 @@ entry: %min = call <1 x float> @llvm.experimental.constrained.minnum.v1f32( <1 x float> , <1 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <1 x float> %min } @@ -3671,7 +3665,6 @@ %min = call <2 x double> @llvm.experimental.constrained.minnum.v2f64( <2 x double> , <2 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <2 x double> %min } @@ -3727,7 +3720,6 @@ %min = call <3 x float> @llvm.experimental.constrained.minnum.v3f32( <3 x float> , <3 x float> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <3 x float> %min } @@ -3785,7 +3777,6 @@ %min = call <3 x double> @llvm.experimental.constrained.minnum.v3f64( <3 x double> , <3 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <3 x double> %min } @@ -3853,7 +3844,6 @@ double 46.0, double 47.0>, <4 x double> , - metadata !"round.dynamic", metadata !"fpexcept.strict") #0 ret <4 x double> %min } @@ -5806,8 +5796,8 @@ declare <2 x double> @llvm.experimental.constrained.log2.v2f64(<2 x double>, metadata, metadata) declare <2 x double> @llvm.experimental.constrained.rint.v2f64(<2 x double>, metadata, metadata) declare <2 x double> @llvm.experimental.constrained.nearbyint.v2f64(<2 x double>, metadata, metadata) -declare <2 x double> @llvm.experimental.constrained.maxnum.v2f64(<2 x double>, <2 x double>, metadata, metadata) -declare <2 x double> @llvm.experimental.constrained.minnum.v2f64(<2 x double>, <2 x double>, metadata, metadata) +declare <2 x double> @llvm.experimental.constrained.maxnum.v2f64(<2 x double>, <2 x double>, metadata) +declare <2 x double> @llvm.experimental.constrained.minnum.v2f64(<2 x double>, <2 x double>, metadata) declare <2 x i32> @llvm.experimental.constrained.fptosi.v2i32.v2f32(<2 x float>, metadata) declare <2 x i64> @llvm.experimental.constrained.fptosi.v2i64.v2f32(<2 x float>, metadata) declare <2 x i32> @llvm.experimental.constrained.fptosi.v2i32.v2f64(<2 x double>, metadata) @@ -5841,8 +5831,8 @@ declare <1 x float> @llvm.experimental.constrained.log2.v1f32(<1 x float>, metadata, metadata) declare <1 x float> @llvm.experimental.constrained.rint.v1f32(<1 x float>, metadata, metadata) declare <1 x float> @llvm.experimental.constrained.nearbyint.v1f32(<1 x float>, metadata, metadata) -declare <1 x float> @llvm.experimental.constrained.maxnum.v1f32(<1 x float>, <1 x float>, metadata, metadata) -declare <1 x float> @llvm.experimental.constrained.minnum.v1f32(<1 x float>, <1 x float>, metadata, metadata) +declare <1 x float> @llvm.experimental.constrained.maxnum.v1f32(<1 x float>, <1 x float>, metadata) +declare <1 x float> @llvm.experimental.constrained.minnum.v1f32(<1 x float>, <1 x float>, metadata) declare <1 x i32> @llvm.experimental.constrained.fptosi.v1i32.v1f32(<1 x float>, metadata) declare <1 x i64> @llvm.experimental.constrained.fptosi.v1i64.v1f32(<1 x float>, metadata) declare <1 x i32> @llvm.experimental.constrained.fptosi.v1i32.v1f64(<1 x double>, metadata) @@ -5893,10 +5883,10 @@ declare <3 x double> @llvm.experimental.constrained.rint.v3f64(<3 x double>, metadata, metadata) declare <3 x float> @llvm.experimental.constrained.nearbyint.v3f32(<3 x float>, metadata, metadata) declare <3 x double> @llvm.experimental.constrained.nearbyint.v3f64(<3 x double>, metadata, metadata) -declare <3 x float> @llvm.experimental.constrained.maxnum.v3f32(<3 x float>, <3 x float>, metadata, metadata) -declare <3 x double> @llvm.experimental.constrained.maxnum.v3f64(<3 x double>, <3 x double>, metadata, metadata) -declare <3 x float> @llvm.experimental.constrained.minnum.v3f32(<3 x float>, <3 x float>, metadata, metadata) -declare <3 x double> @llvm.experimental.constrained.minnum.v3f64(<3 x double>, <3 x double>, metadata, metadata) +declare <3 x float> @llvm.experimental.constrained.maxnum.v3f32(<3 x float>, <3 x float>, metadata) +declare <3 x double> @llvm.experimental.constrained.maxnum.v3f64(<3 x double>, <3 x double>, metadata) +declare <3 x float> @llvm.experimental.constrained.minnum.v3f32(<3 x float>, <3 x float>, metadata) +declare <3 x double> @llvm.experimental.constrained.minnum.v3f64(<3 x double>, <3 x double>, metadata) declare <3 x i32> @llvm.experimental.constrained.fptosi.v3i32.v3f32(<3 x float>, metadata) declare <3 x i64> @llvm.experimental.constrained.fptosi.v3i64.v3f32(<3 x float>, metadata) declare <3 x i32> @llvm.experimental.constrained.fptosi.v3i32.v3f64(<3 x double>, metadata) @@ -5934,8 +5924,8 @@ declare <4 x double> @llvm.experimental.constrained.log2.v4f64(<4 x double>, metadata, metadata) declare <4 x double> @llvm.experimental.constrained.rint.v4f64(<4 x double>, metadata, metadata) declare <4 x double> @llvm.experimental.constrained.nearbyint.v4f64(<4 x double>, metadata, metadata) -declare <4 x double> @llvm.experimental.constrained.maxnum.v4f64(<4 x double>, <4 x double>, metadata, metadata) -declare <4 x double> @llvm.experimental.constrained.minnum.v4f64(<4 x double>, <4 x double>, metadata, metadata) +declare <4 x double> @llvm.experimental.constrained.maxnum.v4f64(<4 x double>, <4 x double>, metadata) +declare <4 x double> @llvm.experimental.constrained.minnum.v4f64(<4 x double>, <4 x double>, metadata) declare <4 x i32> @llvm.experimental.constrained.fptosi.v4i32.v4f32(<4 x float>, metadata) declare <4 x i64> @llvm.experimental.constrained.fptosi.v4i64.v4f32(<4 x float>, metadata) declare <4 x i32> @llvm.experimental.constrained.fptosi.v4i32.v4f64(<4 x double>, metadata)