Index: lib/Target/AMDGPU/SIInstrInfo.cpp =================================================================== --- lib/Target/AMDGPU/SIInstrInfo.cpp +++ lib/Target/AMDGPU/SIInstrInfo.cpp @@ -1776,14 +1776,14 @@ return BuildMI(*MBB, MI, MI.getDebugLoc(), get(IsF16 ? AMDGPU::V_MAD_F16 : AMDGPU::V_MAD_F32)) .add(*Dst) - .addImm(0) // Src0 mods + .addImm(hasModifiersSet(MI, AMDGPU::OpName::src0_modifiers)) .add(*Src0) - .addImm(0) // Src1 mods + .addImm(hasModifiersSet(MI, AMDGPU::OpName::src1_modifiers)) .add(*Src1) - .addImm(0) // Src mods + .addImm(hasModifiersSet(MI, AMDGPU::OpName::src2_modifiers)) .add(*Src2) - .addImm(0) // clamp - .addImm(0); // omod + .addImm(hasModifiersSet(MI, AMDGPU::OpName::clamp)) + .addImm(hasModifiersSet(MI, AMDGPU::OpName::omod)); } // It's not generally safe to move VALU instructions across these since it will