Commit e0ac143
committed
[AMDGPU][True16][GlobalISel] Fix v2*16 build_vector patterns
- Pattern with IMPLICIT_DEF failed to generate an entry in MatchTable and
did not an report error, just silently failed. This is fixed by casting
IMPLICIT_DEF to appropriate type. This also fixes selecting
"build_vector s16, undef" for GlobalISel with True16.
- Add pattern for "build_vector undef, s16" that will work for GlobalISel.
True16 GlobalISel has a G_TRUNC that it needs to deal with.
- Use REG_SEQUENCE for Real16 patterns instead of V_LSHLREV_B32_e64 to
generate more optimal code.1 parent 6c072c0 commit e0ac143
File tree
10 files changed
+678
-176
lines changed- llvm
- lib/Target/AMDGPU
- test/CodeGen/AMDGPU
10 files changed
+678
-176
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3543 | 3543 | | |
3544 | 3544 | | |
3545 | 3545 | | |
3546 | | - | |
3547 | 3546 | | |
3548 | 3547 | | |
3549 | 3548 | | |
3550 | 3549 | | |
3551 | 3550 | | |
3552 | | - | |
3553 | 3551 | | |
3554 | 3552 | | |
| 3553 | + | |
| 3554 | + | |
| 3555 | + | |
| 3556 | + | |
| 3557 | + | |
| 3558 | + | |
| 3559 | + | |
| 3560 | + | |
| 3561 | + | |
| 3562 | + | |
| 3563 | + | |
| 3564 | + | |
| 3565 | + | |
| 3566 | + | |
| 3567 | + | |
| 3568 | + | |
3555 | 3569 | | |
3556 | 3570 | | |
3557 | 3571 | | |
| |||
3599 | 3613 | | |
3600 | 3614 | | |
3601 | 3615 | | |
3602 | | - | |
| 3616 | + | |
3603 | 3617 | | |
3604 | 3618 | | |
3605 | 3619 | | |
| |||
0 commit comments