diff options
author | Brox Chen <guochen2@amd.com> | 2025-07-18 12:55:11 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-18 12:55:11 -0400 |
commit | 5138b61a25f11eb8675d0031712c1ee6b4cb8be4 (patch) | |
tree | 0e32157b1ceeb31c8733a51e3330da29a63ba26b /llvm/lib/Support/ModRef.cpp | |
parent | 73e4b589ba9526c72f495ca6898ed18d730d2db4 (diff) | |
download | llvm-5138b61a25f11eb8675d0031712c1ee6b4cb8be4.zip llvm-5138b61a25f11eb8675d0031712c1ee6b4cb8be4.tar.gz llvm-5138b61a25f11eb8675d0031712c1ee6b4cb8be4.tar.bz2 |
[AMDGPU][True16][Codegen] remove packed build_vector pattern from true16 (#148715)
Some of the packed build_vector use vgpr_32 for i16/f16/bf16.
In gfx11, bf16 arithmetic get promoted to f32 and this is done via v2i16
pack. In true16 mode this v2i16 pack is selected to a
build_vector/v_lshlrev pattern which only accepts VGPR32. This causes
isel to insert an illegal copy "vgpr32 = copy vgpr16" between def and
use. In the end this illegal copy confuses cse pass and trigger wrong
code elimination.
Remove the packed build_vector pattern from true16. After removal, ISel
will use vgpr16 build_vector patterns instead.
Diffstat (limited to 'llvm/lib/Support/ModRef.cpp')
0 files changed, 0 insertions, 0 deletions