[llvm] [AMDGPU][MC] Support src modifiers for v_mov_b32 and v_movrel* instructions (PR #76498)

Joe Nash via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 22 08:38:22 PST 2024


================
@@ -222,6 +222,13 @@ def VOPProfile_MOV : VOPProfile <[i32, i32, untyped, untyped]> {
   let InsVOPDXDeferred = (ins VSrc_f32_Deferred:$src0X);
   let InsVOPDY = (ins Src0RC32:$src0Y);
   let InsVOPDYDeferred = (ins VSrc_f32_Deferred:$src0Y);
+
+  let HasModifiers = 1;
+  let HasClamp = 1;
+
----------------
Sisyph wrote:

I think the behavior across targets is fragmented. GFX9 and earlier = no input or output mods. GFX10 = input mods, no output mods. GFX11+ = input and output mods. The real way to support that behavior is to have different version of the V_MOV pseudo on different subtargets, but that does not seem worth it. An option is to have one pseudo with input mods only, but that will still not be correct for gfx9 and earlier. Do you see any way around that?


https://github.com/llvm/llvm-project/pull/76498


More information about the llvm-commits mailing list