321 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=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,HASWELL3 4# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,BDWELL5 6# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE7 8# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,SKYLAKE9 10# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER111 12# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver2 -iterations=100 -resource-pressure=false -instruction-info=false -timeline < %s | FileCheck %s -check-prefixes=ALL,ZNVER213 14# Code Snippet from "Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networks"15# Charith Mendis, Saman Amarasinghe, Michael Carbin16add $1, %edx17vpaddd (%r8), %ymm0, %ymm018add $32, %r819cmp %edi, %edx20 21# ALL: Iterations: 10022# ALL-NEXT: Instructions: 40023 24# BDWELL-NEXT: Total Cycles: 14225# BDWELL-NEXT: Total uOps: 50026 27# HASWELL-NEXT: Total Cycles: 14328# HASWELL-NEXT: Total uOps: 50029 30# SKYLAKE-NEXT: Total Cycles: 11031# SKYLAKE-NEXT: Total uOps: 50032 33# ZNVER1-NEXT: Total Cycles: 14334# ZNVER1-NEXT: Total uOps: 50035 36# ZNVER2-NEXT: Total Cycles: 11037# ZNVER2-NEXT: Total uOps: 40038 39# BDWELL: Dispatch Width: 440# BDWELL-NEXT: uOps Per Cycle: 3.5241# BDWELL-NEXT: IPC: 2.8242# BDWELL-NEXT: Block RThroughput: 1.343 44# HASWELL: Dispatch Width: 445# HASWELL-NEXT: uOps Per Cycle: 3.5046# HASWELL-NEXT: IPC: 2.8047# HASWELL-NEXT: Block RThroughput: 1.348 49# SKYLAKE: Dispatch Width: 650# SKYLAKE-NEXT: uOps Per Cycle: 4.5551# SKYLAKE-NEXT: IPC: 3.6452# SKYLAKE-NEXT: Block RThroughput: 0.853 54# ZNVER1: Dispatch Width: 455# ZNVER1-NEXT: uOps Per Cycle: 3.5056# ZNVER1-NEXT: IPC: 2.8057# ZNVER1-NEXT: Block RThroughput: 1.358 59# ZNVER2: Dispatch Width: 460# ZNVER2-NEXT: uOps Per Cycle: 3.6461# ZNVER2-NEXT: IPC: 3.6462# ZNVER2-NEXT: Block RThroughput: 1.063 64# ALL: Timeline view:65 66# BDWELL-NEXT: 012345678967# BDWELL-NEXT: Index 0123456789 0168 69# HASWELL-NEXT: 012345678970# HASWELL-NEXT: Index 0123456789 01271 72# SKYLAKE-NEXT: 012345678973# SKYLAKE-NEXT: Index 012345678974 75# ZNVER1-NEXT: 012345678976# ZNVER1-NEXT: Index 0123456789 01277 78# ZNVER2-NEXT: 012345678979# ZNVER2-NEXT: Index 012345678980 81# BDWELL: [0,0] DeER . . . .. addl $1, %edx82# BDWELL-NEXT: [0,1] DeeeeeeeER. . .. vpaddd (%r8), %ymm0, %ymm083# BDWELL-NEXT: [0,2] DeE------R. . .. addq $32, %r884# BDWELL-NEXT: [0,3] .DeE-----R. . .. cmpl %edi, %edx85# BDWELL-NEXT: [1,0] .DeE-----R. . .. addl $1, %edx86# BDWELL-NEXT: [1,1] .DeeeeeeeER . .. vpaddd (%r8), %ymm0, %ymm087# BDWELL-NEXT: [1,2] . DeE-----R . .. addq $32, %r888# BDWELL-NEXT: [1,3] . DeE-----R . .. cmpl %edi, %edx89# BDWELL-NEXT: [2,0] . DeE-----R . .. addl $1, %edx90# BDWELL-NEXT: [2,1] . DeeeeeeeER . .. vpaddd (%r8), %ymm0, %ymm091# BDWELL-NEXT: [2,2] . DeE------R . .. addq $32, %r892# BDWELL-NEXT: [2,3] . DeE------R . .. cmpl %edi, %edx93# BDWELL-NEXT: [3,0] . DeE-----R . .. addl $1, %edx94# BDWELL-NEXT: [3,1] . DeeeeeeeER . .. vpaddd (%r8), %ymm0, %ymm095# BDWELL-NEXT: [3,2] . DeE------R . .. addq $32, %r896# BDWELL-NEXT: [3,3] . DeE-----R . .. cmpl %edi, %edx97# BDWELL-NEXT: [4,0] . DeE-----R . .. addl $1, %edx98# BDWELL-NEXT: [4,1] . DeeeeeeeER. .. vpaddd (%r8), %ymm0, %ymm099# BDWELL-NEXT: [4,2] . .DeE-----R. .. addq $32, %r8100# BDWELL-NEXT: [4,3] . .DeE-----R. .. cmpl %edi, %edx101# BDWELL-NEXT: [5,0] . .DeE-----R. .. addl $1, %edx102# BDWELL-NEXT: [5,1] . . DeeeeeeeER .. vpaddd (%r8), %ymm0, %ymm0103# BDWELL-NEXT: [5,2] . . DeE------R .. addq $32, %r8104# BDWELL-NEXT: [5,3] . . DeE------R .. cmpl %edi, %edx105# BDWELL-NEXT: [6,0] . . DeE-----R .. addl $1, %edx106# BDWELL-NEXT: [6,1] . . DeeeeeeeER .. vpaddd (%r8), %ymm0, %ymm0107# BDWELL-NEXT: [6,2] . . DeE------R .. addq $32, %r8108# BDWELL-NEXT: [6,3] . . DeE-----R .. cmpl %edi, %edx109# BDWELL-NEXT: [7,0] . . DeE-----R .. addl $1, %edx110# BDWELL-NEXT: [7,1] . . DeeeeeeeER .. vpaddd (%r8), %ymm0, %ymm0111# BDWELL-NEXT: [7,2] . . DeE-----R .. addq $32, %r8112# BDWELL-NEXT: [7,3] . . DeE-----R .. cmpl %edi, %edx113# BDWELL-NEXT: [8,0] . . DeE-----R .. addl $1, %edx114# BDWELL-NEXT: [8,1] . . .DeeeeeeeER. vpaddd (%r8), %ymm0, %ymm0115# BDWELL-NEXT: [8,2] . . .DeE------R. addq $32, %r8116# BDWELL-NEXT: [8,3] . . .DeE------R. cmpl %edi, %edx117# BDWELL-NEXT: [9,0] . . . DeE-----R. addl $1, %edx118# BDWELL-NEXT: [9,1] . . . DeeeeeeeER vpaddd (%r8), %ymm0, %ymm0119# BDWELL-NEXT: [9,2] . . . DeE------R addq $32, %r8120# BDWELL-NEXT: [9,3] . . . DeE-----R cmpl %edi, %edx121 122# HASWELL: [0,0] DeER . . . . . addl $1, %edx123# HASWELL-NEXT: [0,1] DeeeeeeeeER . . . vpaddd (%r8), %ymm0, %ymm0124# HASWELL-NEXT: [0,2] DeE-------R . . . addq $32, %r8125# HASWELL-NEXT: [0,3] .DeE------R . . . cmpl %edi, %edx126# HASWELL-NEXT: [1,0] .DeE------R . . . addl $1, %edx127# HASWELL-NEXT: [1,1] .DeeeeeeeeER . . . vpaddd (%r8), %ymm0, %ymm0128# HASWELL-NEXT: [1,2] . DeE------R . . . addq $32, %r8129# HASWELL-NEXT: [1,3] . DeE------R . . . cmpl %edi, %edx130# HASWELL-NEXT: [2,0] . DeE------R . . . addl $1, %edx131# HASWELL-NEXT: [2,1] . DeeeeeeeeER . . . vpaddd (%r8), %ymm0, %ymm0132# HASWELL-NEXT: [2,2] . DeE-------R . . . addq $32, %r8133# HASWELL-NEXT: [2,3] . DeE-------R . . . cmpl %edi, %edx134# HASWELL-NEXT: [3,0] . DeE------R . . . addl $1, %edx135# HASWELL-NEXT: [3,1] . DeeeeeeeeER. . . vpaddd (%r8), %ymm0, %ymm0136# HASWELL-NEXT: [3,2] . DeE-------R. . . addq $32, %r8137# HASWELL-NEXT: [3,3] . DeE------R. . . cmpl %edi, %edx138# HASWELL-NEXT: [4,0] . DeE------R. . . addl $1, %edx139# HASWELL-NEXT: [4,1] . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0140# HASWELL-NEXT: [4,2] . .DeE------R . . addq $32, %r8141# HASWELL-NEXT: [4,3] . .DeE------R . . cmpl %edi, %edx142# HASWELL-NEXT: [5,0] . .DeE------R . . addl $1, %edx143# HASWELL-NEXT: [5,1] . . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0144# HASWELL-NEXT: [5,2] . . DeE-------R . . addq $32, %r8145# HASWELL-NEXT: [5,3] . . DeE-------R . . cmpl %edi, %edx146# HASWELL-NEXT: [6,0] . . DeE------R . . addl $1, %edx147# HASWELL-NEXT: [6,1] . . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0148# HASWELL-NEXT: [6,2] . . DeE-------R . . addq $32, %r8149# HASWELL-NEXT: [6,3] . . DeE------R . . cmpl %edi, %edx150# HASWELL-NEXT: [7,0] . . DeE------R . . addl $1, %edx151# HASWELL-NEXT: [7,1] . . DeeeeeeeeER. . vpaddd (%r8), %ymm0, %ymm0152# HASWELL-NEXT: [7,2] . . DeE------R. . addq $32, %r8153# HASWELL-NEXT: [7,3] . . DeE------R. . cmpl %edi, %edx154# HASWELL-NEXT: [8,0] . . DeE------R. . addl $1, %edx155# HASWELL-NEXT: [8,1] . . .DeeeeeeeeER. vpaddd (%r8), %ymm0, %ymm0156# HASWELL-NEXT: [8,2] . . .DeE-------R. addq $32, %r8157# HASWELL-NEXT: [8,3] . . .DeE-------R. cmpl %edi, %edx158# HASWELL-NEXT: [9,0] . . . DeE------R. addl $1, %edx159# HASWELL-NEXT: [9,1] . . . DeeeeeeeeER vpaddd (%r8), %ymm0, %ymm0160# HASWELL-NEXT: [9,2] . . . DeE-------R addq $32, %r8161# HASWELL-NEXT: [9,3] . . . DeE------R cmpl %edi, %edx162 163# SKYLAKE: [0,0] DeER . . . . addl $1, %edx164# SKYLAKE-NEXT: [0,1] DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0165# SKYLAKE-NEXT: [0,2] DeE-------R . . addq $32, %r8166# SKYLAKE-NEXT: [0,3] D=eE------R . . cmpl %edi, %edx167# SKYLAKE-NEXT: [1,0] D=eE------R . . addl $1, %edx168# SKYLAKE-NEXT: [1,1] .DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0169# SKYLAKE-NEXT: [1,2] .DeE-------R . . addq $32, %r8170# SKYLAKE-NEXT: [1,3] .D=eE------R . . cmpl %edi, %edx171# SKYLAKE-NEXT: [2,0] .D=eE------R . . addl $1, %edx172# SKYLAKE-NEXT: [2,1] . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0173# SKYLAKE-NEXT: [2,2] . DeE-------R . . addq $32, %r8174# SKYLAKE-NEXT: [2,3] . D=eE------R . . cmpl %edi, %edx175# SKYLAKE-NEXT: [3,0] . D=eE------R . . addl $1, %edx176# SKYLAKE-NEXT: [3,1] . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0177# SKYLAKE-NEXT: [3,2] . DeE-------R . . addq $32, %r8178# SKYLAKE-NEXT: [3,3] . D=eE------R . . cmpl %edi, %edx179# SKYLAKE-NEXT: [4,0] . D=eE------R . . addl $1, %edx180# SKYLAKE-NEXT: [4,1] . DeeeeeeeeER. . vpaddd (%r8), %ymm0, %ymm0181# SKYLAKE-NEXT: [4,2] . DeE-------R. . addq $32, %r8182# SKYLAKE-NEXT: [4,3] . D=eE------R. . cmpl %edi, %edx183# SKYLAKE-NEXT: [5,0] . D=eE------R. . addl $1, %edx184# SKYLAKE-NEXT: [5,1] . DeeeeeeeeER . vpaddd (%r8), %ymm0, %ymm0185# SKYLAKE-NEXT: [5,2] . DeE-------R . addq $32, %r8186# SKYLAKE-NEXT: [5,3] . D=eE------R . cmpl %edi, %edx187# SKYLAKE-NEXT: [6,0] . D=eE------R . addl $1, %edx188# SKYLAKE-NEXT: [6,1] . .DeeeeeeeeER . vpaddd (%r8), %ymm0, %ymm0189# SKYLAKE-NEXT: [6,2] . .DeE-------R . addq $32, %r8190# SKYLAKE-NEXT: [6,3] . .D=eE------R . cmpl %edi, %edx191# SKYLAKE-NEXT: [7,0] . .D=eE------R . addl $1, %edx192# SKYLAKE-NEXT: [7,1] . . DeeeeeeeeER . vpaddd (%r8), %ymm0, %ymm0193# SKYLAKE-NEXT: [7,2] . . DeE-------R . addq $32, %r8194# SKYLAKE-NEXT: [7,3] . . D=eE------R . cmpl %edi, %edx195# SKYLAKE-NEXT: [8,0] . . D=eE------R . addl $1, %edx196# SKYLAKE-NEXT: [8,1] . . DeeeeeeeeER. vpaddd (%r8), %ymm0, %ymm0197# SKYLAKE-NEXT: [8,2] . . DeE-------R. addq $32, %r8198# SKYLAKE-NEXT: [8,3] . . D=eE------R. cmpl %edi, %edx199# SKYLAKE-NEXT: [9,0] . . D=eE------R. addl $1, %edx200# SKYLAKE-NEXT: [9,1] . . DeeeeeeeeER vpaddd (%r8), %ymm0, %ymm0201# SKYLAKE-NEXT: [9,2] . . DeE-------R addq $32, %r8202# SKYLAKE-NEXT: [9,3] . . D=eE------R cmpl %edi, %edx203 204# ZNVER1: [0,0] DeER . . . . . addl $1, %edx205# ZNVER1-NEXT: [0,1] DeeeeeeeeER . . . vpaddd (%r8), %ymm0, %ymm0206# ZNVER1-NEXT: [0,2] DeE-------R . . . addq $32, %r8207# ZNVER1-NEXT: [0,3] .DeE------R . . . cmpl %edi, %edx208# ZNVER1-NEXT: [1,0] .DeE------R . . . addl $1, %edx209# ZNVER1-NEXT: [1,1] .DeeeeeeeeER . . . vpaddd (%r8), %ymm0, %ymm0210# ZNVER1-NEXT: [1,2] . DeE------R . . . addq $32, %r8211# ZNVER1-NEXT: [1,3] . DeE------R . . . cmpl %edi, %edx212# ZNVER1-NEXT: [2,0] . DeE------R . . . addl $1, %edx213# ZNVER1-NEXT: [2,1] . DeeeeeeeeER . . . vpaddd (%r8), %ymm0, %ymm0214# ZNVER1-NEXT: [2,2] . DeE-------R . . . addq $32, %r8215# ZNVER1-NEXT: [2,3] . DeE-------R . . . cmpl %edi, %edx216# ZNVER1-NEXT: [3,0] . DeE------R . . . addl $1, %edx217# ZNVER1-NEXT: [3,1] . DeeeeeeeeER. . . vpaddd (%r8), %ymm0, %ymm0218# ZNVER1-NEXT: [3,2] . DeE-------R. . . addq $32, %r8219# ZNVER1-NEXT: [3,3] . DeE------R. . . cmpl %edi, %edx220# ZNVER1-NEXT: [4,0] . DeE------R. . . addl $1, %edx221# ZNVER1-NEXT: [4,1] . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0222# ZNVER1-NEXT: [4,2] . .DeE------R . . addq $32, %r8223# ZNVER1-NEXT: [4,3] . .DeE------R . . cmpl %edi, %edx224# ZNVER1-NEXT: [5,0] . .DeE------R . . addl $1, %edx225# ZNVER1-NEXT: [5,1] . . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0226# ZNVER1-NEXT: [5,2] . . DeE-------R . . addq $32, %r8227# ZNVER1-NEXT: [5,3] . . DeE-------R . . cmpl %edi, %edx228# ZNVER1-NEXT: [6,0] . . DeE------R . . addl $1, %edx229# ZNVER1-NEXT: [6,1] . . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0230# ZNVER1-NEXT: [6,2] . . DeE-------R . . addq $32, %r8231# ZNVER1-NEXT: [6,3] . . DeE------R . . cmpl %edi, %edx232# ZNVER1-NEXT: [7,0] . . DeE------R . . addl $1, %edx233# ZNVER1-NEXT: [7,1] . . DeeeeeeeeER. . vpaddd (%r8), %ymm0, %ymm0234# ZNVER1-NEXT: [7,2] . . DeE------R. . addq $32, %r8235# ZNVER1-NEXT: [7,3] . . DeE------R. . cmpl %edi, %edx236# ZNVER1-NEXT: [8,0] . . DeE------R. . addl $1, %edx237# ZNVER1-NEXT: [8,1] . . .DeeeeeeeeER. vpaddd (%r8), %ymm0, %ymm0238# ZNVER1-NEXT: [8,2] . . .DeE-------R. addq $32, %r8239# ZNVER1-NEXT: [8,3] . . .DeE-------R. cmpl %edi, %edx240# ZNVER1-NEXT: [9,0] . . . DeE------R. addl $1, %edx241# ZNVER1-NEXT: [9,1] . . . DeeeeeeeeER vpaddd (%r8), %ymm0, %ymm0242# ZNVER1-NEXT: [9,2] . . . DeE-------R addq $32, %r8243# ZNVER1-NEXT: [9,3] . . . DeE------R cmpl %edi, %edx244 245# ZNVER2: [0,0] DeER . . . . addl $1, %edx246# ZNVER2-NEXT: [0,1] DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0247# ZNVER2-NEXT: [0,2] DeE-------R . . addq $32, %r8248# ZNVER2-NEXT: [0,3] D=eE------R . . cmpl %edi, %edx249# ZNVER2-NEXT: [1,0] .DeE------R . . addl $1, %edx250# ZNVER2-NEXT: [1,1] .DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0251# ZNVER2-NEXT: [1,2] .DeE-------R . . addq $32, %r8252# ZNVER2-NEXT: [1,3] .D=eE------R . . cmpl %edi, %edx253# ZNVER2-NEXT: [2,0] . DeE------R . . addl $1, %edx254# ZNVER2-NEXT: [2,1] . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0255# ZNVER2-NEXT: [2,2] . DeE-------R . . addq $32, %r8256# ZNVER2-NEXT: [2,3] . D=eE------R . . cmpl %edi, %edx257# ZNVER2-NEXT: [3,0] . DeE------R . . addl $1, %edx258# ZNVER2-NEXT: [3,1] . DeeeeeeeeER . . vpaddd (%r8), %ymm0, %ymm0259# ZNVER2-NEXT: [3,2] . DeE-------R . . addq $32, %r8260# ZNVER2-NEXT: [3,3] . D=eE------R . . cmpl %edi, %edx261# ZNVER2-NEXT: [4,0] . DeE------R . . addl $1, %edx262# ZNVER2-NEXT: [4,1] . DeeeeeeeeER. . vpaddd (%r8), %ymm0, %ymm0263# ZNVER2-NEXT: [4,2] . DeE-------R. . addq $32, %r8264# ZNVER2-NEXT: [4,3] . D=eE------R. . cmpl %edi, %edx265# ZNVER2-NEXT: [5,0] . DeE------R. . addl $1, %edx266# ZNVER2-NEXT: [5,1] . DeeeeeeeeER . vpaddd (%r8), %ymm0, %ymm0267# ZNVER2-NEXT: [5,2] . DeE-------R . addq $32, %r8268# ZNVER2-NEXT: [5,3] . D=eE------R . cmpl %edi, %edx269# ZNVER2-NEXT: [6,0] . .DeE------R . addl $1, %edx270# ZNVER2-NEXT: [6,1] . .DeeeeeeeeER . vpaddd (%r8), %ymm0, %ymm0271# ZNVER2-NEXT: [6,2] . .DeE-------R . addq $32, %r8272# ZNVER2-NEXT: [6,3] . .D=eE------R . cmpl %edi, %edx273# ZNVER2-NEXT: [7,0] . . DeE------R . addl $1, %edx274# ZNVER2-NEXT: [7,1] . . DeeeeeeeeER . vpaddd (%r8), %ymm0, %ymm0275# ZNVER2-NEXT: [7,2] . . DeE-------R . addq $32, %r8276# ZNVER2-NEXT: [7,3] . . D=eE------R . cmpl %edi, %edx277# ZNVER2-NEXT: [8,0] . . DeE------R . addl $1, %edx278# ZNVER2-NEXT: [8,1] . . DeeeeeeeeER. vpaddd (%r8), %ymm0, %ymm0279# ZNVER2-NEXT: [8,2] . . DeE-------R. addq $32, %r8280# ZNVER2-NEXT: [8,3] . . D=eE------R. cmpl %edi, %edx281# ZNVER2-NEXT: [9,0] . . DeE------R. addl $1, %edx282# ZNVER2-NEXT: [9,1] . . DeeeeeeeeER vpaddd (%r8), %ymm0, %ymm0283# ZNVER2-NEXT: [9,2] . . DeE-------R addq $32, %r8284# ZNVER2-NEXT: [9,3] . . D=eE------R cmpl %edi, %edx285 286# ALL: Average Wait times (based on the timeline view):287# ALL-NEXT: [0]: Executions288# ALL-NEXT: [1]: Average time spent waiting in a scheduler's queue289# ALL-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready290# ALL-NEXT: [3]: Average time elapsed from WB until retire stage291 292# ALL: [0] [1] [2] [3]293 294# BDWELL-NEXT: 0. 10 1.0 0.4 4.5 addl $1, %edx295# HASWELL-NEXT: 0. 10 1.0 0.4 5.4 addl $1, %edx296# SKYLAKE-NEXT: 0. 10 1.9 0.1 5.4 addl $1, %edx297# ZNVER1-NEXT: 0. 10 1.0 0.4 5.4 addl $1, %edx298# ZNVER2-NEXT: 0. 10 1.0 0.1 5.4 addl $1, %edx299 300# ALL-NEXT: 1. 10 1.0 0.1 0.0 vpaddd (%r8), %ymm0, %ymm0301 302# BDWELL-NEXT: 2. 10 1.0 0.4 5.7 addq $32, %r8303# BDWELL-NEXT: 3. 10 1.0 0.0 5.3 cmpl %edi, %edx304# BDWELL-NEXT: 10 1.0 0.2 3.9 <total>305 306# HASWELL-NEXT: 2. 10 1.0 0.4 6.7 addq $32, %r8307# HASWELL-NEXT: 3. 10 1.0 0.0 6.3 cmpl %edi, %edx308# HASWELL-NEXT: 10 1.0 0.2 4.6 <total>309 310# SKYLAKE-NEXT: 2. 10 1.0 0.1 7.0 addq $32, %r8311# SKYLAKE-NEXT: 3. 10 2.0 0.0 6.0 cmpl %edi, %edx312# SKYLAKE-NEXT: 10 1.5 0.1 4.6 <total>313 314# ZNVER1-NEXT: 2. 10 1.0 0.4 6.7 addq $32, %r8315# ZNVER1-NEXT: 3. 10 1.0 0.0 6.3 cmpl %edi, %edx316# ZNVER1-NEXT: 10 1.0 0.2 4.6 <total>317 318# ZNVER2-NEXT: 2. 10 1.0 0.1 7.0 addq $32, %r8319# ZNVER2-NEXT: 3. 10 2.0 0.0 6.0 cmpl %edi, %edx320# ZNVER2-NEXT: 10 1.3 0.1 4.6 <total>321