Index: lib/Target/AMDGPU/SIInstructions.td =================================================================== --- lib/Target/AMDGPU/SIInstructions.td +++ lib/Target/AMDGPU/SIInstructions.td @@ -3377,11 +3377,16 @@ (S_BFE_I64 i64:$src, 0x200000) // 0 | 32 << 16 >; -class ZExt_i64_i32_Pat : Pat < - (i64 (ext i32:$src)), +def : Pat < + (i64 (zext i32:$src)), (REG_SEQUENCE SReg_64, $src, sub0, (S_MOV_B32 0), sub1) >; +def : Pat < + (i64 (anyext i32:$src)), + (REG_SEQUENCE SReg_64, $src, sub0, (i32 (IMPLICIT_DEF)), sub1) +>; + class ZExt_i64_i1_Pat : Pat < (i64 (ext i1:$src)), (REG_SEQUENCE VReg_64, @@ -3390,8 +3395,6 @@ >; -def : ZExt_i64_i32_Pat; -def : ZExt_i64_i32_Pat; def : ZExt_i64_i1_Pat; def : ZExt_i64_i1_Pat;