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 -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,BARCELONA %s 3# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,BDVER2 %s 4# 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 5# 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 6# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=znver2 -iterations=1 -all-stats=false -all-views=false -scheduler-stats < %s | FileCheck --check-prefixes=ALL,ZNVER2 %s 7# 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 8# 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 9# 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 10# 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 11# 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 12# 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 13# 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 14# 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 15 16xor %eax, %ebx 17 18# ALL: Schedulers - number of cycles where we saw N micro opcodes issued: 19# ALL-NEXT: [# issued], [# cycles] 20# ALL-NEXT: 0, 3 (75.0%) 21# ALL-NEXT: 1, 1 (25.0%) 22 23# BARCELONA: Scheduler's queue usage: 24# BARCELONA-NEXT: [1] Resource name. 25# BARCELONA-NEXT: [2] Average number of used buffer entries. 26# BARCELONA-NEXT: [3] Maximum number of used buffer entries. 27# BARCELONA-NEXT: [4] Total number of buffer entries. 28 29# BDVER2: Scheduler's queue usage: 30# BDVER2-NEXT: [1] Resource name. 31# BDVER2-NEXT: [2] Average number of used buffer entries. 32# BDVER2-NEXT: [3] Maximum number of used buffer entries. 33# BDVER2-NEXT: [4] Total number of buffer entries. 34 35# BDW: Scheduler's queue usage: 36# BDW-NEXT: [1] Resource name. 37# BDW-NEXT: [2] Average number of used buffer entries. 38# BDW-NEXT: [3] Maximum number of used buffer entries. 39# BDW-NEXT: [4] Total number of buffer entries. 40 41# BTVER2: Scheduler's queue usage: 42# BTVER2-NEXT: [1] Resource name. 43# BTVER2-NEXT: [2] Average number of used buffer entries. 44# BTVER2-NEXT: [3] Maximum number of used buffer entries. 45# BTVER2-NEXT: [4] Total number of buffer entries. 46 47# HSW: Scheduler's queue usage: 48# HSW-NEXT: [1] Resource name. 49# HSW-NEXT: [2] Average number of used buffer entries. 50# HSW-NEXT: [3] Maximum number of used buffer entries. 51# HSW-NEXT: [4] Total number of buffer entries. 52 53# IVB: Scheduler's queue usage: 54# IVB-NEXT: [1] Resource name. 55# IVB-NEXT: [2] Average number of used buffer entries. 56# IVB-NEXT: [3] Maximum number of used buffer entries. 57# IVB-NEXT: [4] Total number of buffer entries. 58 59# KNL: Scheduler's queue usage: 60# KNL-NEXT: [1] Resource name. 61# KNL-NEXT: [2] Average number of used buffer entries. 62# KNL-NEXT: [3] Maximum number of used buffer entries. 63# KNL-NEXT: [4] Total number of buffer entries. 64 65# SKX: Scheduler's queue usage: 66# SKX-NEXT: [1] Resource name. 67# SKX-NEXT: [2] Average number of used buffer entries. 68# SKX-NEXT: [3] Maximum number of used buffer entries. 69# SKX-NEXT: [4] Total number of buffer entries. 70 71# SKX-AVX512: Scheduler's queue usage: 72# SKX-AVX512-NEXT: [1] Resource name. 73# SKX-AVX512-NEXT: [2] Average number of used buffer entries. 74# SKX-AVX512-NEXT: [3] Maximum number of used buffer entries. 75# SKX-AVX512-NEXT: [4] Total number of buffer entries. 76 77# SLM: Scheduler's queue usage: 78# SLM-NEXT: No scheduler resources used. 79 80# SNB: Scheduler's queue usage: 81# SNB-NEXT: [1] Resource name. 82# SNB-NEXT: [2] Average number of used buffer entries. 83# SNB-NEXT: [3] Maximum number of used buffer entries. 84# SNB-NEXT: [4] Total number of buffer entries. 85 86# ZNVER1: Scheduler's queue usage: 87# ZNVER1-NEXT: [1] Resource name. 88# ZNVER1-NEXT: [2] Average number of used buffer entries. 89# ZNVER1-NEXT: [3] Maximum number of used buffer entries. 90# ZNVER1-NEXT: [4] Total number of buffer entries. 91 92# ZNVER2: Scheduler's queue usage: 93# ZNVER2-NEXT: [1] Resource name. 94# ZNVER2-NEXT: [2] Average number of used buffer entries. 95# ZNVER2-NEXT: [3] Maximum number of used buffer entries. 96# ZNVER2-NEXT: [4] Total number of buffer entries. 97 98# BARCELONA: [1] [2] [3] [4] 99# BARCELONA-NEXT: SBPortAny 0 1 54 100 101# BDVER2: [1] [2] [3] [4] 102# BDVER2-NEXT: PdEX 0 1 40 103# BDVER2-NEXT: PdFPU 0 0 64 104# BDVER2-NEXT: PdLoad 0 0 40 105# BDVER2-NEXT: PdStore 0 0 24 106 107# BDW: [1] [2] [3] [4] 108# BDW-NEXT: BWPortAny 0 1 60 109 110# BTVER2: [1] [2] [3] [4] 111# BTVER2-NEXT: JALU01 0 1 20 112# BTVER2-NEXT: JFPU01 0 0 18 113# BTVER2-NEXT: JLSAGU 0 0 12 114 115# HSW: [1] [2] [3] [4] 116# HSW-NEXT: HWPortAny 0 1 60 117 118# IVB: [1] [2] [3] [4] 119# IVB-NEXT: SBPortAny 0 1 54 120 121# KNL: [1] [2] [3] [4] 122# KNL-NEXT: HWPortAny 0 1 60 123 124# SKX: [1] [2] [3] [4] 125# SKX-NEXT: SKLPortAny 0 1 60 126 127# SKX-AVX512: [1] [2] [3] [4] 128# SKX-AVX512-NEXT: SKXPortAny 0 1 60 129 130# SNB: [1] [2] [3] [4] 131# SNB-NEXT: SBPortAny 0 1 54 132 133# ZNVER1: [1] [2] [3] [4] 134# ZNVER1-NEXT: ZnAGU 0 0 28 135# ZNVER1-NEXT: ZnALU 0 1 56 136# ZNVER1-NEXT: ZnFPU 0 0 36 137 138# ZNVER2: [1] [2] [3] [4] 139# ZNVER2-NEXT: Zn2AGU 0 0 28 140# ZNVER2-NEXT: Zn2ALU 0 1 64 141# ZNVER2-NEXT: Zn2FPU 0 0 36 142