mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
79cd7e75f9
Restrict the max length of long nops for Lakemont to 7. Experiments on MCU benchmarks (Dhrystone, Coremark) show that this is the most optimal length. Differential Revision: http://reviews.llvm.org/D18897 llvm-svn: 265924
28 lines
1.3 KiB
ArmAsm
28 lines
1.3 KiB
ArmAsm
# RUN: llvm-mc -filetype=obj -arch=x86 -triple=x86_64-pc-linux-gnu %s | llvm-objdump -d -no-show-raw-insn - | FileCheck %s
|
|
# RUN: llvm-mc -filetype=obj -arch=x86 -triple=i686-pc-linux-gnu %s | llvm-objdump -d -no-show-raw-insn - | FileCheck %s
|
|
# RUN: llvm-mc -filetype=obj -arch=x86 -triple=x86_64-apple-darwin10.0 %s | llvm-objdump -d -no-show-raw-insn - | FileCheck %s
|
|
# RUN: llvm-mc -filetype=obj -arch=x86 -triple=i686-apple-darwin8 %s | llvm-objdump -d -no-show-raw-insn - | FileCheck %s
|
|
# RUN: llvm-mc -filetype=obj -arch=x86 -triple=i686-pc-linux-gnu -mcpu=slm %s | llvm-objdump -d -no-show-raw-insn - | FileCheck --check-prefix=LNOP7 %s
|
|
# RUN: llvm-mc -filetype=obj -arch=x86 -triple=i686-pc-linux-gnu -mcpu=lakemont %s | llvm-objdump -d -no-show-raw-insn - | FileCheck --check-prefix=LNOP7 %s
|
|
|
|
# Ensure alignment directives also emit sequences of 15-byte NOPs on processors
|
|
# capable of using long NOPs.
|
|
inc %eax
|
|
.p2align 5
|
|
inc %eax
|
|
# CHECK: 0: inc
|
|
# CHECK-NEXT: 1: nop
|
|
# CHECK-NEXT: 10: nop
|
|
# CHECK-NEXT: 1f: nop
|
|
# CHECK-NEXT: 20: inc
|
|
|
|
# On Silvermont and Lakemont we emit only 7 byte NOPs since longer NOPs
|
|
# are not profitable.
|
|
# LNOP7: 0: inc
|
|
# LNOP7-NEXT: 1: nop
|
|
# LNOP7-NEXT: 8: nop
|
|
# LNOP7-NEXT: f: nop
|
|
# LNOP7-NEXT: 16: nop
|
|
# LNOP7-NEXT: 1d: nop
|
|
# LNOP7-NEXT: 20: inc
|