llvm-project
5138b61a - [AMDGPU][True16][Codegen] remove packed build_vector pattern from true16 (#148715)

Commit
288 days ago
[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.
Author
Parents
Loading