Commit f435930
authored
[X86] combineVectorSizedSetCCEquality - allow 256/512-bit vector icmp_ne/eq zero comparisons (#163373)
We avoid creating vector movmsk/ptest comparisons with zero if we can
just use scalar OR instead, but this doesn't make sense for 256-bit or
larger vectors which creates a more complex OR chain.
This more closely matches what we do for icmp_ne/eq against non-zero
values.
I'm hoping that we can eventually allow even larger vectors to be
handled with a OR/AND chains - but for now this just allows us to handle
legal 256/512-bit vector widths.1 parent b2797d9 commit f435930
File tree
2 files changed
+42
-25
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
2 files changed
+42
-25
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22866 | 22866 | | |
22867 | 22867 | | |
22868 | 22868 | | |
22869 | | - | |
| 22869 | + | |
22870 | 22870 | | |
22871 | 22871 | | |
22872 | 22872 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1493 | 1493 | | |
1494 | 1494 | | |
1495 | 1495 | | |
1496 | | - | |
1497 | | - | |
1498 | | - | |
1499 | | - | |
1500 | | - | |
1501 | | - | |
1502 | | - | |
1503 | | - | |
1504 | | - | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
1505 | 1513 | | |
1506 | 1514 | | |
1507 | 1515 | | |
| |||
1552 | 1560 | | |
1553 | 1561 | | |
1554 | 1562 | | |
1555 | | - | |
1556 | | - | |
1557 | | - | |
1558 | | - | |
1559 | | - | |
1560 | | - | |
1561 | | - | |
1562 | | - | |
1563 | | - | |
1564 | | - | |
1565 | | - | |
1566 | | - | |
1567 | | - | |
1568 | | - | |
1569 | | - | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
1570 | 1587 | | |
1571 | 1588 | | |
1572 | 1589 | | |
| |||
0 commit comments