xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/inline-asm-error.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: not llc -march x86 -regalloc=fast -optimize-regalloc=0 < %s 2> %t1
2*9880d681SAndroid Build Coastguard Worker; RUN: not llc -march x86 -regalloc=basic      < %s 2> %t2
3*9880d681SAndroid Build Coastguard Worker; RUN: not llc -march x86 -regalloc=greedy     < %s 2> %t3
4*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck %s < %t1
5*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck %s < %t2
6*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck %s < %t3
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker; The register allocator must fail on this function.
9*9880d681SAndroid Build Coastguard Worker; CHECK: error: inline assembly requires more registers than available
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerdefine void @f(i32 %x0, i32 %x1, i32 %x2, i32 %x3, i32 %x4, i32 %x5, i32 %x6, i32 %x7, i32 %x8, i32 %x9) nounwind ssp {
12*9880d681SAndroid Build Coastguard Workerentry:
13*9880d681SAndroid Build Coastguard Worker  tail call void asm sideeffect "hello world", "r,r,r,r,r,r,r,r,r,r,~{dirflag},~{fpsr},~{flags}"(i32 %x0, i32 %x1, i32 %x2, i32 %x3, i32 %x4, i32 %x5, i32 %x6, i32 %x7, i32 %x8, i32 %x9) nounwind
14*9880d681SAndroid Build Coastguard Worker  ret void
15*9880d681SAndroid Build Coastguard Worker}
16