xref: /llvm-project/llvm/test/CodeGen/X86/asm-reject-reg-type-mismatch.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; RUN: not llc -o /dev/null %s 2>&1 | FileCheck %s
2target triple = "x86_64--"
3
4; CHECK: error: couldn't allocate output register for constraint '{ax}'
5define i128 @blup() {
6  %v = tail call i128 asm "", "={ax},0"(i128 0)
7  ret i128 %v
8}
9
10; CHECK: error: couldn't allocate input reg for constraint 'r'
11define void @fp80(x86_fp80) {
12  tail call void asm sideeffect "", "r"(x86_fp80 %0)
13  ret void
14}
15
16; CHECK: error: couldn't allocate input reg for constraint 'f'
17define void @f_constraint_i128(ptr %0) {
18  %2 = load i128, ptr %0, align 16
19  tail call void asm sideeffect "", "f"(i128 %2)
20  ret void
21}
22