[llvm] [GlobalISel] Diagnose inline assembly constraint lowering errors (PR #135782)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon May 5 06:58:47 PDT 2025
================
@@ -0,0 +1,31 @@
+; RUN: not llc -mtriple=amdgcn -mcpu=fiji -O0 -global-isel -global-isel-abort=2 -pass-remarks-missed='gisel*' %s -o - 2>&1 | FileCheck %s
+
+; CHECK: error: invalid constraint '': aggregate input operands not supported yet
+define amdgpu_kernel void @aggregates([4 x i8] %val) {
+ tail call void asm sideeffect "s_nop", "r"([4 x i8] %val)
+ ret void
+}
+
+; CHECK: error: invalid constraint '{s999}': could not allocate output register for constraint
+define amdgpu_kernel void @bad_output() {
+ tail call i32 asm sideeffect "s_nop", "={s999}"()
+ ret void
+}
+
+; CHECK: error: invalid constraint '{s998}': could not allocate input register for register constraint
+define amdgpu_kernel void @bad_input() {
+ tail call void asm sideeffect "s_nop", "{s998}"(i32 poison)
+ ret void
+}
+; CHECK: error: invalid constraint '{s997}': indirect register inputs are not supported yet
+define amdgpu_kernel void @indirect_input() {
+ tail call void asm sideeffect "s_nop", "*{s997}"(ptr elementtype(i32) poison)
+ ret void
+}
+
+; CHECK: error: invalid constraint 'i': unsupported constraint
+define amdgpu_kernel void @badimm() {
+ tail call void asm sideeffect "s_nop", "i"(i32 poison)
+ ret
+ void
----------------
arsenm wrote:
```suggestion
ret void
```
https://github.com/llvm/llvm-project/pull/135782
More information about the llvm-commits
mailing list