brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · ddd34ce Raw
70 lines · plain
1## Check that BOLT preserves NOP instructions of different sizes correctly.2 3# REQUIRES: system-linux4 5# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-linux %s -o %t.o6# RUN: ld.lld %t.o -o %t.exe -q7# RUN: llvm-bolt %t.exe -o %t.bolt.exe --keep-nops --relocs --print-finalized \8# RUN:   2>&1 | FileCheck --check-prefix=CHECK-BOLT %s9# RUN: llvm-objdump -d %t.bolt.exe | FileCheck %s10 11  .text12  .globl _start13  .type _start,@function14_start:15  .cfi_startproc16  .nops 117  .nops 218  .nops 319  .nops 420  .nops 521  .nops 622  .nops 723  .nops 824  .nops 925  .nops 1026  .nops 1127  .nops 1228  .nops 1329  .nops 1430  .nops 1531 32# CHECK: <_start>:33# CHECK-NEXT: 9034# CHECK-NEXT: 66 9035# CHECK-NEXT: 0f 1f 0036# CHECK-NEXT: 0f 1f 40 0037# CHECK-NEXT: 0f 1f 44 00 0038# CHECK-NEXT: 66 0f 1f 44 00 0039# CHECK-NEXT: 0f 1f 80 00 00 00 0040# CHECK-NEXT: 0f 1f 84 00 00 00 00 0041# CHECK-NEXT: 66 0f 1f 84 00 00 00 00 0042# CHECK-NEXT: 66 2e 0f 1f 84 00 00 00 00 0043# CHECK-NEXT: 66 66 2e 0f 1f 84 00 00 00 00 0044# CHECK-NEXT: 66 66 66 2e 0f 1f 84 00 00 00 00 0045# CHECK-NEXT: 66 66 66 66 2e 0f 1f 84 00 00 00 00 0046# CHECK-NEXT: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 0047# CHECK-NEXT: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 0048 49# CHECK-BOLT:       Size: 150# CHECK-BOLT-NEXT:  Size: 251# CHECK-BOLT-NEXT:  Size: 352# CHECK-BOLT-NEXT:  Size: 453# CHECK-BOLT-NEXT:  Size: 554# CHECK-BOLT-NEXT:  Size: 655# CHECK-BOLT-NEXT:  Size: 756# CHECK-BOLT-NEXT:  Size: 857# CHECK-BOLT-NEXT:  Size: 958# CHECK-BOLT-NEXT:  Size: 1059# CHECK-BOLT-NEXT:  Size: 1160# CHECK-BOLT-NEXT:  Size: 1261# CHECK-BOLT-NEXT:  Size: 1362# CHECK-BOLT-NEXT:  Size: 1463# CHECK-BOLT-NEXT:  Size: 1564 65# Needed for relocation mode.66  .reloc 0, R_X86_64_NONE67 68  .size _start, .-_start69  .cfi_endproc70