[llvm] [WIP][AMDGPU] Split `isInlinableLiteral16` into three and call the specific version if possible (PR #81345)

Shilei Tian via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 23 13:25:46 PST 2024


================
@@ -99,39 +99,39 @@ define i32 @inline_A_constraint_H1() {
 ; VI-LABEL: {{^}}inline_A_constraint_H2:
 ; VI: v_mov_b32 {{v[0-9]+}}, 0x3c00
 define i32 @inline_A_constraint_H2() {
-  %v0 = tail call i32 asm "v_mov_b32 $0, $1", "=v,A"(i16 bitcast (half 1.0 to i16))
+  %v0 = tail call i32 asm "v_mov_b32 $0, $1", "=v,A"(trunc i32 bitcast (float 1.0 to i32) to i16)
----------------
shiltian wrote:

It's in https://llvm.org/docs/LangRef.html#supported-constraint-code-list:
> A: An integer or a floating-point inline constant.

I think we might want to remove those test cases or just leave one to check we actually don't take them as inline literal. WDYT? I can do it along with this patch.

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


More information about the llvm-commits mailing list