@@ -1248,17 +1248,17 @@ extern "C" __device__ double test_fma_rn(double x, double y, double z) {
12481248
12491249//  DEFAULT-LABEL: @test_fmaxf(
12501250//  DEFAULT-NEXT:  entry:
1251- //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
1251+ //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
12521252//  DEFAULT-NEXT:    ret float [[TMP0]]
12531253// 
12541254//  FINITEONLY-LABEL: @test_fmaxf(
12551255//  FINITEONLY-NEXT:  entry:
1256- //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
1256+ //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf nsz  contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
12571257//  FINITEONLY-NEXT:    ret float [[TMP0]]
12581258// 
12591259//  APPROX-LABEL: @test_fmaxf(
12601260//  APPROX-NEXT:  entry:
1261- //  APPROX-NEXT:    [[TMP0:%.*]] = tail call contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
1261+ //  APPROX-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
12621262//  APPROX-NEXT:    ret float [[TMP0]]
12631263// 
12641264extern  " C"   __device__ float  test_fmaxf (float  x, float  y) {
@@ -1267,17 +1267,17 @@ extern "C" __device__ float test_fmaxf(float x, float y) {
12671267
12681268//  DEFAULT-LABEL: @test_fmax(
12691269//  DEFAULT-NEXT:  entry:
1270- //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
1270+ //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
12711271//  DEFAULT-NEXT:    ret double [[TMP0]]
12721272// 
12731273//  FINITEONLY-LABEL: @test_fmax(
12741274//  FINITEONLY-NEXT:  entry:
1275- //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
1275+ //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf nsz  contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
12761276//  FINITEONLY-NEXT:    ret double [[TMP0]]
12771277// 
12781278//  APPROX-LABEL: @test_fmax(
12791279//  APPROX-NEXT:  entry:
1280- //  APPROX-NEXT:    [[TMP0:%.*]] = tail call contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
1280+ //  APPROX-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
12811281//  APPROX-NEXT:    ret double [[TMP0]]
12821282// 
12831283extern  " C"   __device__ double  test_fmax (double  x, double  y) {
@@ -1286,17 +1286,17 @@ extern "C" __device__ double test_fmax(double x, double y) {
12861286
12871287//  DEFAULT-LABEL: @test_fminf(
12881288//  DEFAULT-NEXT:  entry:
1289- //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
1289+ //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
12901290//  DEFAULT-NEXT:    ret float [[TMP0]]
12911291// 
12921292//  FINITEONLY-LABEL: @test_fminf(
12931293//  FINITEONLY-NEXT:  entry:
1294- //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
1294+ //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf nsz  contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
12951295//  FINITEONLY-NEXT:    ret float [[TMP0]]
12961296// 
12971297//  APPROX-LABEL: @test_fminf(
12981298//  APPROX-NEXT:  entry:
1299- //  APPROX-NEXT:    [[TMP0:%.*]] = tail call contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
1299+ //  APPROX-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
13001300//  APPROX-NEXT:    ret float [[TMP0]]
13011301// 
13021302extern  " C"   __device__ float  test_fminf (float  x, float  y) {
@@ -1305,17 +1305,17 @@ extern "C" __device__ float test_fminf(float x, float y) {
13051305
13061306//  DEFAULT-LABEL: @test_fmin(
13071307//  DEFAULT-NEXT:  entry:
1308- //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
1308+ //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
13091309//  DEFAULT-NEXT:    ret double [[TMP0]]
13101310// 
13111311//  FINITEONLY-LABEL: @test_fmin(
13121312//  FINITEONLY-NEXT:  entry:
1313- //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
1313+ //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf nsz  contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
13141314//  FINITEONLY-NEXT:    ret double [[TMP0]]
13151315// 
13161316//  APPROX-LABEL: @test_fmin(
13171317//  APPROX-NEXT:  entry:
1318- //  APPROX-NEXT:    [[TMP0:%.*]] = tail call contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
1318+ //  APPROX-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
13191319//  APPROX-NEXT:    ret double [[TMP0]]
13201320// 
13211321extern  " C"   __device__ double  test_fmin (double  x, double  y) {
@@ -5114,17 +5114,17 @@ extern "C" __device__ double test__fma_rn(double x, double y, double z) {
51145114
51155115//  DEFAULT-LABEL: @test_float_min(
51165116//  DEFAULT-NEXT:  entry:
5117- //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
5117+ //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
51185118//  DEFAULT-NEXT:    ret float [[TMP0]]
51195119// 
51205120//  FINITEONLY-LABEL: @test_float_min(
51215121//  FINITEONLY-NEXT:  entry:
5122- //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
5122+ //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf nsz  contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
51235123//  FINITEONLY-NEXT:    ret float [[TMP0]]
51245124// 
51255125//  APPROX-LABEL: @test_float_min(
51265126//  APPROX-NEXT:  entry:
5127- //  APPROX-NEXT:    [[TMP0:%.*]] = tail call contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
5127+ //  APPROX-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef float @llvm.minnum.f32(float [[X:%.*]], float [[Y:%.*]])
51285128//  APPROX-NEXT:    ret float [[TMP0]]
51295129// 
51305130extern  " C"   __device__ float  test_float_min (float  x, float  y) {
@@ -5133,17 +5133,17 @@ extern "C" __device__ float test_float_min(float x, float y) {
51335133
51345134//  DEFAULT-LABEL: @test_float_max(
51355135//  DEFAULT-NEXT:  entry:
5136- //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
5136+ //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
51375137//  DEFAULT-NEXT:    ret float [[TMP0]]
51385138// 
51395139//  FINITEONLY-LABEL: @test_float_max(
51405140//  FINITEONLY-NEXT:  entry:
5141- //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
5141+ //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf nsz  contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
51425142//  FINITEONLY-NEXT:    ret float [[TMP0]]
51435143// 
51445144//  APPROX-LABEL: @test_float_max(
51455145//  APPROX-NEXT:  entry:
5146- //  APPROX-NEXT:    [[TMP0:%.*]] = tail call contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
5146+ //  APPROX-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef float @llvm.maxnum.f32(float [[X:%.*]], float [[Y:%.*]])
51475147//  APPROX-NEXT:    ret float [[TMP0]]
51485148// 
51495149extern  " C"   __device__ float  test_float_max (float  x, float  y) {
@@ -5152,17 +5152,17 @@ extern "C" __device__ float test_float_max(float x, float y) {
51525152
51535153//  DEFAULT-LABEL: @test_double_min(
51545154//  DEFAULT-NEXT:  entry:
5155- //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
5155+ //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
51565156//  DEFAULT-NEXT:    ret double [[TMP0]]
51575157// 
51585158//  FINITEONLY-LABEL: @test_double_min(
51595159//  FINITEONLY-NEXT:  entry:
5160- //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
5160+ //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf nsz  contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
51615161//  FINITEONLY-NEXT:    ret double [[TMP0]]
51625162// 
51635163//  APPROX-LABEL: @test_double_min(
51645164//  APPROX-NEXT:  entry:
5165- //  APPROX-NEXT:    [[TMP0:%.*]] = tail call contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
5165+ //  APPROX-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef double @llvm.minnum.f64(double [[X:%.*]], double [[Y:%.*]])
51665166//  APPROX-NEXT:    ret double [[TMP0]]
51675167// 
51685168extern  " C"   __device__ double  test_double_min (double  x, double  y) {
@@ -5171,17 +5171,17 @@ extern "C" __device__ double test_double_min(double x, double y) {
51715171
51725172//  DEFAULT-LABEL: @test_double_max(
51735173//  DEFAULT-NEXT:  entry:
5174- //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
5174+ //  DEFAULT-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
51755175//  DEFAULT-NEXT:    ret double [[TMP0]]
51765176// 
51775177//  FINITEONLY-LABEL: @test_double_max(
51785178//  FINITEONLY-NEXT:  entry:
5179- //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
5179+ //  FINITEONLY-NEXT:    [[TMP0:%.*]] = tail call nnan ninf nsz  contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
51805180//  FINITEONLY-NEXT:    ret double [[TMP0]]
51815181// 
51825182//  APPROX-LABEL: @test_double_max(
51835183//  APPROX-NEXT:  entry:
5184- //  APPROX-NEXT:    [[TMP0:%.*]] = tail call contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
5184+ //  APPROX-NEXT:    [[TMP0:%.*]] = tail call nsz  contract noundef double @llvm.maxnum.f64(double [[X:%.*]], double [[Y:%.*]])
51855185//  APPROX-NEXT:    ret double [[TMP0]]
51865186// 
51875187extern  " C"   __device__ double  test_double_max (double  x, double  y) {
0 commit comments