diff --git a/llvm/lib/Target/AMDGPU/VOP3PInstructions.td b/llvm/lib/Target/AMDGPU/VOP3PInstructions.td --- a/llvm/lib/Target/AMDGPU/VOP3PInstructions.td +++ b/llvm/lib/Target/AMDGPU/VOP3PInstructions.td @@ -35,7 +35,7 @@ FP16InputMods:$src2_modifiers, VCSrc_f16:$src2); dag dpp_srcs = (ins FPVRegInputMods:$src0_modifiers, VGPRSrc_32:$src0, - FP16InputMods:$src1_modifiers, VCSrc_f16:$src1, + FPVRegInputMods:$src1_modifiers, VGPRSrc_32:$src1, FP16InputMods:$src2_modifiers, VCSrc_f16:$src2); // FIXME: clampmod0 misbehaves with the non-default vdst_in diff --git a/llvm/test/MC/AMDGPU/gfx11_err.s b/llvm/test/MC/AMDGPU/gfx11_err.s --- a/llvm/test/MC/AMDGPU/gfx11_err.s +++ b/llvm/test/MC/AMDGPU/gfx11_err.s @@ -83,3 +83,21 @@ v_cmpx_class_f32_e64_dpp s1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1 // GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction + +v_fma_mix_f32_e64_dpp v5, s1, v3, v4 quad_perm:[3,2,1,0] +// GFX11: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction + +v_fma_mix_f32_e64_dpp v5, v1, s3, v4 quad_perm:[3,2,1,0] +// GFX11: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction + +v_fma_mix_f32_e64_dpp v5, s1, v3, v4 dpp8:[7,6,5,4,3,2,1,0] +// GFX11: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction + +v_fma_mix_f32_e64_dpp v5, v1, s3, v4 dpp8:[7,6,5,4,3,2,1,0] +// GFX11: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction + +v_fma_mixhi_f16_e64_dpp v5, v1, 0, v4 quad_perm:[3,2,1,0] +// GFX11: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction + +v_fma_mixlo_f16_e64_dpp v5, v1, 1, v4 dpp8:[7,6,5,4,3,2,1,0] +// GFX11: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction