1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=HASWELL
4 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=BDWELL
6 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=SKYLAKE
8 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefix=ALL -check-prefix=ZNVER1
10 vaddps
%xmm0
, %xmm0
, %xmm2
11 vfmadd213ps
(%rdi
), %xmm1
, %xmm2
14 # ALL-NEXT: Instructions: 2
16 # BDWELL-NEXT: Total Cycles: 13
17 # BDWELL-NEXT: Total uOps: 3
19 # HASWELL-NEXT: Total Cycles: 14
20 # HASWELL-NEXT: Total uOps: 3
22 # SKYLAKE-NEXT: Total Cycles: 13
23 # SKYLAKE-NEXT: Total uOps: 3
25 # ZNVER1-NEXT: Total Cycles: 15
26 # ZNVER1-NEXT: Total uOps: 2
28 # BDWELL: Dispatch Width: 4
29 # BDWELL-NEXT: uOps Per Cycle: 0.23
30 # BDWELL-NEXT: IPC: 0.15
31 # BDWELL-NEXT: Block RThroughput: 1.0
33 # HASWELL: Dispatch Width: 4
34 # HASWELL-NEXT: uOps Per Cycle: 0.21
35 # HASWELL-NEXT: IPC: 0.14
36 # HASWELL-NEXT: Block RThroughput: 1.0
38 # SKYLAKE: Dispatch Width: 6
39 # SKYLAKE-NEXT: uOps Per Cycle: 0.23
40 # SKYLAKE-NEXT: IPC: 0.15
41 # SKYLAKE-NEXT: Block RThroughput: 1.0
43 # ZNVER1: Dispatch Width: 4
44 # ZNVER1-NEXT: uOps Per Cycle: 0.13
45 # ZNVER1-NEXT: IPC: 0.13
46 # ZNVER1-NEXT: Block RThroughput: 1.0
55 # ALL-NEXT: Index 0123456789
57 # BDWELL: [0,0] DeeeER . . vaddps %xmm0, %xmm0, %xmm2
58 # BDWELL-NEXT: [0,1] DeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2
60 # HASWELL: [0,0] DeeeER . . vaddps %xmm0, %xmm0, %xmm2
61 # HASWELL-NEXT: [0,1] DeeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2
63 # SKYLAKE: [0,0] DeeeeER . . vaddps %xmm0, %xmm0, %xmm2
64 # SKYLAKE-NEXT: [0,1] DeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2
66 # ZNVER1: [0,0] DeeeER . . vaddps %xmm0, %xmm0, %xmm2
67 # ZNVER1-NEXT: [0,1] DeeeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2
69 # ALL: Average Wait times (based on the timeline view):
70 # ALL-NEXT: [0]: Executions
71 # ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue
72 # ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
73 # ALL-NEXT: [3]: Average time elapsed from WB until retire stage
75 # ALL: [0] [1] [2] [3]
76 # ALL-NEXT: 0. 1 1.0 1.0 0.0 vaddps %xmm0, %xmm0, %xmm2
77 # ALL-NEXT: 1. 1 1.0 0.0 0.0 vfmadd213ps (%rdi), %xmm1, %xmm2