[llvm] [AMDGPU] Change the representation of double literals in operands (PR #68740)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 12 02:51:25 PDT 2023


================
@@ -2241,7 +2242,10 @@ void AMDGPUOperand::addLiteralImmOperand(MCInst &Inst, int64_t Val, bool ApplyMo
       return;
     }
 
-    Inst.addOperand(MCOperand::createImm(Lo_32(Val)));
+    if (isInt<32>(Val) || isUInt<32>(Val))
+      Val = AMDGPU::isSISrcFPOperand(InstDesc, OpNum) ? Val << 32 : Lo_32(Val);
----------------
jayfoad wrote:

I still find the Int/UInt check confusing here. How about:
```suggestion
    if (AMDGPU::isSISrcFPOperand(InstDesc, OpNum))
      Val <<= 32;
    else
      Val = Lo_32(Val);
```

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


More information about the llvm-commits mailing list