blob: 3e57bbcabfb5c5c2f4a02a57f0316aa5da43ad79 [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
15# ALL: Iterations: 1
16# ALL-NEXT: Instructions: 1
17# ALL-NEXT: Total Cycles: 4
18
19# BDW-NEXT: Dispatch Width: 4
20# BTVER2-NEXT: Dispatch Width: 2
21# HSW-NEXT: Dispatch Width: 4
22# IVB-NEXT: Dispatch Width: 4
23# KNL-NEXT: Dispatch Width: 4
24# SKX-NEXT: Dispatch Width: 6
25# SKX-AVX512-NEXT: Dispatch Width: 6
26# SLM-NEXT: Dispatch Width: 2
27# SNB-NEXT: Dispatch Width: 4
28# ZNVER1-NEXT: Dispatch Width: 4
29
30# ALL-NEXT: IPC: 0.25
31
32# BDW-NEXT: Block RThroughput: 0.3
33# BTVER2-NEXT: Block RThroughput: 0.5
34# HSW-NEXT: Block RThroughput: 0.3
35# IVB-NEXT: Block RThroughput: 0.3
36# KNL-NEXT: Block RThroughput: 0.3
37# SKX-NEXT: Block RThroughput: 0.3
38# SKX-AVX512-NEXT: Block RThroughput: 0.3
39# SLM-NEXT: Block RThroughput: 0.5
40# SNB-NEXT: Block RThroughput: 0.3
41# ZNVER1-NEXT: Block RThroughput: 0.3
42
43# ALL: Schedulers - number of cycles where we saw N instructions issued:
44# ALL-NEXT: [# issued], [# cycles]
45# ALL-NEXT: 0, 3 (75.0%)
46# ALL-NEXT: 1, 1 (25.0%)
47
48# BDW: Scheduler's queue usage:
49# BDW-NEXT: BWPortAny, 1/60
50
51# HSW: Scheduler's queue usage:
52# HSW-NEXT: HWPortAny, 1/60
53
54# KNL: Scheduler's queue usage:
55# KNL-NEXT: HWPortAny, 1/60
56
57# BTVER2: Scheduler's queue usage:
58# BTVER2-NEXT: JALU01, 1/20
59# BTVER2-NEXT: JFPU01, 0/18
60# BTVER2-NEXT: JLSAGU, 0/12
61
62# SLM: Scheduler's queue usage:
63# SLM-NEXT: No scheduler resources used.
64
65# IVB: Scheduler's queue usage:
66# IVB-NEXT: SBPortAny, 1/54
67
68# SNB: Scheduler's queue usage:
69# SNB-NEXT: SBPortAny, 1/54
70
71# SKX: Scheduler's queue usage:
72# SKX-NEXT: SKLPortAny, 1/60
73
74# SKX-AVX512: Scheduler's queue usage:
75# SKX-AVX512-NEXT: SKXPortAny, 1/60
76
77# ZNVER1: Scheduler's queue usage:
78# ZNVER1-NEXT: ZnAGU, 0/28
79# ZNVER1-NEXT: ZnALU, 1/56