85 lines · plain
1## Contrived .zero directive example, simplified from the Linux kernel use case,2## which requires multiple iterations to converge.3## https://github.com/llvm/llvm-project/issues/1002834# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t5# RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s6 7# CHECK: 80: jne 0x0 <.text>8# CHECK-EMPTY:9 10 .text11.Ltmp0:12.Ltmp1:13 cli14 popq %rdi15text1:16 .zero (.Ltmp2-.Ltmp3)17 .section "","ax",@progbits18.Ltmp3:19 movq $0, %rax20.Ltmp4:21.Ltmp5:22 .section .discard.intra_function_calls,"ax",@progbits23 .long .Ltmp524 .section "","ax",@progbits25 callq .Ltmp626 int327.Ltmp7:28.Ltmp8:29 .section .discard.intra_function_calls,"ax",@progbits30 .long .Ltmp831 .section "","ax",@progbits32 callq .Ltmp633 int334.Ltmp6:35 addq $0, %rsp36 decq %rax37 jne .Ltmp438 lfence39 movq $-1, %gs:pcpu_hot+640 41.Ltmp2:42 .text43text2:44 45 .zero (.Ltmp9-.Ltmp10)46 .section "","ax",@progbits47.Ltmp10:48 jmp .Ltmp1149.Ltmp9:50 .text51text3:52 53.Ltmp12:54 .zero (.Ltmp13-.Ltmp14)55 .section "","ax",@progbits56.Ltmp14:57 callq entry_untrain_ret58.Ltmp13:59 .text60 61 .zero (.Ltmp15-.Ltmp16)62 .section "","ax",@progbits63.Ltmp16:64 xorl %eax, %eax65 btsq $63, %rax66 movq %rax, %gs:pcpu_hot+667 68.Ltmp15:69 .text70 71 popq %r1272 popq rbp73 jmp __x86_return_thunk74 movl 936(%rdi), %eax75 cmpl %gs:x86_spec_ctrl_current, %eax76 je .Ltmp077 movl edx, %edx78 wrmsr79 jmp .Ltmp080.Ltmp11:81 movl $72, %ecx82 jmp .Ltmp1283 cmpb $0, kvm_rebooting84 jne .Ltmp185