Closed
Description
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td:1908:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.td:2972:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/SIInstructions.td:28:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/VOPInstructions.td:1485:
/home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/VOP3Instructions.td:661:3: warning: Skipped pattern: Could not infer class for EXTRACT_SUBREG operand #0
def : GCNPat <
^
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td:1908:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.td:2972:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/SIInstructions.td:28:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/VOPInstructions.td:1485:
/home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/VOP3Instructions.td:682:10: note: instantiated from multiclass
defm : IMAD32_Pats<V_MAD_U64_U32_e64>;
^
I'm assuming GlobalISel emitter is getting confused by the 2 outputs on the v_mad_u64_u32
, and the extract type should just infer it from the first result.
Additionally the combiner needs to implement the reassociation from f02510e432e2c452e85a2b7450a8588d0f3c526a