Commit 27453ce
authored
[Headers][X86] Allow SLLDQ/SRLDQ byte shift intrinsics to be used in constexpr (llvm#164166)
Support constexpr usage for SLLDQ/SRLDQ byte shift intrinsics
This draft PR adds support for using the following SRLDQ intrinsics in
constant expressions:
- _mm_srli_si128
- _mm256_srli_si256
- _mm_slli_si128
- _mm256_slli_si256
Relevant tests are included.
Fixes llvm#1564941 parent ea2de9a commit 27453ce
File tree
6 files changed
+146
-4
lines changed- clang
- include/clang/Basic
- lib/AST
- ByteCode
- test/CodeGen/X86
6 files changed
+146
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
280 | 280 | | |
281 | 281 | | |
282 | 282 | | |
283 | | - | |
284 | | - | |
285 | 283 | | |
286 | 284 | | |
287 | 285 | | |
| |||
300 | 298 | | |
301 | 299 | | |
302 | 300 | | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
303 | 304 | | |
304 | 305 | | |
305 | 306 | | |
| |||
607 | 608 | | |
608 | 609 | | |
609 | 610 | | |
610 | | - | |
611 | 611 | | |
612 | 612 | | |
613 | 613 | | |
614 | 614 | | |
615 | | - | |
616 | 615 | | |
617 | 616 | | |
618 | 617 | | |
| |||
646 | 645 | | |
647 | 646 | | |
648 | 647 | | |
| 648 | + | |
649 | 649 | | |
650 | 650 | | |
651 | 651 | | |
652 | 652 | | |
| 653 | + | |
653 | 654 | | |
654 | 655 | | |
655 | 656 | | |
| |||
2090 | 2091 | | |
2091 | 2092 | | |
2092 | 2093 | | |
| 2094 | + | |
| 2095 | + | |
| 2096 | + | |
2093 | 2097 | | |
2094 | 2098 | | |
2095 | 2099 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3320 | 3320 | | |
3321 | 3321 | | |
3322 | 3322 | | |
| 3323 | + | |
| 3324 | + | |
| 3325 | + | |
| 3326 | + | |
| 3327 | + | |
| 3328 | + | |
| 3329 | + | |
| 3330 | + | |
| 3331 | + | |
| 3332 | + | |
| 3333 | + | |
| 3334 | + | |
| 3335 | + | |
| 3336 | + | |
| 3337 | + | |
| 3338 | + | |
| 3339 | + | |
| 3340 | + | |
| 3341 | + | |
| 3342 | + | |
| 3343 | + | |
| 3344 | + | |
| 3345 | + | |
| 3346 | + | |
| 3347 | + | |
| 3348 | + | |
| 3349 | + | |
| 3350 | + | |
| 3351 | + | |
| 3352 | + | |
| 3353 | + | |
| 3354 | + | |
3323 | 3355 | | |
3324 | 3356 | | |
3325 | 3357 | | |
| |||
4390 | 4422 | | |
4391 | 4423 | | |
4392 | 4424 | | |
| 4425 | + | |
| 4426 | + | |
| 4427 | + | |
| 4428 | + | |
| 4429 | + | |
| 4430 | + | |
| 4431 | + | |
| 4432 | + | |
| 4433 | + | |
| 4434 | + | |
| 4435 | + | |
| 4436 | + | |
| 4437 | + | |
| 4438 | + | |
| 4439 | + | |
| 4440 | + | |
| 4441 | + | |
| 4442 | + | |
| 4443 | + | |
| 4444 | + | |
| 4445 | + | |
| 4446 | + | |
| 4447 | + | |
| 4448 | + | |
| 4449 | + | |
| 4450 | + | |
| 4451 | + | |
| 4452 | + | |
| 4453 | + | |
| 4454 | + | |
| 4455 | + | |
| 4456 | + | |
| 4457 | + | |
4393 | 4458 | | |
4394 | 4459 | | |
4395 | 4460 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12906 | 12906 | | |
12907 | 12907 | | |
12908 | 12908 | | |
| 12909 | + | |
| 12910 | + | |
| 12911 | + | |
| 12912 | + | |
| 12913 | + | |
| 12914 | + | |
| 12915 | + | |
| 12916 | + | |
| 12917 | + | |
| 12918 | + | |
| 12919 | + | |
| 12920 | + | |
| 12921 | + | |
| 12922 | + | |
| 12923 | + | |
| 12924 | + | |
| 12925 | + | |
| 12926 | + | |
| 12927 | + | |
| 12928 | + | |
| 12929 | + | |
| 12930 | + | |
| 12931 | + | |
| 12932 | + | |
| 12933 | + | |
| 12934 | + | |
| 12935 | + | |
| 12936 | + | |
| 12937 | + | |
| 12938 | + | |
| 12939 | + | |
| 12940 | + | |
| 12941 | + | |
| 12942 | + | |
| 12943 | + | |
| 12944 | + | |
| 12945 | + | |
| 12946 | + | |
| 12947 | + | |
| 12948 | + | |
| 12949 | + | |
| 12950 | + | |
| 12951 | + | |
| 12952 | + | |
| 12953 | + | |
| 12954 | + | |
| 12955 | + | |
| 12956 | + | |
| 12957 | + | |
| 12958 | + | |
| 12959 | + | |
| 12960 | + | |
| 12961 | + | |
| 12962 | + | |
| 12963 | + | |
| 12964 | + | |
| 12965 | + | |
| 12966 | + | |
| 12967 | + | |
| 12968 | + | |
12909 | 12969 | | |
12910 | 12970 | | |
12911 | 12971 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1236 | 1236 | | |
1237 | 1237 | | |
1238 | 1238 | | |
| 1239 | + | |
| 1240 | + | |
1239 | 1241 | | |
1240 | 1242 | | |
1241 | 1243 | | |
| |||
1379 | 1381 | | |
1380 | 1382 | | |
1381 | 1383 | | |
| 1384 | + | |
| 1385 | + | |
1382 | 1386 | | |
1383 | 1387 | | |
1384 | 1388 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2045 | 2045 | | |
2046 | 2046 | | |
2047 | 2047 | | |
| 2048 | + | |
| 2049 | + | |
2048 | 2050 | | |
2049 | 2051 | | |
2050 | 2052 | | |
| |||
2223 | 2225 | | |
2224 | 2226 | | |
2225 | 2227 | | |
| 2228 | + | |
| 2229 | + | |
| 2230 | + | |
2226 | 2231 | | |
2227 | 2232 | | |
2228 | 2233 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1418 | 1418 | | |
1419 | 1419 | | |
1420 | 1420 | | |
| 1421 | + | |
| 1422 | + | |
1421 | 1423 | | |
1422 | 1424 | | |
1423 | 1425 | | |
| |||
1570 | 1572 | | |
1571 | 1573 | | |
1572 | 1574 | | |
| 1575 | + | |
| 1576 | + | |
1573 | 1577 | | |
1574 | 1578 | | |
1575 | 1579 | | |
| |||
0 commit comments