[llvm] [AMDGPU][CodeGen] Fold immediates in src1 operands of V_MAD/MAC/FMA/FMAC. (PR #68002)
Ivan Kosarev via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 3 07:18:22 PDT 2023
================
@@ -7149,7 +7149,7 @@ define amdgpu_kernel void @udiv_i64_oddk_denom(ptr addrspace(1) %out, i64 %x) {
; GFX6-NEXT: v_mul_f32_e32 v0, 0x5f7ffffc, v0
; GFX6-NEXT: v_mul_f32_e32 v1, 0x2f800000, v0
; GFX6-NEXT: v_trunc_f32_e32 v1, v1
-; GFX6-NEXT: v_mac_f32_e32 v0, 0xcf800000, v1
+; GFX6-NEXT: v_madmk_f32 v0, v1, 0xcf800000, v0
----------------
kosarev wrote:
In llvm.log.ll we seem to be able to eliminate some register moves. (I was wondering it myself whether that folding logic is actually a dead code.)
```
; GFX1100-SDAG-NEXT: s_waitcnt_depctr 0xfff
-; GFX1100-SDAG-NEXT: v_fmac_f32_e32 v1, 0x3f317218, v0
-; GFX1100-SDAG-NEXT: s_delay_alu instid0(VALU_DEP_1)
-; GFX1100-SDAG-NEXT: v_mov_b32_e32 v0, v1
+; GFX1100-SDAG-NEXT: v_fmamk_f32 v0, v0, 0x3f317218, v1
; GFX1100-SDAG-NEXT: s_setpc_b64 s[30:31]
```
https://github.com/llvm/llvm-project/pull/68002
More information about the llvm-commits
mailing list