diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2024-11-26 14:54:10 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-26 14:54:10 -0500 |
commit | 815069c701d62b58b8dbb6e902931f9eb5185db4 (patch) | |
tree | 0ef9eae7a85430fab698df931bd91b4ec95ad298 /llvm/lib/Transforms/Utils/Local.cpp | |
parent | 7221bc74bc6b038b40c00d5111555ea87b326bf3 (diff) | |
download | llvm-815069c701d62b58b8dbb6e902931f9eb5185db4.zip llvm-815069c701d62b58b8dbb6e902931f9eb5185db4.tar.gz llvm-815069c701d62b58b8dbb6e902931f9eb5185db4.tar.bz2 |
AMDGPU: Builtins & Codegen support for: v_cvt_scalef32_[f16|f32]_[bf8|fp8] (#117739)
OPSEL[1:0] collectively decide which byte to read
from src input.
Builtin takes additional imm argument which
represents index (with valid values:[0:3]) of src
byte read. Out of bounds checks will added in next
patch.
OPSEL ASM Syntax: opsel:[x,y,z]
where,
opsel[x] = Inst{11} = src0_modifier{2}
opsel[y] = Inst{12} = src1_modifier{2}
opsel[z] = Inst{14} = src0_modifier{3}
Note: Inst{13} i.e. OPSEL[2] is ignored in
asm syntax and opsel[z] is meaningless
for v_cvt_scalef32_f32_{fp|bf}8
Co-authored-by: Pravin Jagtap <Pravin.Jagtap@amd.com>
Diffstat (limited to 'llvm/lib/Transforms/Utils/Local.cpp')
0 files changed, 0 insertions, 0 deletions