1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s
Andrea Di Biagio e2a4194fea [llvm-mca] Use a different character to flag instructions with side-effects in the Instruction Info View. NFC
This makes easier to identify changes in the instruction info flags.  It also
helps spotting potential regressions similar to the one recently introduced at
r336728.

Using the same character to mark MayLoad/MayStore/HasSideEffects is problematic
for llvm-lit. When pattern matching substrings, llvm-lit consumes tabs and
spaces. A change in position of the flag marker may not trigger a test failure.

This patch only changes the character used for flag `hasSideEffects`. The reason
why I didn't touch other flags is because I want to avoid spamming the mailing
because of the massive diff due to the numerous tests affected by this change.

In future, each instruction flag should be associated with a different character
in the Instruction Info View.

llvm-svn: 336797
2018-07-11 12:44:44 +00:00

102 lines
5.3 KiB
ArmAsm

# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
crc32b %al, %ecx
crc32b (%rax), %ecx
crc32l %eax, %ecx
crc32l (%rax), %ecx
crc32w %ax, %ecx
crc32w (%rax), %ecx
crc32b %al, %rcx
crc32b (%rax), %rcx
crc32q %rax, %rcx
crc32q (%rax), %rcx
pcmpestri $1, %xmm0, %xmm2
pcmpestri $1, (%rax), %xmm2
pcmpestrm $1, %xmm0, %xmm2
pcmpestrm $1, (%rax), %xmm2
pcmpistri $1, %xmm0, %xmm2
pcmpistri $1, (%rax), %xmm2
pcmpistrm $1, %xmm0, %xmm2
pcmpistrm $1, (%rax), %xmm2
pcmpgtq %xmm0, %xmm2
pcmpgtq (%rax), %xmm2
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx
# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx
# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx
# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx
# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx
# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx
# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx
# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx
# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx
# CHECK-NEXT: 8 18 4.00 pcmpestri $1, %xmm0, %xmm2
# CHECK-NEXT: 9 24 4.00 * pcmpestri $1, (%rax), %xmm2
# CHECK-NEXT: 9 19 4.00 pcmpestrm $1, %xmm0, %xmm2
# CHECK-NEXT: 10 25 4.00 * pcmpestrm $1, (%rax), %xmm2
# CHECK-NEXT: 3 10 3.00 pcmpistri $1, %xmm0, %xmm2
# CHECK-NEXT: 4 16 3.00 * pcmpistri $1, (%rax), %xmm2
# CHECK-NEXT: 3 10 3.00 pcmpistrm $1, %xmm0, %xmm2
# CHECK-NEXT: 4 16 3.00 * pcmpistrm $1, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 pcmpgtq %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * pcmpgtq (%rax), %xmm2
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
# CHECK-NEXT: [1] - SKXFPDivider
# CHECK-NEXT: [2] - SKXPort0
# CHECK-NEXT: [3] - SKXPort1
# CHECK-NEXT: [4] - SKXPort2
# CHECK-NEXT: [5] - SKXPort3
# CHECK-NEXT: [6] - SKXPort4
# CHECK-NEXT: [7] - SKXPort5
# CHECK-NEXT: [8] - SKXPort6
# CHECK-NEXT: [9] - SKXPort7
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 29.67 11.67 5.00 5.00 - 15.67 1.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %ecx
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %ecx
# CHECK-NEXT: - - - 1.00 - - - - - - crc32l %eax, %ecx
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32l (%rax), %ecx
# CHECK-NEXT: - - - 1.00 - - - - - - crc32w %ax, %ecx
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32w (%rax), %ecx
# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %rcx
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %rcx
# CHECK-NEXT: - - - 1.00 - - - - - - crc32q %rax, %rcx
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32q (%rax), %rcx
# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - pcmpestri $1, %xmm0, %xmm2
# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - pcmpestri $1, (%rax), %xmm2
# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - pcmpestrm $1, %xmm0, %xmm2
# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - pcmpestrm $1, (%rax), %xmm2
# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2
# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistri $1, (%rax), %xmm2
# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2
# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistrm $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtq %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pcmpgtq (%rax), %xmm2