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