blob: ea06ad0bc80c2178ea91a4021be60a9ebb97c8bf [file] [log] [blame]
Roman Lebedev7c423002018-06-15 14:01:35 +00001# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,BTVER2 %s
3# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,ZNVER1 %s
4# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=sandybridge -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,SNB %s
5# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=ivybridge -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,IVB %s
6# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=haswell -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,HSW %s
7# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,BDW %s
8# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=knl -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,KNL %s
9# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,SKX %s
10# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,SKX-AVX512 %s
11# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=slm -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,SLM %s
12
13xor %eax, %ebx
14
Roman Lebedev7c423002018-06-15 14:01:35 +000015# ALL: Schedulers - number of cycles where we saw N instructions issued:
16# ALL-NEXT: [# issued], [# cycles]
17# ALL-NEXT: 0, 3 (75.0%)
18# ALL-NEXT: 1, 1 (25.0%)
19
Roman Lebedev7c423002018-06-15 14:01:35 +000020# SLM: Scheduler's queue usage:
21# SLM-NEXT: No scheduler resources used.
22
Andrea Di Biagiob89b96c2018-08-27 14:52:52 +000023# BDW: Scheduler's queue usage:
24# BDW-NEXT: [1] Resource name.
25# BDW-NEXT: [2] Average number of used buffer entries.
26# BDW-NEXT: [3] Maximum number of used buffer entries.
27# BDW-NEXT: [4] Total number of buffer entries.
Roman Lebedev7c423002018-06-15 14:01:35 +000028
Andrea Di Biagiob89b96c2018-08-27 14:52:52 +000029# BTVER2: Scheduler's queue usage:
30# BTVER2-NEXT: [1] Resource name.
31# BTVER2-NEXT: [2] Average number of used buffer entries.
32# BTVER2-NEXT: [3] Maximum number of used buffer entries.
33# BTVER2-NEXT: [4] Total number of buffer entries.
34
35# HSW: Scheduler's queue usage:
36# HSW-NEXT: [1] Resource name.
37# HSW-NEXT: [2] Average number of used buffer entries.
38# HSW-NEXT: [3] Maximum number of used buffer entries.
39# HSW-NEXT: [4] Total number of buffer entries.
40
41# IVB: Scheduler's queue usage:
42# IVB-NEXT: [1] Resource name.
43# IVB-NEXT: [2] Average number of used buffer entries.
44# IVB-NEXT: [3] Maximum number of used buffer entries.
45# IVB-NEXT: [4] Total number of buffer entries.
46
47# KNL: Scheduler's queue usage:
48# KNL-NEXT: [1] Resource name.
49# KNL-NEXT: [2] Average number of used buffer entries.
50# KNL-NEXT: [3] Maximum number of used buffer entries.
51# KNL-NEXT: [4] Total number of buffer entries.
Roman Lebedev7c423002018-06-15 14:01:35 +000052
53# SKX: Scheduler's queue usage:
Andrea Di Biagiob89b96c2018-08-27 14:52:52 +000054# SKX-NEXT: [1] Resource name.
55# SKX-NEXT: [2] Average number of used buffer entries.
56# SKX-NEXT: [3] Maximum number of used buffer entries.
57# SKX-NEXT: [4] Total number of buffer entries.
Roman Lebedev7c423002018-06-15 14:01:35 +000058
59# SKX-AVX512: Scheduler's queue usage:
Andrea Di Biagiob89b96c2018-08-27 14:52:52 +000060# SKX-AVX512-NEXT: [1] Resource name.
61# SKX-AVX512-NEXT: [2] Average number of used buffer entries.
62# SKX-AVX512-NEXT: [3] Maximum number of used buffer entries.
63# SKX-AVX512-NEXT: [4] Total number of buffer entries.
64
65# SNB: Scheduler's queue usage:
66# SNB-NEXT: [1] Resource name.
67# SNB-NEXT: [2] Average number of used buffer entries.
68# SNB-NEXT: [3] Maximum number of used buffer entries.
69# SNB-NEXT: [4] Total number of buffer entries.
Roman Lebedev7c423002018-06-15 14:01:35 +000070
71# ZNVER1: Scheduler's queue usage:
Andrea Di Biagiob89b96c2018-08-27 14:52:52 +000072# ZNVER1-NEXT: [1] Resource name.
73# ZNVER1-NEXT: [2] Average number of used buffer entries.
74# ZNVER1-NEXT: [3] Maximum number of used buffer entries.
75# ZNVER1-NEXT: [4] Total number of buffer entries.
76
77# BDW: [1] [2] [3] [4]
78# BDW-NEXT: BWPortAny 0 1 60
79
80# HSW: [1] [2] [3] [4]
81# HSW-NEXT: HWPortAny 0 1 60
82
83# KNL: [1] [2] [3] [4]
84# KNL-NEXT: HWPortAny 0 1 60
85
86# BTVER2: [1] [2] [3] [4]
87# BTVER2-NEXT: JALU01 0 1 20
88# BTVER2-NEXT: JFPU01 0 0 18
89# BTVER2-NEXT: JLSAGU 0 0 12
90
91# IVB: [1] [2] [3] [4]
92# IVB-NEXT: SBPortAny 0 1 54
93
94# SNB: [1] [2] [3] [4]
95# SNB-NEXT: SBPortAny 0 1 54
96
97# SKX: [1] [2] [3] [4]
98# SKX-NEXT: SKLPortAny 0 1 60
99
100# SKX-AVX512: [1] [2] [3] [4]
101# SKX-AVX512-NEXT: SKXPortAny 0 1 60
102
103# ZNVER1: [1] [2] [3] [4]
104# ZNVER1-NEXT: ZnAGU 0 0 28
105# ZNVER1-NEXT: ZnALU 0 1 56
106# ZNVER1-NEXT: ZnFPU 0 0 36