145 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,HASWELL3# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,BDWELL4# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE5# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE6# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,BDVER27# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,BTVER28# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,ZNVER19# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver2 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,ZNVER210 11add %edi, %esi12bextrl %esi, (%rdi), %eax13 14# ALL: Iterations: 115# ALL-NEXT: Instructions: 216 17# BDVER2-NEXT: Total Cycles: 918# BDVER2-NEXT: Total uOps: 319 20# BDWELL-NEXT: Total Cycles: 1021# BDWELL-NEXT: Total uOps: 422 23# BTVER2-NEXT: Total Cycles: 724# BTVER2-NEXT: Total uOps: 225 26# HASWELL-NEXT: Total Cycles: 1027# HASWELL-NEXT: Total uOps: 428 29# SKYLAKE-NEXT: Total Cycles: 1030# SKYLAKE-NEXT: Total uOps: 431 32# ZNVER1-NEXT: Total Cycles: 833# ZNVER1-NEXT: Total uOps: 334 35# ZNVER2-NEXT: Total Cycles: 836# ZNVER2-NEXT: Total uOps: 337 38# BDVER2: Dispatch Width: 439# BDVER2-NEXT: uOps Per Cycle: 0.3340# BDVER2-NEXT: IPC: 0.2241# BDVER2-NEXT: Block RThroughput: 2.042 43# BDWELL: Dispatch Width: 444# BDWELL-NEXT: uOps Per Cycle: 0.4045# BDWELL-NEXT: IPC: 0.2046# BDWELL-NEXT: Block RThroughput: 1.047 48# BTVER2: Dispatch Width: 249# BTVER2-NEXT: uOps Per Cycle: 0.2950# BTVER2-NEXT: IPC: 0.2951# BTVER2-NEXT: Block RThroughput: 1.052 53# HASWELL: Dispatch Width: 454# HASWELL-NEXT: uOps Per Cycle: 0.4055# HASWELL-NEXT: IPC: 0.2056# HASWELL-NEXT: Block RThroughput: 1.057 58# SKYLAKE: Dispatch Width: 659# SKYLAKE-NEXT: uOps Per Cycle: 0.4060# SKYLAKE-NEXT: IPC: 0.2061# SKYLAKE-NEXT: Block RThroughput: 0.762 63# ZNVER1: Dispatch Width: 464# ZNVER1-NEXT: uOps Per Cycle: 0.3865# ZNVER1-NEXT: IPC: 0.2566# ZNVER1-NEXT: Block RThroughput: 0.867 68# ZNVER2: Dispatch Width: 469# ZNVER2-NEXT: uOps Per Cycle: 0.3870# ZNVER2-NEXT: IPC: 0.2571# ZNVER2-NEXT: Block RThroughput: 0.872 73# ALL: Instruction Info:74# ALL-NEXT: [1]: #uOps75# ALL-NEXT: [2]: Latency76# ALL-NEXT: [3]: RThroughput77# ALL-NEXT: [4]: MayLoad78# ALL-NEXT: [5]: MayStore79# ALL-NEXT: [6]: HasSideEffects (U)80 81# ALL: [1] [2] [3] [4] [5] [6] Instructions:82 83# BDVER2-NEXT: 1 1 1.00 addl %edi, %esi84# BDVER2-NEXT: 2 6 1.50 * bextrl %esi, (%rdi), %eax85 86# BDWELL-NEXT: 1 1 0.25 addl %edi, %esi87# BDWELL-NEXT: 3 7 0.50 * bextrl %esi, (%rdi), %eax88 89# BTVER2-NEXT: 1 1 0.50 addl %edi, %esi90# BTVER2-NEXT: 1 4 1.00 * bextrl %esi, (%rdi), %eax91 92# HASWELL-NEXT: 1 1 0.25 addl %edi, %esi93# HASWELL-NEXT: 3 7 0.50 * bextrl %esi, (%rdi), %eax94 95# SKYLAKE-NEXT: 1 1 0.25 addl %edi, %esi96# SKYLAKE-NEXT: 3 7 0.50 * bextrl %esi, (%rdi), %eax97 98# ZNVER1-NEXT: 1 1 0.25 addl %edi, %esi99# ZNVER1-NEXT: 2 5 0.50 * bextrl %esi, (%rdi), %eax100 101# ZNVER2-NEXT: 1 1 0.25 addl %edi, %esi102# ZNVER2-NEXT: 2 5 0.33 * bextrl %esi, (%rdi), %eax103 104# ALL: Timeline view:105 106# BDVER2-NEXT: Index 012345678107# BDWELL-NEXT: Index 0123456789108# BTVER2-NEXT: Index 0123456109# HASWELL-NEXT: Index 0123456789110# SKYLAKE-NEXT: Index 0123456789111# ZNVER1-NEXT: Index 01234567112# ZNVER2-NEXT: Index 01234567113 114# BDVER2: [0,0] DeER . . addl %edi, %esi115# BDVER2-NEXT: [0,1] DeeeeeeER bextrl %esi, (%rdi), %eax116 117# BDWELL: [0,0] DeER . . addl %edi, %esi118# BDWELL-NEXT: [0,1] DeeeeeeeER bextrl %esi, (%rdi), %eax119 120# BTVER2: [0,0] DeER .. addl %edi, %esi121# BTVER2-NEXT: [0,1] DeeeeER bextrl %esi, (%rdi), %eax122 123# HASWELL: [0,0] DeER . . addl %edi, %esi124# HASWELL-NEXT: [0,1] DeeeeeeeER bextrl %esi, (%rdi), %eax125 126# SKYLAKE: [0,0] DeER . . addl %edi, %esi127# SKYLAKE-NEXT: [0,1] DeeeeeeeER bextrl %esi, (%rdi), %eax128 129# ZNVER1: [0,0] DeER . . addl %edi, %esi130# ZNVER1-NEXT: [0,1] DeeeeeER bextrl %esi, (%rdi), %eax131 132# ZNVER2: [0,0] DeER . . addl %edi, %esi133# ZNVER2-NEXT: [0,1] DeeeeeER bextrl %esi, (%rdi), %eax134 135# ALL: Average Wait times (based on the timeline view):136# ALL-NEXT: [0]: Executions137# ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue138# ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready139# ALL-NEXT: [3]: Average time elapsed from WB until retire stage140 141# ALL: [0] [1] [2] [3]142# ALL-NEXT: 0. 1 1.0 1.0 0.0 addl %edi, %esi143# ALL-NEXT: 1. 1 1.0 0.0 0.0 bextrl %esi, (%rdi), %eax144# ALL-NEXT: 1 1.0 0.5 0.0 <total>145