llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.92k stars 11.52k forks source link

[AMDGPU] [GFX11+] inline constant operands disallowed for VINTERP #100764

Open DadSchoorse opened 1 month ago

DadSchoorse commented 1 month ago

LLVM currently only allows vgpr operands for VINTERP. Inline constants seem to work okay though, and they are actually useful to have. For example, this is the fastest way to implement ddx(v5):

v_interp_p10_f32 v6, v5, 1.0/*Invalid immediate*/, -v5 wait_exp:7 ; cd000706 8415e505
llvmbot commented 1 month ago

@llvm/issue-subscribers-backend-amdgpu

Author: Georg Lehmann (DadSchoorse)

LLVM currently only allows vgpr operands for VINTERP. Inline constants seem to work okay though, and they are actually useful to have. For example, this is the fastest way to implement ddx(v5): ``` v_interp_p10_f32 v6, v5, 1.0/*Invalid immediate*/, -v5 wait_exp:7 ; cd000706 8415e505 ```