Skip to content

Commit ecc0ad5

Browse files
authored
Merge branch 'main' into scev-mul-div-neg
2 parents 44844c0 + 106eb46 commit ecc0ad5

File tree

166 files changed

+111267
-6438
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

166 files changed

+111267
-6438
lines changed

.ci/all_requirements.txt

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,9 @@ ml-dtypes==0.5.1 ; python_version < "3.13" \
194194
--hash=sha256:d13755f8e8445b3870114e5b6240facaa7cb0c3361e54beba3e07fa912a6e12b \
195195
--hash=sha256:fd918d4e6a4e0c110e2e05be7a7814d10dc1b95872accbf6512b80a109b71ae1
196196
# via -r mlir/python/requirements.txt
197-
nanobind==2.9.2 \
198-
--hash=sha256:c37957ffd5eac7eda349cff3622ecd32e5ee1244ecc912c99b5bc8188bafd16e \
199-
--hash=sha256:e7608472de99d375759814cab3e2c94aba3f9ec80e62cfef8ced495ca5c27d6e
197+
nanobind==2.7.0 \
198+
--hash=sha256:73b12d0e751d140d6c1bf4b215e18818a8debfdb374f08dc3776ad208d808e74 \
199+
--hash=sha256:f9f1b160580c50dcf37b6495a0fd5ec61dc0d95dae5f8004f87dd9ad7eb46b34
200200
# via -r mlir/python/requirements.txt
201201
numpy==2.0.2 \
202202
--hash=sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a \
@@ -383,10 +383,6 @@ swig==4.3.1 \
383383
--hash=sha256:efec16327029f682f649a26da726bb0305be8800bd0f1fa3e81bf0769cf5b476 \
384384
--hash=sha256:fc496c0d600cf1bb2d91e28d3d6eae9c4301e5ea7a0dec5a4281b5efed4245a8
385385
# via -r lldb/test/requirements.txt
386-
typing-extensions==4.15.0 \
387-
--hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \
388-
--hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548
389-
# via -r mlir/python/requirements.txt
390386
urllib3==2.5.0 \
391387
--hash=sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760 \
392388
--hash=sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc

.github/new-prs-labeler.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1090,6 +1090,14 @@ clang:openmp:
10901090
- llvm/unittests/Frontend/OpenMP*
10911091
- llvm/test/Transforms/OpenMP/**
10921092

1093+
clang:temporal-safety:
1094+
- clang/include/clang/Analysis/Analyses/LifetimeSafety*
1095+
- clang/lib/Analysis/LifetimeSafety*
1096+
- clang/unittests/Analysis/LifetimeSafety*
1097+
- clang/test/Sema/*lifetime-safety*
1098+
- clang/test/Sema/*lifetime-analysis*
1099+
- clang/test/Analysis/LifetimeSafety/**
1100+
10931101
clang:as-a-library:
10941102
- clang/tools/libclang/**
10951103
- clang/bindings/**

clang/include/clang/Basic/BuiltinsX86.td

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,27 +1057,27 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
10571057
}
10581058

10591059
let Features = "avx512vl,avx512vnni|avxvnni", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in {
1060-
def vpdpbusd128 : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Vector<4, int>, _Vector<4, int>)">;
1060+
def vpdpbusd128 : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Vector<16, unsigned char>, _Vector<16, char>)">;
10611061
}
10621062

10631063
let Features = "avx512vl,avx512vnni|avxvnni", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
1064-
def vpdpbusd256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<8, int>, _Vector<8, int>)">;
1064+
def vpdpbusd256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<32, unsigned char>, _Vector<32, char>)">;
10651065
}
10661066

10671067
let Features = "avx512vnni", Attributes = [NoThrow, Const, RequiredVectorWidth<512>] in {
1068-
def vpdpbusd512 : X86Builtin<"_Vector<16, int>(_Vector<16, int>, _Vector<16, int>, _Vector<16, int>)">;
1068+
def vpdpbusd512 : X86Builtin<"_Vector<16, int>(_Vector<16, int>, _Vector<64, unsigned char>, _Vector<64, char>)">;
10691069
}
10701070

10711071
let Features = "avx512vl,avx512vnni|avxvnni", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in {
1072-
def vpdpbusds128 : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Vector<4, int>, _Vector<4, int>)">;
1072+
def vpdpbusds128 : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Vector<16, unsigned char>, _Vector<16, char>)">;
10731073
}
10741074

10751075
let Features = "avx512vl,avx512vnni|avxvnni", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
1076-
def vpdpbusds256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<8, int>, _Vector<8, int>)">;
1076+
def vpdpbusds256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<32, unsigned char>, _Vector<32, char>)">;
10771077
}
10781078

10791079
let Features = "avx512vnni", Attributes = [NoThrow, Const, RequiredVectorWidth<512>] in {
1080-
def vpdpbusds512 : X86Builtin<"_Vector<16, int>(_Vector<16, int>, _Vector<16, int>, _Vector<16, int>)">;
1080+
def vpdpbusds512 : X86Builtin<"_Vector<16, int>(_Vector<16, int>, _Vector<64, unsigned char>, _Vector<64, char>)">;
10811081
}
10821082

10831083
let Features = "avx512vl,avx512vnni|avxvnni", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in {

clang/lib/Analysis/LiveVariables.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,17 @@ bool LiveVariables::LivenessValues::isLive(const Expr *E) const {
7272

7373
bool LiveVariables::LivenessValues::isLive(const VarDecl *D) const {
7474
if (const auto *DD = dyn_cast<DecompositionDecl>(D)) {
75-
bool alive = false;
76-
for (const BindingDecl *BD : DD->bindings())
77-
alive |= liveBindings.contains(BD);
78-
7975
// Note: the only known case this condition is necessary, is when a bindig
8076
// to a tuple-like structure is created. The HoldingVar initializers have a
8177
// DeclRefExpr to the DecompositionDecl.
82-
alive |= liveDecls.contains(DD);
83-
return alive;
78+
if (liveDecls.contains(DD))
79+
return true;
80+
81+
for (const BindingDecl *BD : DD->bindings()) {
82+
if (liveBindings.contains(BD))
83+
return true;
84+
}
85+
return false;
8486
}
8587
return liveDecls.contains(D);
8688
}

clang/lib/Headers/avx512vlvnniintrin.h

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
/// ENDFOR
4242
/// DST[MAX:256] := 0
4343
/// \endcode
44-
#define _mm256_dpbusd_epi32(S, A, B) \
45-
((__m256i)__builtin_ia32_vpdpbusd256((__v8si)(S), (__v8si)(A), (__v8si)(B)))
44+
#define _mm256_dpbusd_epi32(S, A, B) \
45+
((__m256i)__builtin_ia32_vpdpbusd256((__v8si)(S), (__v32qu)(A), (__v32qi)(B)))
4646

4747
/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a A with
4848
/// corresponding signed 8-bit integers in \a B, producing 4 intermediate signed
@@ -61,8 +61,9 @@
6161
/// ENDFOR
6262
/// DST[MAX:256] := 0
6363
/// \endcode
64-
#define _mm256_dpbusds_epi32(S, A, B) \
65-
((__m256i)__builtin_ia32_vpdpbusds256((__v8si)(S), (__v8si)(A), (__v8si)(B)))
64+
#define _mm256_dpbusds_epi32(S, A, B) \
65+
((__m256i)__builtin_ia32_vpdpbusds256((__v8si)(S), (__v32qu)(A), \
66+
(__v32qi)(B)))
6667

6768
/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a A with
6869
/// corresponding 16-bit integers in \a B, producing 2 intermediate signed 32-bit
@@ -117,8 +118,8 @@
117118
/// ENDFOR
118119
/// DST[MAX:128] := 0
119120
/// \endcode
120-
#define _mm_dpbusd_epi32(S, A, B) \
121-
((__m128i)__builtin_ia32_vpdpbusd128((__v4si)(S), (__v4si)(A), (__v4si)(B)))
121+
#define _mm_dpbusd_epi32(S, A, B) \
122+
((__m128i)__builtin_ia32_vpdpbusd128((__v4si)(S), (__v16qu)(A), (__v16qi)(B)))
122123

123124
/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a A with
124125
/// corresponding signed 8-bit integers in \a B, producing 4 intermediate signed
@@ -137,8 +138,9 @@
137138
/// ENDFOR
138139
/// DST[MAX:128] := 0
139140
/// \endcode
140-
#define _mm_dpbusds_epi32(S, A, B) \
141-
((__m128i)__builtin_ia32_vpdpbusds128((__v4si)(S), (__v4si)(A), (__v4si)(B)))
141+
#define _mm_dpbusds_epi32(S, A, B) \
142+
((__m128i)__builtin_ia32_vpdpbusds128((__v4si)(S), (__v16qu)(A), \
143+
(__v16qi)(B)))
142144

143145
/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a A with
144146
/// corresponding 16-bit integers in \a B, producing 2 intermediate signed 32-bit

clang/lib/Headers/avx512vnniintrin.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
static __inline__ __m512i __DEFAULT_FN_ATTRS
2323
_mm512_dpbusd_epi32(__m512i __S, __m512i __A, __m512i __B)
2424
{
25-
return (__m512i)__builtin_ia32_vpdpbusd512((__v16si)__S, (__v16si)__A,
26-
(__v16si)__B);
25+
return (__m512i)__builtin_ia32_vpdpbusd512((__v16si)__S, (__v64qu)__A,
26+
(__v64qi)__B);
2727
}
2828

2929
static __inline__ __m512i __DEFAULT_FN_ATTRS
@@ -45,8 +45,8 @@ _mm512_maskz_dpbusd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B)
4545
static __inline__ __m512i __DEFAULT_FN_ATTRS
4646
_mm512_dpbusds_epi32(__m512i __S, __m512i __A, __m512i __B)
4747
{
48-
return (__m512i)__builtin_ia32_vpdpbusds512((__v16si)__S, (__v16si)__A,
49-
(__v16si)__B);
48+
return (__m512i)__builtin_ia32_vpdpbusds512((__v16si)__S, (__v64qu)__A,
49+
(__v64qi)__B);
5050
}
5151

5252
static __inline__ __m512i __DEFAULT_FN_ATTRS

clang/lib/Headers/avxvnniintrin.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@
6363
static __inline__ __m256i __DEFAULT_FN_ATTRS256
6464
_mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
6565
{
66-
return (__m256i)__builtin_ia32_vpdpbusd256((__v8si)__S, (__v8si)__A, (__v8si)__B);
66+
return (__m256i)__builtin_ia32_vpdpbusd256((__v8si)__S, (__v32qu)__A,
67+
(__v32qi)__B);
6768
}
6869

6970
/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
@@ -86,7 +87,8 @@ _mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
8687
static __inline__ __m256i __DEFAULT_FN_ATTRS256
8788
_mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
8889
{
89-
return (__m256i)__builtin_ia32_vpdpbusds256((__v8si)__S, (__v8si)__A, (__v8si)__B);
90+
return (__m256i)__builtin_ia32_vpdpbusds256((__v8si)__S, (__v32qu)__A,
91+
(__v32qi)__B);
9092
}
9193

9294
/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
@@ -151,7 +153,8 @@ _mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
151153
static __inline__ __m128i __DEFAULT_FN_ATTRS128
152154
_mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
153155
{
154-
return (__m128i)__builtin_ia32_vpdpbusd128((__v4si)__S, (__v4si)__A, (__v4si)__B);
156+
return (__m128i)__builtin_ia32_vpdpbusd128((__v4si)__S, (__v16qu)__A,
157+
(__v16qi)__B);
155158
}
156159

157160
/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
@@ -174,7 +177,8 @@ _mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
174177
static __inline__ __m128i __DEFAULT_FN_ATTRS128
175178
_mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
176179
{
177-
return (__m128i)__builtin_ia32_vpdpbusds128((__v4si)__S, (__v4si)__A, (__v4si)__B);
180+
return (__m128i)__builtin_ia32_vpdpbusds128((__v4si)__S, (__v16qu)__A,
181+
(__v16qi)__B);
178182
}
179183

180184
/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with

clang/test/CodeGen/X86/avx512vlvnni-builtins.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,41 +7,41 @@
77

88
__m256i test_mm256_mask_dpbusd_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
99
// CHECK-LABEL: test_mm256_mask_dpbusd_epi32
10-
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
10+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})
1111
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
1212
return _mm256_mask_dpbusd_epi32(__S, __U, __A, __B);
1313
}
1414

1515
__m256i test_mm256_maskz_dpbusd_epi32(__mmask8 __U, __m256i __S, __m256i __A, __m256i __B) {
1616
// CHECK-LABEL: test_mm256_maskz_dpbusd_epi32
17-
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
17+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})
1818
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
1919
return _mm256_maskz_dpbusd_epi32(__U, __S, __A, __B);
2020
}
2121

2222
__m256i test_mm256_dpbusd_epi32(__m256i __S, __m256i __A, __m256i __B) {
2323
// CHECK-LABEL: test_mm256_dpbusd_epi32
24-
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
24+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})
2525
return _mm256_dpbusd_epi32(__S, __A, __B);
2626
}
2727

2828
__m256i test_mm256_mask_dpbusds_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
2929
// CHECK-LABEL: test_mm256_mask_dpbusds_epi32
30-
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
30+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})
3131
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
3232
return _mm256_mask_dpbusds_epi32(__S, __U, __A, __B);
3333
}
3434

3535
__m256i test_mm256_maskz_dpbusds_epi32(__mmask8 __U, __m256i __S, __m256i __A, __m256i __B) {
3636
// CHECK-LABEL: test_mm256_maskz_dpbusds_epi32
37-
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
37+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})
3838
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
3939
return _mm256_maskz_dpbusds_epi32(__U, __S, __A, __B);
4040
}
4141

4242
__m256i test_mm256_dpbusds_epi32(__m256i __S, __m256i __A, __m256i __B) {
4343
// CHECK-LABEL: test_mm256_dpbusds_epi32
44-
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
44+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})
4545
return _mm256_dpbusds_epi32(__S, __A, __B);
4646
}
4747

@@ -87,41 +87,41 @@ __m256i test_mm256_dpwssds_epi32(__m256i __S, __m256i __A, __m256i __B) {
8787

8888
__m128i test_mm_mask_dpbusd_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
8989
// CHECK-LABEL: test_mm_mask_dpbusd_epi32
90-
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
90+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})
9191
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
9292
return _mm_mask_dpbusd_epi32(__S, __U, __A, __B);
9393
}
9494

9595
__m128i test_mm_maskz_dpbusd_epi32(__mmask8 __U, __m128i __S, __m128i __A, __m128i __B) {
9696
// CHECK-LABEL: test_mm_maskz_dpbusd_epi32
97-
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
97+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})
9898
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
9999
return _mm_maskz_dpbusd_epi32(__U, __S, __A, __B);
100100
}
101101

102102
__m128i test_mm_dpbusd_epi32(__m128i __S, __m128i __A, __m128i __B) {
103103
// CHECK-LABEL: test_mm_dpbusd_epi32
104-
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
104+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})
105105
return _mm_dpbusd_epi32(__S, __A, __B);
106106
}
107107

108108
__m128i test_mm_mask_dpbusds_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
109109
// CHECK-LABEL: test_mm_mask_dpbusds_epi32
110-
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
110+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})
111111
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
112112
return _mm_mask_dpbusds_epi32(__S, __U, __A, __B);
113113
}
114114

115115
__m128i test_mm_maskz_dpbusds_epi32(__mmask8 __U, __m128i __S, __m128i __A, __m128i __B) {
116116
// CHECK-LABEL: test_mm_maskz_dpbusds_epi32
117-
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
117+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})
118118
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
119119
return _mm_maskz_dpbusds_epi32(__U, __S, __A, __B);
120120
}
121121

122122
__m128i test_mm_dpbusds_epi32(__m128i __S, __m128i __A, __m128i __B) {
123123
// CHECK-LABEL: test_mm_dpbusds_epi32
124-
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
124+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})
125125
return _mm_dpbusds_epi32(__S, __A, __B);
126126
}
127127

clang/test/CodeGen/X86/avx512vnni-builtins.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,41 +7,41 @@
77

88
__m512i test_mm512_mask_dpbusd_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
99
// CHECK-LABEL: test_mm512_mask_dpbusd_epi32
10-
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
10+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})
1111
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
1212
return _mm512_mask_dpbusd_epi32(__S, __U, __A, __B);
1313
}
1414

1515
__m512i test_mm512_maskz_dpbusd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
1616
// CHECK-LABEL: test_mm512_maskz_dpbusd_epi32
17-
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
17+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})
1818
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
1919
return _mm512_maskz_dpbusd_epi32(__U, __S, __A, __B);
2020
}
2121

2222
__m512i test_mm512_dpbusd_epi32(__m512i __S, __m512i __A, __m512i __B) {
2323
// CHECK-LABEL: test_mm512_dpbusd_epi32
24-
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
24+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})
2525
return _mm512_dpbusd_epi32(__S, __A, __B);
2626
}
2727

2828
__m512i test_mm512_mask_dpbusds_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
2929
// CHECK-LABEL: test_mm512_mask_dpbusds_epi32
30-
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
30+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})
3131
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
3232
return _mm512_mask_dpbusds_epi32(__S, __U, __A, __B);
3333
}
3434

3535
__m512i test_mm512_maskz_dpbusds_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
3636
// CHECK-LABEL: test_mm512_maskz_dpbusds_epi32
37-
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
37+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})
3838
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
3939
return _mm512_maskz_dpbusds_epi32(__U, __S, __A, __B);
4040
}
4141

4242
__m512i test_mm512_dpbusds_epi32(__m512i __S, __m512i __A, __m512i __B) {
4343
// CHECK-LABEL: test_mm512_dpbusds_epi32
44-
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
44+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})
4545
return _mm512_dpbusds_epi32(__S, __A, __B);
4646
}
4747

0 commit comments

Comments
 (0)