xref: /minix3/external/bsd/llvm/dist/llvm/test/CodeGen/X86/x86-inline-asm-validation.ll (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc; RUN: llc -mtriple i686-gnu -filetype asm -o - %s 2>&1 | FileCheck %s
2*0a6a1f1dSLionel Sambuc
3*0a6a1f1dSLionel Sambucdefine void @test_L_ff() {
4*0a6a1f1dSLionel Sambucentry:
5*0a6a1f1dSLionel Sambuc  call void asm "", "L,~{dirflag},~{fpsr},~{flags}"(i32 255)
6*0a6a1f1dSLionel Sambuc  ret void
7*0a6a1f1dSLionel Sambuc}
8*0a6a1f1dSLionel Sambuc
9*0a6a1f1dSLionel Sambuc; CHECK-NOT: error: invalid operand for inline asm constraint 'L'
10*0a6a1f1dSLionel Sambuc
11*0a6a1f1dSLionel Sambucdefine void @test_L_ffff() {
12*0a6a1f1dSLionel Sambucentry:
13*0a6a1f1dSLionel Sambuc  call void asm "", "L,~{dirflag},~{fpsr},~{flags}"(i32 65535)
14*0a6a1f1dSLionel Sambuc  ret void
15*0a6a1f1dSLionel Sambuc}
16*0a6a1f1dSLionel Sambuc
17*0a6a1f1dSLionel Sambuc; CHECK-NOT: error: invalid operand for inline asm constraint 'L'
18*0a6a1f1dSLionel Sambuc
19*0a6a1f1dSLionel Sambucdefine void @test_M_1() {
20*0a6a1f1dSLionel Sambucentry:
21*0a6a1f1dSLionel Sambuc  call void asm "", "M,~{dirflag},~{fpsr},~{flags}"(i32 1)
22*0a6a1f1dSLionel Sambuc  ret void
23*0a6a1f1dSLionel Sambuc}
24*0a6a1f1dSLionel Sambuc
25*0a6a1f1dSLionel Sambuc; CHECK-NOT: error: invalid operand for inline asm constraint 'M'
26*0a6a1f1dSLionel Sambuc
27*0a6a1f1dSLionel Sambucdefine void @test_O_64() {
28*0a6a1f1dSLionel Sambucentry:
29*0a6a1f1dSLionel Sambuc  call void asm "", "O,~{dirflag},~{fpsr},~{flags}"(i32 64)
30*0a6a1f1dSLionel Sambuc  ret void
31*0a6a1f1dSLionel Sambuc}
32*0a6a1f1dSLionel Sambuc
33*0a6a1f1dSLionel Sambuc; CHECK-NOT: error: invalid operand for inline asm constraint 'O'
34*0a6a1f1dSLionel Sambuc
35