| ; RUN: not llc < %s -mtriple=x86_64-unknown-unknown 2>&1 | FileCheck %s | |
| ; CHECK: error: invalid operand in inline asm: 'mov %ah, ${0:h}' | |
| define void @test1() { | |
| entry: | |
| %0 = tail call i8 asm sideeffect "mov %ah, ${0:h}", "=r,~{eax},~{ebx},~{ecx},~{edx},~{dirflag},~{fpsr},~{flags}"() | |
| ret void | |
| } | |
| ; CHECK: error: invalid operand in inline asm: '#TEST $0' | |
| define void @test_p_no_modifier(ptr %p) { | |
| call void asm sideeffect "#TEST $0", "p,~{dirflag},~{fpsr},~{flags}"(ptr %p) | |
| ret void | |
| } | |
| ; CHECK: error: invalid operand in inline asm: '#TEST ${0:a}' | |
| define void @test_a_m(ptr %p) { | |
| call void asm sideeffect "#TEST ${0:a}", "*m,~{dirflag},~{fpsr},~{flags}"(ptr elementtype(i32) %p) | |
| ret void | |
| } | |
| ;CHECK: error: invalid operand in inline asm: 'vmovd ${1:k}, $0' | |
| define i32 @foo() { | |
| entry: | |
| %0 = tail call i32 asm sideeffect "vmovd ${1:k}, $0", "=r,x,~{dirflag},~{fpsr},~{flags}"(<2 x i64> <i64 240518168632, i64 240518168632>) | |
| ret i32 %0 | |
| } |