[clang] 2389488 - [NFC][clang] Strengthen checks in avx512f-builtins.c
Nuno Lopes via cfe-commits
cfe-commits at lists.llvm.org
Sun Dec 4 06:55:58 PST 2022
Author: John McIver
Date: 2022-12-04T14:55:41Z
New Revision: 23894884377372d2ea048b452bf9a68de3e8515a
URL: https://github.com/llvm/llvm-project/commit/23894884377372d2ea048b452bf9a68de3e8515a
DIFF: https://github.com/llvm/llvm-project/commit/23894884377372d2ea048b452bf9a68de3e8515a.diff
LOG: [NFC][clang] Strengthen checks in avx512f-builtins.c
* Add check to unnamed portion of nontemporal attribute
* Add end-of-line check to load instructions
Added:
Modified:
clang/test/CodeGen/X86/avx512f-builtins.c
Removed:
################################################################################
diff --git a/clang/test/CodeGen/X86/avx512f-builtins.c b/clang/test/CodeGen/X86/avx512f-builtins.c
index 8a0c273415275..12a406455d5ad 100644
--- a/clang/test/CodeGen/X86/avx512f-builtins.c
+++ b/clang/test/CodeGen/X86/avx512f-builtins.c
@@ -207,8 +207,8 @@ void test_mm512_mask_store_ps(void *p, __m512 a, __mmask16 m)
void test_mm512_store_si512 (void *__P, __m512i __A)
{
// CHECK-LABEL: @test_mm512_store_si512
- // CHECK: load <8 x i64>, <8 x i64>* %__A.addr.i, align 64
- // CHECK: [[SI512_3:%.+]] = load i8*, i8** %__P.addr.i, align 8
+ // CHECK: load <8 x i64>, <8 x i64>* %__A.addr.i, align 64{{$}}
+ // CHECK: [[SI512_3:%.+]] = load i8*, i8** %__P.addr.i, align 8{{$}}
// CHECK: bitcast i8* [[SI512_3]] to <8 x i64>*
// CHECK: store <8 x i64>
_mm512_store_si512 ( __P,__A);
@@ -217,8 +217,8 @@ void test_mm512_store_si512 (void *__P, __m512i __A)
void test_mm512_store_epi32 (void *__P, __m512i __A)
{
// CHECK-LABEL: @test_mm512_store_epi32
- // CHECK: load <8 x i64>, <8 x i64>* %__A.addr.i, align 64
- // CHECK: [[Si32_3:%.+]] = load i8*, i8** %__P.addr.i, align 8
+ // CHECK: load <8 x i64>, <8 x i64>* %__A.addr.i, align 64{{$}}
+ // CHECK: [[Si32_3:%.+]] = load i8*, i8** %__P.addr.i, align 8{{$}}
// CHECK: bitcast i8* [[Si32_3]] to <8 x i64>*
// CHECK: store <8 x i64>
_mm512_store_epi32 ( __P,__A);
@@ -227,8 +227,8 @@ void test_mm512_store_epi32 (void *__P, __m512i __A)
void test_mm512_store_epi64 (void *__P, __m512i __A)
{
// CHECK-LABEL: @test_mm512_store_epi64
- // CHECK: load <8 x i64>, <8 x i64>* %__A.addr.i, align 64
- // CHECK: [[SI64_3:%.+]] = load i8*, i8** %__P.addr.i, align 8
+ // CHECK: load <8 x i64>, <8 x i64>* %__A.addr.i, align 64{{$}}
+ // CHECK: [[SI64_3:%.+]] = load i8*, i8** %__P.addr.i, align 8{{$}}
// CHECK: bitcast i8* [[SI64_3]] to <8 x i64>*
// CHECK: store <8 x i64>
_mm512_store_epi64 ( __P,__A);
@@ -359,34 +359,34 @@ __m512d test_mm512_mask_loadu_pd (__m512d __W, __mmask8 __U, void *__P)
__m512i test_mm512_load_si512 (void *__P)
{
// CHECK-LABEL: @test_mm512_load_si512
- // CHECK: [[LI512_1:%.+]] = load i8*, i8** %__P.addr.i, align 8
+ // CHECK: [[LI512_1:%.+]] = load i8*, i8** %__P.addr.i, align 8{{$}}
// CHECK: [[LI512_2:%.+]] = bitcast i8* [[LI512_1]] to <8 x i64>*
- // CHECK: load <8 x i64>, <8 x i64>* [[LI512_2]], align 64
+ // CHECK: load <8 x i64>, <8 x i64>* [[LI512_2]], align 64{{$}}
return _mm512_load_si512 ( __P);
}
__m512i test_mm512_load_epi32 (void *__P)
{
// CHECK-LABEL: @test_mm512_load_epi32
- // CHECK: [[LI32_1:%.+]] = load i8*, i8** %__P.addr.i, align 8
+ // CHECK: [[LI32_1:%.+]] = load i8*, i8** %__P.addr.i, align 8{{$}}
// CHECK: [[LI32_2:%.+]] = bitcast i8* [[LI32_1]] to <8 x i64>*
- // CHECK: load <8 x i64>, <8 x i64>* [[LI32_2]], align 64
+ // CHECK: load <8 x i64>, <8 x i64>* [[LI32_2]], align 64{{$}}
return _mm512_load_epi32 ( __P);
}
__m512i test_mm512_load_epi64 (void *__P)
{
// CHECK-LABEL: @test_mm512_load_epi64
- // CHECK: [[LI64_1:%.+]] = load i8*, i8** %__P.addr.i, align 8
+ // CHECK: [[LI64_1:%.+]] = load i8*, i8** %__P.addr.i, align 8{{$}}
// CHECK: [[LI64_2:%.+]] = bitcast i8* [[LI64_1]] to <8 x i64>*
- // CHECK: load <8 x i64>, <8 x i64>* [[LI64_2]], align 64
+ // CHECK: load <8 x i64>, <8 x i64>* [[LI64_2]], align 64{{$}}
return _mm512_load_epi64 ( __P);
}
__m512 test_mm512_load_ps(void *p)
{
// CHECK-LABEL: @test_mm512_load_ps
- // CHECK: load <16 x float>, <16 x float>* %{{.*}}, align 64
+ // CHECK: load <16 x float>, <16 x float>* %{{.*}}, align 64{{$}}
return _mm512_load_ps(p);
}
@@ -407,7 +407,7 @@ __m512 test_mm512_maskz_load_ps(__mmask16 __U, void *__P)
__m512d test_mm512_load_pd(void *p)
{
// CHECK-LABEL: @test_mm512_load_pd
- // CHECK: load <8 x double>, <8 x double>* %{{.*}}, align 64
+ // CHECK: load <8 x double>, <8 x double>* %{{.*}}, align 64{{$}}
return _mm512_load_pd(p);
}
@@ -4610,7 +4610,7 @@ __m128 test_mm_getmant_ss(__m128 __A, __m128 __B) {
__mmask16 test_mm512_kmov(__mmask16 __A) {
// CHECK-LABEL: @test_mm512_kmov
- // CHECK: load i16, i16* %__A.addr.i, align 2
+ // CHECK: load i16, i16* %__A.addr.i, align 2{{$}}
return _mm512_kmov(__A);
}
@@ -8525,7 +8525,7 @@ __mmask16 test_cvtu32_mask16(__m512i A, __m512i B, unsigned int C) {
__mmask16 test_load_mask16(__mmask16 *A, __m512i B, __m512i C) {
// CHECK-LABEL: @test_load_mask16
- // CHECK: [[LOAD:%.*]] = load i16, i16* %{{.*}}
+ // CHECK: [[LOAD:%.*]] = load i16, i16* %{{.*}}{{$}}
// CHECK: bitcast i16 [[LOAD]] to <16 x i1>
return _mm512_mask_cmpneq_epu32_mask(_load_mask16(A), B, C);
}
@@ -8539,49 +8539,49 @@ void test_store_mask16(__mmask16 *A, __m512i B, __m512i C) {
void test_mm512_stream_si512(__m512i * __P, __m512i __A) {
// CHECK-LABEL: @test_mm512_stream_si512
- // CHECK: store <8 x i64> %{{.*}}, <8 x i64>* %{{.*}}, align 64, !nontemporal
+ // CHECK: store <8 x i64> %{{.*}}, <8 x i64>* %{{.*}}, align 64, !nontemporal [[NONTEMPORAL:![0-9]+]]
_mm512_stream_si512(__P, __A);
}
void test_mm512_stream_si512_2(void * __P, __m512i __A) {
// CHECK-LABEL: @test_mm512_stream_si512
- // CHECK: store <8 x i64> %{{.*}}, <8 x i64>* %{{.*}}, align 64, !nontemporal
+ // CHECK: store <8 x i64> %{{.*}}, <8 x i64>* %{{.*}}, align 64, !nontemporal [[NONTEMPORAL]]
_mm512_stream_si512(__P, __A);
}
__m512i test_mm512_stream_load_si512(void *__P) {
// CHECK-LABEL: @test_mm512_stream_load_si512
- // CHECK: load <8 x i64>, <8 x i64>* %{{.*}}, align 64, !nontemporal
+ // CHECK: load <8 x i64>, <8 x i64>* %{{.*}}, align 64, !nontemporal [[NONTEMPORAL]]{{$}}
return _mm512_stream_load_si512(__P);
}
__m512i test_mm512_stream_load_si512_const(void const *__P) {
// CHECK-LABEL: @test_mm512_stream_load_si512_const
- // CHECK: load <8 x i64>, <8 x i64>* %{{.*}}, align 64, !nontemporal
+ // CHECK: load <8 x i64>, <8 x i64>* %{{.*}}, align 64, !nontemporal [[NONTEMPORAL]]{{$}}
return _mm512_stream_load_si512(__P);
}
void test_mm512_stream_pd(double *__P, __m512d __A) {
// CHECK-LABEL: @test_mm512_stream_pd
- // CHECK: store <8 x double> %{{.*}}, <8 x double>* %{{.*}}, align 64, !nontemporal
+ // CHECK: store <8 x double> %{{.*}}, <8 x double>* %{{.*}}, align 64, !nontemporal [[NONTEMPORAL]]
return _mm512_stream_pd(__P, __A);
}
void test_mm512_stream_pd_2(void *__P, __m512d __A) {
// CHECK-LABEL: @test_mm512_stream_pd
- // CHECK: store <8 x double> %{{.*}}, <8 x double>* %{{.*}}, align 64, !nontemporal
+ // CHECK: store <8 x double> %{{.*}}, <8 x double>* %{{.*}}, align 64, !nontemporal [[NONTEMPORAL]]
return _mm512_stream_pd(__P, __A);
}
void test_mm512_stream_ps(float *__P, __m512 __A) {
// CHECK-LABEL: @test_mm512_stream_ps
- // CHECK: store <16 x float> %{{.*}}, <16 x float>* %{{.*}}, align 64, !nontemporal
+ // CHECK: store <16 x float> %{{.*}}, <16 x float>* %{{.*}}, align 64, !nontemporal [[NONTEMPORAL]]
_mm512_stream_ps(__P, __A);
}
void test_mm512_stream_ps_2(void *__P, __m512 __A) {
// CHECK-LABEL: @test_mm512_stream_ps
- // CHECK: store <16 x float> %{{.*}}, <16 x float>* %{{.*}}, align 64, !nontemporal
+ // CHECK: store <16 x float> %{{.*}}, <16 x float>* %{{.*}}, align 64, !nontemporal [[NONTEMPORAL]]
_mm512_stream_ps(__P, __A);
}
__m512d test_mm512_mask_compress_pd(__m512d __W, __mmask8 __U, __m512d __A) {
More information about the cfe-commits
mailing list