https://github.com/borysperski created https://github.com/llvm/llvm-project/pull/226708
Fixed minor issues in round builtins tests. Noticed them while working on #215787. >From f235f2172f91336f275cfe0e7fbb8b5f1c2e2fb9 Mon Sep 17 00:00:00 2001 From: Borys Perski <[email protected]> Date: Sat, 26 Sep 2026 17:06:37 +0200 Subject: [PATCH] [clang][X86] Fix round builtins tests 1. Fix an invalid CHECK directive. 2. Replace hard-coded register values with wildcards. 3. Use captured variables instead of re-capturing them. --- .../CodeGen/X86/sse41-builtins-constrained.c | 12 ++++++------ clang/test/CodeGen/X86/sse41-builtins.c | 18 +++++++++--------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/clang/test/CodeGen/X86/sse41-builtins-constrained.c b/clang/test/CodeGen/X86/sse41-builtins-constrained.c index 6b25bd27af7e0..2a0fcd052a7d4 100644 --- a/clang/test/CodeGen/X86/sse41-builtins-constrained.c +++ b/clang/test/CodeGen/X86/sse41-builtins-constrained.c @@ -58,8 +58,8 @@ __m128 test_mm_round_ps_fround_no_exc(__m128 x) { __m128d test_mm_round_sd_ceil(__m128d x, __m128d y) { // CHECK-LABEL: test_mm_round_sd_ceil // CHECK: %[[A:.*]] = extractelement <2 x double> %{{.*}}, i32 0 - // CHECK: %[[B:.*]] = call double @llvm.experimental.constrained.ceil.f64(double %[[A:.*]], metadata !"fpexcept.ignore") - // CHECK: %{{.*}} = insertelement <2 x double> %0, double %[[B:.*]], i32 0 + // CHECK: %[[B:.*]] = call double @llvm.experimental.constrained.ceil.f64(double %[[A]], metadata !"fpexcept.ignore") + // CHECK: %{{.*}} = insertelement <2 x double> %{{.*}}, double %[[B]], i32 0 return _mm_round_sd(x, y, 0b1010); } @@ -78,19 +78,19 @@ __m128d test_mm_round_sd_fround_no_exc(__m128d x, __m128d y) { __m128 test_mm_round_ss_trunc(__m128 x, __m128 y) { // CHECK-LABEL: test_mm_round_ss_trunc // CHECK: %[[A:.*]] = extractelement <4 x float> %{{.*}}, i32 0 - // CHECK: %[[B:.*]] = call float @llvm.experimental.constrained.trunc.f32(float %[[A:.*]], metadata !"fpexcept.ignore") - // CHECK: %{{.*}} = insertelement <4 x float> %0, float %[[B:.*]], i32 0 + // CHECK: %[[B:.*]] = call float @llvm.experimental.constrained.trunc.f32(float %[[A]], metadata !"fpexcept.ignore") + // CHECK: %{{.*}} = insertelement <4 x float> %{{.*}}, float %[[B]], i32 0 return _mm_round_ss(x, y, 0b1011); } __m128 test_mm_round_ss_mxcsr(__m128 x, __m128 y) { // CHECK-LABEL: test_mm_round_ss_mxcsr - // CHECK: %{{.*}} = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %{{.*}}, <4 x float> %1, i32 12) + // CHECK: %{{.*}} = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 12) return _mm_round_ss(x, y, 0b1100); } __m128 test_mm_round_ss_fround_no_exc(__m128 x, __m128 y) { // CHECK-LABEL: test_mm_round_ss_fround_no_exc - // CHECK: %{{.*}} = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %{{.*}}, <4 x float> %1, i32 0) + // CHECK: %{{.*}} = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 0) return _mm_round_ss(x, y, 0b0000); } diff --git a/clang/test/CodeGen/X86/sse41-builtins.c b/clang/test/CodeGen/X86/sse41-builtins.c index a12fc724f1398..ec743284afe43 100644 --- a/clang/test/CodeGen/X86/sse41-builtins.c +++ b/clang/test/CodeGen/X86/sse41-builtins.c @@ -75,7 +75,7 @@ TEST_CONSTEXPR(match_m128(_mm_blendv_ps((__m128)(__v4sf){0.0f, 1.0f, 2.0f, 3.0f} __m128d test_mm_ceil_pd(__m128d x) { // CHECK-LABEL: test_mm_ceil_pd - // CHECK %{{.*}} = call <2 x double> @llvm.ceil.v2f64(<2 x double> %{{.*}}) + // CHECK: %{{.*}} = call <2 x double> @llvm.x86.sse41.round.pd(<2 x double> %{{.*}}, i32 2) return _mm_ceil_pd(x); } @@ -478,40 +478,40 @@ __m128 test_mm_round_ps_fround_no_exc(__m128 x) { __m128d test_mm_round_sd(__m128d x, __m128d y) { // CHECK-LABEL: test_mm_round_sd // CHECK: %[[A:.*]] = extractelement <2 x double> %{{.*}}, i32 0 - // CHECK: %[[B:.*]] = call double @llvm.roundeven.f64(double %[[A:.*]]) - // CHECK: %{{.*}} = insertelement <2 x double> %0, double %[[B:.*]], i32 0 + // CHECK: %[[B:.*]] = call double @llvm.roundeven.f64(double %[[A]]) + // CHECK: %{{.*}} = insertelement <2 x double> %{{.*}}, double %[[B]], i32 0 return _mm_round_sd(x, y, 0b1000); } __m128d test_mm_round_sd_mxcsr(__m128d x, __m128d y) { // CHECK-LABEL: test_mm_round_sd_mxcsr - // CHECK: %{{.*}} = call <2 x double> @llvm.x86.sse41.round.sd(<2 x double> %0, <2 x double> %{{.*}}, i32 12) + // CHECK: %{{.*}} = call <2 x double> @llvm.x86.sse41.round.sd(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 12) return _mm_round_sd(x, y, 0b1100); } __m128d test_mm_round_sd_fround_no_exc(__m128d x, __m128d y) { // CHECK-LABEL: test_mm_round_sd_fround_no_exc - // CHECK: %{{.*}} = call <2 x double> @llvm.x86.sse41.round.sd(<2 x double> %0, <2 x double> %{{.*}}, i32 0) + // CHECK: %{{.*}} = call <2 x double> @llvm.x86.sse41.round.sd(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 0) return _mm_round_sd(x, y, 0b0000); } __m128 test_mm_round_ss(__m128 x, __m128 y) { // CHECK-LABEL: test_mm_round_ss // CHECK: %[[A:.*]] = extractelement <4 x float> %{{.*}}, i32 0 - // CHECK: %[[B:.*]] = call float @llvm.trunc.f32(float %[[A:.*]]) - // CHECK: %{{.*}} = insertelement <4 x float> %0, float %[[B:.*]], i32 0 + // CHECK: %[[B:.*]] = call float @llvm.trunc.f32(float %[[A]]) + // CHECK: %{{.*}} = insertelement <4 x float> %{{.*}}, float %[[B]], i32 0 return _mm_round_ss(x, y, 0b1011); } __m128 test_mm_round_ss_mxcsr(__m128 x, __m128 y) { // CHECK-LABEL: test_mm_round_ss_mxcsr - // CHECK: %{{.*}} = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %0, <4 x float> %{{.*}}, i32 12) + // CHECK: %{{.*}} = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 12) return _mm_round_ss(x, y, 0b1100); } __m128 test_mm_round_ss_fround_no_exc(__m128 x, __m128 y) { // CHECK-LABEL: test_mm_round_ss_fround_no_exc - // CHECK: %{{.*}} = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %0, <4 x float> %{{.*}}, i32 0) + // CHECK: %{{.*}} = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 0) return _mm_round_ss(x, y, 0b0000); } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
