[X86] Fix some illegal rounding modes in some builtin test cases to ones that would properly compile to valid assembly.

llvm-svn: 282137
diff --git a/clang/test/CodeGen/avx512er-builtins.c b/clang/test/CodeGen/avx512er-builtins.c
index 1532935..19b2edc 100644
--- a/clang/test/CodeGen/avx512er-builtins.c
+++ b/clang/test/CodeGen/avx512er-builtins.c
@@ -8,19 +8,19 @@
 __m512d test_mm512_rsqrt28_round_pd(__m512d a) {
   // CHECK-LABEL: @test_mm512_rsqrt28_round_pd
   // CHECK: @llvm.x86.avx512.rsqrt28.pd
-  return _mm512_rsqrt28_round_pd(a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_rsqrt28_round_pd(a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_mask_rsqrt28_round_pd(__m512d s, __mmask8 m, __m512d a) {
   // CHECK-LABEL: @test_mm512_mask_rsqrt28_round_pd
   // CHECK: @llvm.x86.avx512.rsqrt28.pd
-  return _mm512_mask_rsqrt28_round_pd(s, m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_mask_rsqrt28_round_pd(s, m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_maskz_rsqrt28_round_pd(__mmask8 m, __m512d a) {
   // CHECK-LABEL: @test_mm512_maskz_rsqrt28_round_pd
   // CHECK: @llvm.x86.avx512.rsqrt28.pd
-  return _mm512_maskz_rsqrt28_round_pd(m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_maskz_rsqrt28_round_pd(m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_rsqrt28_pd(__m512d a) {
@@ -44,19 +44,19 @@
 __m512 test_mm512_rsqrt28_round_ps(__m512 a) {
   // CHECK-LABEL: @test_mm512_rsqrt28_round_ps
   // CHECK: @llvm.x86.avx512.rsqrt28.ps
-  return _mm512_rsqrt28_round_ps(a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_rsqrt28_round_ps(a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512 test_mm512_mask_rsqrt28_round_ps(__m512 s, __mmask16 m, __m512 a) {
   // CHECK-LABEL: @test_mm512_mask_rsqrt28_round_ps
   // CHECK: @llvm.x86.avx512.rsqrt28.ps
-  return _mm512_mask_rsqrt28_round_ps(s, m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_mask_rsqrt28_round_ps(s, m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512 test_mm512_maskz_rsqrt28_round_ps(__mmask16 m, __m512 a) {
   // CHECK-LABEL: @test_mm512_maskz_rsqrt28_round_ps
   // CHECK: @llvm.x86.avx512.rsqrt28.ps
-  return _mm512_maskz_rsqrt28_round_ps(m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_maskz_rsqrt28_round_ps(m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512 test_mm512_rsqrt28_ps(__m512 a) {
@@ -80,19 +80,19 @@
 __m128 test_mm_rsqrt28_round_ss(__m128 a, __m128 b) {
   // CHECK-LABEL: @test_mm_rsqrt28_round_ss
   // CHECK: @llvm.x86.avx512.rsqrt28.ss
-  return _mm_rsqrt28_round_ss(a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_rsqrt28_round_ss(a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128 test_mm_mask_rsqrt28_round_ss(__m128 s, __mmask16 m, __m128 a, __m128 b) {
   // CHECK-LABEL: @test_mm_mask_rsqrt28_round_ss
   // CHECK: @llvm.x86.avx512.rsqrt28.ss
-  return _mm_mask_rsqrt28_round_ss(s, m, a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_mask_rsqrt28_round_ss(s, m, a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128 test_mm_maskz_rsqrt28_round_ss(__mmask16 m, __m128 a, __m128 b) {
   // CHECK-LABEL: @test_mm_maskz_rsqrt28_round_ss
   // CHECK: @llvm.x86.avx512.rsqrt28.ss
-  return _mm_maskz_rsqrt28_round_ss(m, a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_maskz_rsqrt28_round_ss(m, a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128 test_mm_rsqrt28_ss(__m128 a, __m128 b) {
@@ -116,37 +116,37 @@
 __m128d test_mm_rsqrt28_round_sd(__m128d a, __m128d b) {
   // CHECK-LABEL: @test_mm_rsqrt28_round_sd
   // CHECK: @llvm.x86.avx512.rsqrt28.sd
-  return _mm_rsqrt28_round_sd(a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_rsqrt28_round_sd(a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128d test_mm_mask_rsqrt28_round_sd(__m128d s, __mmask8 m, __m128d a, __m128d b) {
   // CHECK-LABEL: @test_mm_mask_rsqrt28_round_sd
   // CHECK: @llvm.x86.avx512.rsqrt28.sd
-  return _mm_mask_rsqrt28_round_sd(s, m, a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_mask_rsqrt28_round_sd(s, m, a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128d test_mm_maskz_rsqrt28_round_sd(__mmask8 m, __m128d a, __m128d b) {
   // CHECK-LABEL: @test_mm_maskz_rsqrt28_round_sd
   // CHECK: @llvm.x86.avx512.rsqrt28.sd
-  return _mm_maskz_rsqrt28_round_sd(m, a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_maskz_rsqrt28_round_sd(m, a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_rcp28_round_pd(__m512d a) {
   // CHECK-LABEL: @test_mm512_rcp28_round_pd
   // CHECK: @llvm.x86.avx512.rcp28.pd
-  return _mm512_rcp28_round_pd(a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_rcp28_round_pd(a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_mask_rcp28_round_pd(__m512d s, __mmask8 m, __m512d a) {
   // CHECK-LABEL: @test_mm512_mask_rcp28_round_pd
   // CHECK: @llvm.x86.avx512.rcp28.pd
-  return _mm512_mask_rcp28_round_pd(s, m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_mask_rcp28_round_pd(s, m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_maskz_rcp28_round_pd(__mmask8 m, __m512d a) {
   // CHECK-LABEL: @test_mm512_maskz_rcp28_round_pd
   // CHECK: @llvm.x86.avx512.rcp28.pd
-  return _mm512_maskz_rcp28_round_pd(m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_maskz_rcp28_round_pd(m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_rcp28_pd(__m512d a) {
@@ -170,19 +170,19 @@
 __m512 test_mm512_rcp28_round_ps(__m512 a) {
   // CHECK-LABEL: @test_mm512_rcp28_round_ps
   // CHECK: @llvm.x86.avx512.rcp28.ps
-  return _mm512_rcp28_round_ps(a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_rcp28_round_ps(a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512 test_mm512_mask_rcp28_round_ps(__m512 s, __mmask16 m, __m512 a) {
   // CHECK-LABEL: @test_mm512_mask_rcp28_round_ps
   // CHECK: @llvm.x86.avx512.rcp28.ps
-  return _mm512_mask_rcp28_round_ps(s, m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_mask_rcp28_round_ps(s, m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512 test_mm512_maskz_rcp28_round_ps(__mmask16 m, __m512 a) {
   // CHECK-LABEL: @test_mm512_maskz_rcp28_round_ps
   // CHECK: @llvm.x86.avx512.rcp28.ps
-  return _mm512_maskz_rcp28_round_ps(m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_maskz_rcp28_round_ps(m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512 test_mm512_rcp28_ps(__m512 a) {
@@ -206,19 +206,19 @@
 __m128 test_mm_rcp28_round_ss(__m128 a, __m128 b) {
   // CHECK-LABEL: @test_mm_rcp28_round_ss
   // CHECK: @llvm.x86.avx512.rcp28.ss
-  return _mm_rcp28_round_ss(a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_rcp28_round_ss(a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128 test_mm_mask_rcp28_round_ss(__m128 s, __mmask16 m, __m128 a, __m128 b) {
   // CHECK-LABEL: @test_mm_mask_rcp28_round_ss
   // CHECK: @llvm.x86.avx512.rcp28.ss
-  return _mm_mask_rcp28_round_ss(s, m, a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_mask_rcp28_round_ss(s, m, a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128 test_mm_maskz_rcp28_round_ss(__mmask16 m, __m128 a, __m128 b) {
   // CHECK-LABEL: @test_mm_maskz_rcp28_round_ss
   // CHECK: @llvm.x86.avx512.rcp28.ss
-  return _mm_maskz_rcp28_round_ss(m, a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_maskz_rcp28_round_ss(m, a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128 test_mm_rcp28_ss(__m128 a, __m128 b) {
@@ -242,19 +242,19 @@
 __m128d test_mm_rcp28_round_sd(__m128d a, __m128d b) {
   // CHECK-LABEL: @test_mm_rcp28_round_sd
   // CHECK: @llvm.x86.avx512.rcp28.sd
-  return _mm_rcp28_round_sd(a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_rcp28_round_sd(a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128d test_mm_mask_rcp28_round_sd(__m128d s, __mmask8 m, __m128d a, __m128d b) {
   // CHECK-LABEL: @test_mm_mask_rcp28_round_sd
   // CHECK: @llvm.x86.avx512.rcp28.sd
-  return _mm_mask_rcp28_round_sd(s, m, a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_mask_rcp28_round_sd(s, m, a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128d test_mm_maskz_rcp28_round_sd(__mmask8 m, __m128d a, __m128d b) {
   // CHECK-LABEL: @test_mm_maskz_rcp28_round_sd
   // CHECK: @llvm.x86.avx512.rcp28.sd
-  return _mm_maskz_rcp28_round_sd(m, a, b, _MM_FROUND_TO_NEAREST_INT);
+  return _mm_maskz_rcp28_round_sd(m, a, b, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m128d test_mm_rcp28_sd(__m128d a, __m128d b) {
@@ -278,19 +278,19 @@
 __m512d test_mm512_exp2a23_round_pd(__m512d a) {
   // CHECK-LABEL: @test_mm512_exp2a23_round_pd
   // CHECK: @llvm.x86.avx512.exp2.pd
-  return _mm512_exp2a23_round_pd(a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_exp2a23_round_pd(a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_mask_exp2a23_round_pd(__m512d s, __mmask8 m, __m512d a) {
   // CHECK-LABEL: @test_mm512_mask_exp2a23_round_pd
   // CHECK: @llvm.x86.avx512.exp2.pd
-  return _mm512_mask_exp2a23_round_pd(s, m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_mask_exp2a23_round_pd(s, m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_maskz_exp2a23_round_pd(__mmask8 m, __m512d a) {
   // CHECK-LABEL: @test_mm512_maskz_exp2a23_round_pd
   // CHECK: @llvm.x86.avx512.exp2.pd
-  return _mm512_maskz_exp2a23_round_pd(m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_maskz_exp2a23_round_pd(m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512d test_mm512_exp2a23_pd(__m512d a) {
@@ -314,19 +314,19 @@
 __m512 test_mm512_exp2a23_round_ps(__m512 a) {
   // CHECK-LABEL: @test_mm512_exp2a23_round_ps
   // CHECK: @llvm.x86.avx512.exp2.ps
-  return _mm512_exp2a23_round_ps(a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_exp2a23_round_ps(a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512 test_mm512_mask_exp2a23_round_ps(__m512 s, __mmask16 m, __m512 a) {
   // CHECK-LABEL: @test_mm512_mask_exp2a23_round_ps
   // CHECK: @llvm.x86.avx512.exp2.ps
-  return _mm512_mask_exp2a23_round_ps(s, m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_mask_exp2a23_round_ps(s, m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512 test_mm512_maskz_exp2a23_round_ps(__mmask16 m, __m512 a) {
   // CHECK-LABEL: @test_mm512_maskz_exp2a23_round_ps
   // CHECK: @llvm.x86.avx512.exp2.ps
-  return _mm512_maskz_exp2a23_round_ps(m, a, _MM_FROUND_TO_NEAREST_INT);
+  return _mm512_maskz_exp2a23_round_ps(m, a, _MM_FROUND_CUR_DIRECTION);
 }
 
 __m512 test_mm512_exp2a23_ps(__m512 a) {