@@ -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