brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.3 KiB · 2021863 Raw
98 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -timeline -timeline-max-iterations=1 -register-file-stats < %s | FileCheck %s3 4# These are dependency-breaking one-idioms.5# Much like zero-idioms, but they produce ones, and do consume resources.6 7pcmpeqb %mm2, %mm28pcmpeqd %mm2, %mm29pcmpeqw %mm2, %mm210 11pcmpeqb %xmm2, %xmm212pcmpeqd %xmm2, %xmm213pcmpeqq %xmm2, %xmm214pcmpeqw %xmm2, %xmm215 16# CHECK:      Iterations:        10017# CHECK-NEXT: Instructions:      70018# CHECK-NEXT: Total Cycles:      90319# CHECK-NEXT: Total uOps:        70020 21# CHECK:      Dispatch Width:    422# CHECK-NEXT: uOps Per Cycle:    0.7823# CHECK-NEXT: IPC:               0.7824# CHECK-NEXT: Block RThroughput: 3.025 26# CHECK:      Instruction Info:27# CHECK-NEXT: [1]: #uOps28# CHECK-NEXT: [2]: Latency29# CHECK-NEXT: [3]: RThroughput30# CHECK-NEXT: [4]: MayLoad31# CHECK-NEXT: [5]: MayStore32# CHECK-NEXT: [6]: HasSideEffects (U)33 34# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:35# CHECK-NEXT:  1      3     1.00                        pcmpeqb	%mm2, %mm236# CHECK-NEXT:  1      3     1.00                        pcmpeqd	%mm2, %mm237# CHECK-NEXT:  1      3     1.00                        pcmpeqw	%mm2, %mm238# CHECK-NEXT:  1      1     0.50                        pcmpeqb	%xmm2, %xmm239# CHECK-NEXT:  1      1     0.50                        pcmpeqd	%xmm2, %xmm240# CHECK-NEXT:  1      1     0.50                        pcmpeqq	%xmm2, %xmm241# CHECK-NEXT:  1      1     0.50                        pcmpeqw	%xmm2, %xmm242 43# CHECK:      Register File statistics:44# CHECK-NEXT: Total number of mappings created:    70045# CHECK-NEXT: Max number of mappings used:         12846 47# CHECK:      Resources:48# CHECK-NEXT: [0]   - SBDivider49# CHECK-NEXT: [1]   - SBFPDivider50# CHECK-NEXT: [2]   - SBPort051# CHECK-NEXT: [3]   - SBPort152# CHECK-NEXT: [4]   - SBPort453# CHECK-NEXT: [5]   - SBPort554# CHECK-NEXT: [6.0] - SBPort2355# CHECK-NEXT: [6.1] - SBPort2356 57# CHECK:      Resource pressure per iteration:58# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]59# CHECK-NEXT:  -      -      -     4.10    -     2.90    -      -60 61# CHECK:      Resource pressure by instruction:62# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:63# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpeqb	%mm2, %mm264# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpeqd	%mm2, %mm265# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpeqw	%mm2, %mm266# CHECK-NEXT:  -      -      -     0.10    -     0.90    -      -     pcmpeqb	%xmm2, %xmm267# CHECK-NEXT:  -      -      -     0.10    -     0.90    -      -     pcmpeqd	%xmm2, %xmm268# CHECK-NEXT:  -      -      -     0.11    -     0.89    -      -     pcmpeqq	%xmm2, %xmm269# CHECK-NEXT:  -      -      -     0.79    -     0.21    -      -     pcmpeqw	%xmm2, %xmm270 71# CHECK:      Timeline view:72# CHECK-NEXT:                     0173# CHECK-NEXT: Index     012345678974 75# CHECK:      [0,0]     DeeeER    ..   pcmpeqb	%mm2, %mm276# CHECK-NEXT: [0,1]     D===eeeER ..   pcmpeqd	%mm2, %mm277# CHECK-NEXT: [0,2]     D======eeeER   pcmpeqw	%mm2, %mm278# CHECK-NEXT: [0,3]     DeE--------R   pcmpeqb	%xmm2, %xmm279# CHECK-NEXT: [0,4]     .DeE-------R   pcmpeqd	%xmm2, %xmm280# CHECK-NEXT: [0,5]     .D=eE------R   pcmpeqq	%xmm2, %xmm281# CHECK-NEXT: [0,6]     .D==eE-----R   pcmpeqw	%xmm2, %xmm282 83# CHECK:      Average Wait times (based on the timeline view):84# CHECK-NEXT: [0]: Executions85# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue86# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready87# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage88 89# CHECK:            [0]    [1]    [2]    [3]90# CHECK-NEXT: 0.     1     1.0    1.0    0.0       pcmpeqb	%mm2, %mm291# CHECK-NEXT: 1.     1     4.0    0.0    0.0       pcmpeqd	%mm2, %mm292# CHECK-NEXT: 2.     1     7.0    0.0    0.0       pcmpeqw	%mm2, %mm293# CHECK-NEXT: 3.     1     1.0    1.0    8.0       pcmpeqb	%xmm2, %xmm294# CHECK-NEXT: 4.     1     1.0    0.0    7.0       pcmpeqd	%xmm2, %xmm295# CHECK-NEXT: 5.     1     2.0    0.0    6.0       pcmpeqq	%xmm2, %xmm296# CHECK-NEXT: 6.     1     3.0    0.0    5.0       pcmpeqw	%xmm2, %xmm297# CHECK-NEXT:        1     2.7    0.3    3.7       <total>98