1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,HASWELL 3 4# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BDWELL 5 6# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE 7 8# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE 9 10# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER1 11 12# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver2 -iterations=1 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER1 13 14vaddps %xmm0, %xmm0, %xmm2 15vfmadd213ps (%rdi), %xmm1, %xmm2 16 17# ALL: Iterations: 1 18# ALL-NEXT: Instructions: 2 19 20# BDWELL-NEXT: Total Cycles: 13 21# BDWELL-NEXT: Total uOps: 3 22 23# HASWELL-NEXT: Total Cycles: 14 24# HASWELL-NEXT: Total uOps: 3 25 26# SKYLAKE-NEXT: Total Cycles: 13 27# SKYLAKE-NEXT: Total uOps: 3 28 29# ZNVER1-NEXT: Total Cycles: 15 30# ZNVER1-NEXT: Total uOps: 2 31 32# BDWELL: Dispatch Width: 4 33# BDWELL-NEXT: uOps Per Cycle: 0.23 34# BDWELL-NEXT: IPC: 0.15 35# BDWELL-NEXT: Block RThroughput: 1.0 36 37# HASWELL: Dispatch Width: 4 38# HASWELL-NEXT: uOps Per Cycle: 0.21 39# HASWELL-NEXT: IPC: 0.14 40# HASWELL-NEXT: Block RThroughput: 1.0 41 42# SKYLAKE: Dispatch Width: 6 43# SKYLAKE-NEXT: uOps Per Cycle: 0.23 44# SKYLAKE-NEXT: IPC: 0.15 45# SKYLAKE-NEXT: Block RThroughput: 1.0 46 47# ZNVER1: Dispatch Width: 4 48# ZNVER1-NEXT: uOps Per Cycle: 0.13 49# ZNVER1-NEXT: IPC: 0.13 50# ZNVER1-NEXT: Block RThroughput: 0.5 51 52# ALL: Timeline view: 53 54# BDWELL-NEXT: 012 55# HASWELL-NEXT: 0123 56# SKYLAKE-NEXT: 012 57# ZNVER1-NEXT: 01234 58 59# ALL-NEXT: Index 0123456789 60 61# BDWELL: [0,0] DeeeER . . vaddps %xmm0, %xmm0, %xmm2 62# BDWELL-NEXT: [0,1] DeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2 63 64# HASWELL: [0,0] DeeeER . . vaddps %xmm0, %xmm0, %xmm2 65# HASWELL-NEXT: [0,1] DeeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2 66 67# SKYLAKE: [0,0] DeeeeER . . vaddps %xmm0, %xmm0, %xmm2 68# SKYLAKE-NEXT: [0,1] DeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2 69 70# ZNVER1: [0,0] DeeeER . . vaddps %xmm0, %xmm0, %xmm2 71# ZNVER1-NEXT: [0,1] DeeeeeeeeeeeeER vfmadd213ps (%rdi), %xmm1, %xmm2 72 73# ALL: Average Wait times (based on the timeline view): 74# ALL-NEXT: [0]: Executions 75# ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue 76# ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready 77# ALL-NEXT: [3]: Average time elapsed from WB until retire stage 78 79# ALL: [0] [1] [2] [3] 80# ALL-NEXT: 0. 1 1.0 1.0 0.0 vaddps %xmm0, %xmm0, %xmm2 81# ALL-NEXT: 1. 1 1.0 0.0 0.0 vfmadd213ps (%rdi), %xmm1, %xmm2 82# ALL-NEXT: 1 1.0 0.5 0.0 <total> 83