brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 7fa1e34 Raw
89 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -mtriple=i686 < %s | FileCheck %s --check-prefixes=CHECK,X863; RUN: llc -mtriple=x86_64 < %s | FileCheck %s --check-prefixes=CHECK,X644;; Certain constraints should not be used for PIC. See asm-modifier-pic.ll for PIC-specific tests.5 6@var = internal global i32 0, align 47 8define dso_local void @test_a() nounwind {9; X86-LABEL: test_a:10; X86:       # %bb.0:11; X86-NEXT:    #APP12; X86-NEXT:    #TEST 42 var#13; X86-NEXT:    #NO_APP14; X86-NEXT:    retl15;16; X64-LABEL: test_a:17; X64:       # %bb.0:18; X64-NEXT:    #APP19; X64-NEXT:    #TEST 42 var(%rip)#20; X64-NEXT:    #NO_APP21; X64-NEXT:    retq22  tail call void asm sideeffect "#TEST ${0:a} ${1:a}#", "i,i"(i32 42, ptr @var)23  ret void24}25 26define dso_local void @test_c() nounwind {27; CHECK-LABEL: test_c:28; CHECK:       # %bb.0:29; CHECK-NEXT:    #APP30; CHECK-NEXT:    #TEST 42 var#31; CHECK-NEXT:    #NO_APP32; CHECK-NEXT:    ret{{[l|q]}}33  tail call void asm sideeffect "#TEST ${0:c} ${1:c}#", "i,i"(i32 42, ptr @var)34  ret void35}36 37define dso_local void @test_k() nounwind {38; CHECK-LABEL: test_k:39; CHECK:       # %bb.0:40; CHECK-NEXT:    #APP41; CHECK-NEXT:    movl %fs:0, %eax42; CHECK-NEXT:    #NO_APP43  %tmp = tail call i64 asm "movl %fs:${1:a}, ${0:k}", "=q,irm,~{dirflag},~{fpsr},~{flags}"(i64 0)44  unreachable45}46 47define dso_local void @test_n() nounwind {48; CHECK-LABEL: test_n:49; CHECK:       # %bb.0:50; CHECK-NEXT:    #APP51; CHECK-NEXT:    #TEST 3752; CHECK-NEXT:    #NO_APP53; CHECK-NEXT:    ret{{[l|q]}}54  tail call void asm sideeffect "#TEST ${0:n}", "i"(i32 -37)55  ret void56}57 58define void @test_q() {59; CHECK-LABEL: test_q:60; CHECK:       # %bb.0: # %entry61; CHECK-NEXT:    #APP62; CHECK-NEXT:    #TEST 063; CHECK-NEXT:    #NO_APP64; CHECK-NEXT:    ret{{[l|q]}}65entry:66  call void asm sideeffect "#TEST ${0:q}", "=*imr"( ptr elementtype( i64) null )67  ret void68}69 70define void @test_V(ptr %p) {71; X86-LABEL: test_V:72; X86:       # %bb.0: # %entry73; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax74; X86-NEXT:    #APP75; X86-NEXT:    calll __x86_indirect_thunk_eax76; X86-NEXT:    #NO_APP77; X86-NEXT:    retl78;79; X64-LABEL: test_V:80; X64:       # %bb.0: # %entry81; X64-NEXT:    #APP82; X64-NEXT:    callq __x86_indirect_thunk_rdi83; X64-NEXT:    #NO_APP84; X64-NEXT:    retq85entry:86  tail call void asm sideeffect "call __x86_indirect_thunk_${0:V}", "r,~{dirflag},~{fpsr},~{flags}"(ptr %p)87  ret void88}89