Commit 350cb98
authored
[X86] Explicitly widen larger than v4f16 to the legal v8f16 (NFC) (#153839)
This patch makes the current behavior explicit to prepare for adding VTs
for v[567]f16.
Right now these types are EVTs and hence don't fall under
getPreferredVectorAction and are simply widened to the next legal
power-of-two vector type. For SSE2 this is v8f16.
Without the preparatory patch however, the behavior would change after
adding these types. getPreferredVectorAction would try to split them
because this is the current behavior for any f16 vector type that is not
legal.
There is a lot more detail at
#152150 in particular how
splitting these new types leads to an inconsistency between
NumRegistersForVT and getTypeAction.
The patch ensures that after the new types are added they would continue
to be widened rather than split. Once the patch to enable v[567]f16
lands, it will be an NFC for x86.1 parent 0561ff6 commit 350cb98
File tree
2 files changed
+17
-1
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
2 files changed
+17
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2756 | 2756 | | |
2757 | 2757 | | |
2758 | 2758 | | |
| 2759 | + | |
2759 | 2760 | | |
2760 | | - | |
| 2761 | + | |
| 2762 | + | |
2761 | 2763 | | |
2762 | 2764 | | |
2763 | 2765 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
0 commit comments