Add missing patterns for V_OR_B32_SDWA:
WORD_1, BYTE_3, BYTE_2, BYTE_1
Previously we only recognized WORD_0 and BYTE_0.
Transform:
%13:vgpr_32 = GLOBAL_LOAD_DWORD %2, 0, 0, 0, implicit $exec :: (volatile load 4, addrspace 1) %14:sreg_32_xm0 = S_MOV_B32 65280 %15:vgpr_32 = V_AND_B32_e64 %13, killed %14, implicit $exec %16:vgpr_32 = V_OR_B32_e64 killed %15, killed %13, implicit $exec
Into
%6:vgpr_32 = GLOBAL_LOAD_DWORD %1, 0, 0, 0, implicit $exec :: (volatile load 4, addrspace 1) %9:vgpr_32 = V_OR_B32_sdwa 0, %6, 0, killed %6, 0, 6, 0, 1, 6, implicit $exec
A subsequent set of patches will address the XOR and AND pattern improvements.
Seems like a bad use of auto