reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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

xor %eax, %ebx

# ALL:             Schedulers - number of cycles where we saw N micro opcodes issued:
# ALL-NEXT:        [# issued], [# cycles]
# ALL-NEXT:         0,          3  (75.0%)
# ALL-NEXT:         1,          1  (25.0%)

# BARCELONA:       Scheduler's queue usage:
# BARCELONA-NEXT:  [1] Resource name.
# BARCELONA-NEXT:  [2] Average number of used buffer entries.
# BARCELONA-NEXT:  [3] Maximum number of used buffer entries.
# BARCELONA-NEXT:  [4] Total number of buffer entries.

# BDVER2:          Scheduler's queue usage:
# BDVER2-NEXT:     [1] Resource name.
# BDVER2-NEXT:     [2] Average number of used buffer entries.
# BDVER2-NEXT:     [3] Maximum number of used buffer entries.
# BDVER2-NEXT:     [4] Total number of buffer entries.

# BDW:             Scheduler's queue usage:
# BDW-NEXT:        [1] Resource name.
# BDW-NEXT:        [2] Average number of used buffer entries.
# BDW-NEXT:        [3] Maximum number of used buffer entries.
# BDW-NEXT:        [4] Total number of buffer entries.

# BTVER2:          Scheduler's queue usage:
# BTVER2-NEXT:     [1] Resource name.
# BTVER2-NEXT:     [2] Average number of used buffer entries.
# BTVER2-NEXT:     [3] Maximum number of used buffer entries.
# BTVER2-NEXT:     [4] Total number of buffer entries.

# HSW:             Scheduler's queue usage:
# HSW-NEXT:        [1] Resource name.
# HSW-NEXT:        [2] Average number of used buffer entries.
# HSW-NEXT:        [3] Maximum number of used buffer entries.
# HSW-NEXT:        [4] Total number of buffer entries.

# IVB:             Scheduler's queue usage:
# IVB-NEXT:        [1] Resource name.
# IVB-NEXT:        [2] Average number of used buffer entries.
# IVB-NEXT:        [3] Maximum number of used buffer entries.
# IVB-NEXT:        [4] Total number of buffer entries.

# KNL:             Scheduler's queue usage:
# KNL-NEXT:        [1] Resource name.
# KNL-NEXT:        [2] Average number of used buffer entries.
# KNL-NEXT:        [3] Maximum number of used buffer entries.
# KNL-NEXT:        [4] Total number of buffer entries.

# SKX:             Scheduler's queue usage:
# SKX-NEXT:        [1] Resource name.
# SKX-NEXT:        [2] Average number of used buffer entries.
# SKX-NEXT:        [3] Maximum number of used buffer entries.
# SKX-NEXT:        [4] Total number of buffer entries.

# SKX-AVX512:      Scheduler's queue usage:
# SKX-AVX512-NEXT: [1] Resource name.
# SKX-AVX512-NEXT: [2] Average number of used buffer entries.
# SKX-AVX512-NEXT: [3] Maximum number of used buffer entries.
# SKX-AVX512-NEXT: [4] Total number of buffer entries.

# SLM:             Scheduler's queue usage:
# SLM-NEXT:        No scheduler resources used.

# SNB:             Scheduler's queue usage:
# SNB-NEXT:        [1] Resource name.
# SNB-NEXT:        [2] Average number of used buffer entries.
# SNB-NEXT:        [3] Maximum number of used buffer entries.
# SNB-NEXT:        [4] Total number of buffer entries.

# ZNVER1:          Scheduler's queue usage:
# ZNVER1-NEXT:     [1] Resource name.
# ZNVER1-NEXT:     [2] Average number of used buffer entries.
# ZNVER1-NEXT:     [3] Maximum number of used buffer entries.
# ZNVER1-NEXT:     [4] Total number of buffer entries.

# BARCELONA:        [1]            [2]        [3]        [4]
# BARCELONA-NEXT:  SBPortAny        0          1          54

# BDVER2:           [1]            [2]        [3]        [4]
# BDVER2-NEXT:     PdEX             0          1          40
# BDVER2-NEXT:     PdFPU            0          0          64
# BDVER2-NEXT:     PdLoad           0          0          40
# BDVER2-NEXT:     PdStore          0          0          24

# BDW:              [1]            [2]        [3]        [4]
# BDW-NEXT:        BWPortAny        0          1          60

# BTVER2:           [1]            [2]        [3]        [4]
# BTVER2-NEXT:     JALU01           0          1          20
# BTVER2-NEXT:     JFPU01           0          0          18
# BTVER2-NEXT:     JLSAGU           0          0          12

# HSW:              [1]            [2]        [3]        [4]
# HSW-NEXT:        HWPortAny        0          1          60

# IVB:              [1]            [2]        [3]        [4]
# IVB-NEXT:        SBPortAny        0          1          54

# KNL:              [1]            [2]        [3]        [4]
# KNL-NEXT:        HWPortAny        0          1          60

# SKX:              [1]            [2]        [3]        [4]
# SKX-NEXT:        SKLPortAny       0          1          60

# SKX-AVX512:       [1]            [2]        [3]        [4]
# SKX-AVX512-NEXT: SKXPortAny       0          1          60

# SNB:              [1]            [2]        [3]        [4]
# SNB-NEXT:        SBPortAny        0          1          54

# ZNVER1:           [1]            [2]        [3]        [4]
# ZNVER1-NEXT:     ZnAGU            0          0          28
# ZNVER1-NEXT:     ZnALU            0          1          56
# ZNVER1-NEXT:     ZnFPU            0          0          36