1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,BARCELONA %s
3 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,BDVER2 %s
4 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=btver2 -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,BTVER2 %s
5 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=znver1 -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,ZNVER1 %s
6 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=znver2 -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,ZNVER2 %s
7 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=znver3 -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,ZNVER3 %s
8 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=znver4 -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,ZNVER4 %s
9 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=sandybridge -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,SANDYBRIDGE %s
10 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=ivybridge -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,IVYBRIDGE %s
11 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=haswell -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,HASWELL %s
12 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=broadwell -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,BROADWELL %s
13 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=knl -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,KNL %s
14 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=skylake -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,SKX %s
15 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,SKX-AVX512 %s
16 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=icelake-client -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,ICX %s
17 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,ICX %s
18 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=rocketlake -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,ICX %s
19 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=tigerlake -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,ICX %s
20 # RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=slm -resource-pressure=false -instruction-info=false < %s | FileCheck --check-prefixes=ALL,SLM %s
24 # ALL: Iterations: 100
25 # ALL-NEXT: Instructions: 100
26 # ALL-NEXT: Total Cycles: 103
27 # ALL-NEXT: Total uOps: 100
29 # BARCELONA: Dispatch Width: 4
30 # BARCELONA-NEXT: uOps Per Cycle: 0.97
31 # BARCELONA-NEXT: IPC: 0.97
32 # BARCELONA-NEXT: Block RThroughput: 0.3
34 # BDVER2: Dispatch Width: 4
35 # BDVER2-NEXT: uOps Per Cycle: 0.97
36 # BDVER2-NEXT: IPC: 0.97
37 # BDVER2-NEXT: Block RThroughput: 1.0
39 # BROADWELL: Dispatch Width: 4
40 # BROADWELL-NEXT: uOps Per Cycle: 0.97
41 # BROADWELL-NEXT: IPC: 0.97
42 # BROADWELL-NEXT: Block RThroughput: 0.3
44 # BTVER2: Dispatch Width: 2
45 # BTVER2-NEXT: uOps Per Cycle: 0.97
46 # BTVER2-NEXT: IPC: 0.97
47 # BTVER2-NEXT: Block RThroughput: 0.5
49 # HASWELL: Dispatch Width: 4
50 # HASWELL-NEXT: uOps Per Cycle: 0.97
51 # HASWELL-NEXT: IPC: 0.97
52 # HASWELL-NEXT: Block RThroughput: 0.3
54 # ICX: Dispatch Width: 6
55 # ICX-NEXT: uOps Per Cycle: 0.97
57 # ICX-NEXT: Block RThroughput: 0.3
59 # IVYBRIDGE: Dispatch Width: 4
60 # IVYBRIDGE-NEXT: uOps Per Cycle: 0.97
61 # IVYBRIDGE-NEXT: IPC: 0.97
62 # IVYBRIDGE-NEXT: Block RThroughput: 0.3
64 # KNL: Dispatch Width: 4
65 # KNL-NEXT: uOps Per Cycle: 0.97
67 # KNL-NEXT: Block RThroughput: 0.3
69 # SANDYBRIDGE: Dispatch Width: 4
70 # SANDYBRIDGE-NEXT: uOps Per Cycle: 0.97
71 # SANDYBRIDGE-NEXT: IPC: 0.97
72 # SANDYBRIDGE-NEXT: Block RThroughput: 0.3
74 # SKX: Dispatch Width: 6
75 # SKX-NEXT: uOps Per Cycle: 0.97
77 # SKX-NEXT: Block RThroughput: 0.3
79 # SKX-AVX512: Dispatch Width: 6
80 # SKX-AVX512-NEXT: uOps Per Cycle: 0.97
81 # SKX-AVX512-NEXT: IPC: 0.97
82 # SKX-AVX512-NEXT: Block RThroughput: 0.3
84 # SLM: Dispatch Width: 2
85 # SLM-NEXT: uOps Per Cycle: 0.97
87 # SLM-NEXT: Block RThroughput: 0.5
89 # ZNVER1: Dispatch Width: 4
90 # ZNVER1-NEXT: uOps Per Cycle: 0.97
91 # ZNVER1-NEXT: IPC: 0.97
92 # ZNVER1-NEXT: Block RThroughput: 0.3
94 # ZNVER2: Dispatch Width: 4
95 # ZNVER2-NEXT: uOps Per Cycle: 0.97
96 # ZNVER2-NEXT: IPC: 0.97
97 # ZNVER2-NEXT: Block RThroughput: 0.3
99 # ZNVER3: Dispatch Width: 6
100 # ZNVER3-NEXT: uOps Per Cycle: 0.97
101 # ZNVER3-NEXT: IPC: 0.97
102 # ZNVER3-NEXT: Block RThroughput: 0.3
104 # ZNVER4: Dispatch Width: 6
105 # ZNVER4-NEXT: uOps Per Cycle: 0.97
106 # ZNVER4-NEXT: IPC: 0.97
107 # ZNVER4-NEXT: Block RThroughput: 0.3