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, %xmm1
11 vfmadd213ps (%rdi), %xmm1, %xmm2
14 # ALL-NEXT: Instructions: 2
16 # BDWELL-NEXT: Total Cycles: 13
17 # BDWELL-NEXT: Dispatch Width: 4
18 # BDWELL-NEXT: IPC: 0.15
20 # HASWELL-NEXT: Total Cycles: 14
21 # HASWELL-NEXT: Dispatch Width: 4
22 # HASWELL-NEXT: IPC: 0.14
24 # SKYLAKE-NEXT: Total Cycles: 13
25 # SKYLAKE-NEXT: Dispatch Width: 6
26 # SKYLAKE-NEXT: IPC: 0.15
28 # ZNVER1-NEXT: Total Cycles: 15
29 # ZNVER1-NEXT: Dispatch Width: 4
30 # ZNVER1-NEXT: IPC: 0.13
32 # ALL-NEXT: Block RThroughput: 1.0
41 # ALL-NEXT: Index 0123456789
43 # ZNVER1: [0,0] DeeeER . . vaddps %xmm0, %xmm0, %xmm1
44 # ZNVER1-NEXT: [0,1] DeeeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2
46 # HASWELL: [0,0] DeeeER . . vaddps %xmm0, %xmm0, %xmm1
47 # HASWELL-NEXT: [0,1] DeeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2
49 # BDWELL: [0,0] DeeeER . . vaddps %xmm0, %xmm0, %xmm1
50 # BDWELL-NEXT: [0,1] DeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2
52 # SKYLAKE: [0,0] DeeeeER . . vaddps %xmm0, %xmm0, %xmm1
53 # SKYLAKE-NEXT: [0,1] DeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2
55 # ALL: Average Wait times (based on the timeline view):
56 # ALL-NEXT: [0]: Executions
57 # ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue
58 # ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
59 # ALL-NEXT: [3]: Average time elapsed from WB until retire stage
61 # ALL: [0] [1] [2] [3]
62 # ALL-NEXT: 0. 1 1.0 1.0 0.0 vaddps %xmm0, %xmm0, %xmm1
63 # ALL-NEXT: 1. 1 1.0 0.0 0.0 vfmadd213ps (%rdi), %xmm1, %xmm2