Commit 5970ecc
committed
[X86] Disable lowering constant build vectors to broadcasts on AVX512 targets
On AVX512 targets we're better off keeping constant vector at full width to ensure that they can be load folded into vector instructions, reducing register pressure.
If a vector constant remains as a basic load, X86FixupVectorConstantsPass will still convert this to a broadcast instruction for us.
Non-VLX targets are still seeing some regressions due to these being implicitly widened to 512-bit ops in isel patterns and not in the DAG, so I've limited this to just 512-bit vectors for now.1 parent 8e79ade commit 5970ecc
File tree
104 files changed
+93617
-97144
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
- avx512-shuffles
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
104 files changed
+93617
-97144
lines changedLarge diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7512 | 7512 | | |
7513 | 7513 | | |
7514 | 7514 | | |
| 7515 | + | |
| 7516 | + | |
| 7517 | + | |
| 7518 | + | |
| 7519 | + | |
| 7520 | + | |
| 7521 | + | |
| 7522 | + | |
7515 | 7523 | | |
7516 | 7524 | | |
7517 | 7525 | | |
| |||
Lines changed: 8 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1480 | 1480 | | |
1481 | 1481 | | |
1482 | 1482 | | |
1483 | | - | |
1484 | | - | |
1485 | | - | |
1486 | | - | |
| 1483 | + | |
| 1484 | + | |
1487 | 1485 | | |
1488 | 1486 | | |
1489 | 1487 | | |
| |||
1495 | 1493 | | |
1496 | 1494 | | |
1497 | 1495 | | |
1498 | | - | |
1499 | | - | |
1500 | | - | |
1501 | | - | |
| 1496 | + | |
| 1497 | + | |
1502 | 1498 | | |
1503 | 1499 | | |
1504 | 1500 | | |
| |||
3253 | 3249 | | |
3254 | 3250 | | |
3255 | 3251 | | |
3256 | | - | |
3257 | | - | |
3258 | | - | |
3259 | | - | |
| 3252 | + | |
| 3253 | + | |
3260 | 3254 | | |
3261 | 3255 | | |
3262 | 3256 | | |
| |||
3270 | 3264 | | |
3271 | 3265 | | |
3272 | 3266 | | |
3273 | | - | |
3274 | | - | |
3275 | | - | |
3276 | | - | |
| 3267 | + | |
| 3268 | + | |
3277 | 3269 | | |
3278 | 3270 | | |
3279 | 3271 | | |
| |||
Lines changed: 10 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1211 | 1211 | | |
1212 | 1212 | | |
1213 | 1213 | | |
1214 | | - | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
1218 | 1217 | | |
1219 | 1218 | | |
1220 | 1219 | | |
1221 | 1220 | | |
1222 | 1221 | | |
1223 | 1222 | | |
1224 | 1223 | | |
1225 | | - | |
1226 | | - | |
1227 | | - | |
1228 | | - | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
1229 | 1227 | | |
1230 | 1228 | | |
1231 | 1229 | | |
| |||
2622 | 2620 | | |
2623 | 2621 | | |
2624 | 2622 | | |
2625 | | - | |
2626 | | - | |
2627 | | - | |
2628 | | - | |
| 2623 | + | |
| 2624 | + | |
2629 | 2625 | | |
2630 | 2626 | | |
2631 | 2627 | | |
| |||
2637 | 2633 | | |
2638 | 2634 | | |
2639 | 2635 | | |
2640 | | - | |
2641 | | - | |
2642 | | - | |
2643 | | - | |
| 2636 | + | |
| 2637 | + | |
2644 | 2638 | | |
2645 | 2639 | | |
2646 | 2640 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1524 | 1524 | | |
1525 | 1525 | | |
1526 | 1526 | | |
1527 | | - | |
1528 | | - | |
| 1527 | + | |
| 1528 | + | |
1529 | 1529 | | |
1530 | 1530 | | |
1531 | 1531 | | |
| |||
1581 | 1581 | | |
1582 | 1582 | | |
1583 | 1583 | | |
1584 | | - | |
1585 | | - | |
| 1584 | + | |
| 1585 | + | |
1586 | 1586 | | |
1587 | 1587 | | |
1588 | 1588 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
| 306 | + | |
307 | 307 | | |
308 | 308 | | |
309 | 309 | | |
| |||
0 commit comments