[llvm] r345463 - AMD BdVer2 (Piledriver) Initial Scheduler model

Roman Lebedev via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 27 13:46:31 PDT 2018


Modified: llvm/trunk/test/CodeGen/X86/xop-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/xop-schedule.ll?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/xop-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/xop-schedule.ll Sat Oct 27 13:46:30 2018
@@ -1,7 +1,7 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 -mattr=+xop | FileCheck %s --check-prefix=GENERIC
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 -mattr=+xop | FileCheck %s --check-prefix=BDVER --check-prefix=BDVER12 --check-prefix=BDVER1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 -mattr=+xop | FileCheck %s --check-prefix=BDVER --check-prefix=BDVER12 --check-prefix=BDVER2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=bdver1 | FileCheck %s --check-prefix=BDVER --check-prefix=BDVER12 --check-prefix=BDVER1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=bdver2 | FileCheck %s --check-prefix=BDVER --check-prefix=BDVER12 --check-prefix=BDVER2
 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=bdver3 | FileCheck %s --check-prefix=BDVER --check-prefix=BDVER3
 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=bdver4 | FileCheck %s --check-prefix=BDVER --check-prefix=BDVER4
 
@@ -20,13 +20,13 @@ define void @test_vfrczpd(<2 x double> %
 ; BDVER12-LABEL: test_vfrczpd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vfrczpd %xmm0, %xmm0 # sched: [3:1.00]
-; BDVER12-NEXT:    vfrczpd %ymm1, %ymm1 # sched: [3:1.00]
-; BDVER12-NEXT:    vfrczpd (%rdi), %xmm0 # sched: [9:1.00]
-; BDVER12-NEXT:    vfrczpd (%rsi), %ymm1 # sched: [10:1.00]
+; BDVER12-NEXT:    vfrczpd %xmm0, %xmm0 # sched: [10:1.00]
+; BDVER12-NEXT:    vfrczpd %ymm1, %ymm1 # sched: [10:2.00]
+; BDVER12-NEXT:    vfrczpd (%rdi), %xmm0 # sched: [15:1.00]
+; BDVER12-NEXT:    vfrczpd (%rsi), %ymm1 # sched: [15:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    vzeroupper # sched: [100:0.33]
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    vzeroupper # sched: [46:4.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vfrczpd:
 ; BDVER3:       # %bb.0:
@@ -68,13 +68,13 @@ define void @test_vfrczps(<4 x float> %a
 ; BDVER12-LABEL: test_vfrczps:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vfrczps %xmm0, %xmm0 # sched: [3:1.00]
-; BDVER12-NEXT:    vfrczps %ymm1, %ymm1 # sched: [3:1.00]
-; BDVER12-NEXT:    vfrczps (%rdi), %xmm0 # sched: [9:1.00]
-; BDVER12-NEXT:    vfrczps (%rsi), %ymm1 # sched: [10:1.00]
+; BDVER12-NEXT:    vfrczps %xmm0, %xmm0 # sched: [10:1.00]
+; BDVER12-NEXT:    vfrczps %ymm1, %ymm1 # sched: [10:2.00]
+; BDVER12-NEXT:    vfrczps (%rdi), %xmm0 # sched: [15:1.00]
+; BDVER12-NEXT:    vfrczps (%rsi), %ymm1 # sched: [15:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    vzeroupper # sched: [100:0.33]
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    vzeroupper # sched: [46:4.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vfrczps:
 ; BDVER3:       # %bb.0:
@@ -113,10 +113,10 @@ define void @test_vfrczsd(<2 x double> %
 ; BDVER12-LABEL: test_vfrczsd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vfrczsd %xmm0, %xmm0 # sched: [3:1.00]
-; BDVER12-NEXT:    vfrczsd (%rdi), %xmm0 # sched: [9:1.00]
+; BDVER12-NEXT:    vfrczsd %xmm0, %xmm0 # sched: [10:1.00]
+; BDVER12-NEXT:    vfrczsd (%rdi), %xmm0 # sched: [15:1.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vfrczsd:
 ; BDVER3:       # %bb.0:
@@ -149,10 +149,10 @@ define void @test_vfrczss(<4 x float> %a
 ; BDVER12-LABEL: test_vfrczss:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vfrczss %xmm0, %xmm0 # sched: [3:1.00]
-; BDVER12-NEXT:    vfrczss (%rdi), %xmm0 # sched: [9:1.00]
+; BDVER12-NEXT:    vfrczss %xmm0, %xmm0 # sched: [10:1.00]
+; BDVER12-NEXT:    vfrczss (%rdi), %xmm0 # sched: [15:1.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vfrczss:
 ; BDVER3:       # %bb.0:
@@ -186,11 +186,11 @@ define void @test_vpcmov_128(<2 x i64> %
 ; BDVER12-LABEL: test_vpcmov_128:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpcmov %xmm2, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BDVER12-NEXT:    vpcmov %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:0.50]
 ; BDVER12-NEXT:    vpcmov (%rdi), %xmm1, %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    vpcmov %xmm2, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpcmov_128:
 ; BDVER3:       # %bb.0:
@@ -227,12 +227,12 @@ define void @test_vpcmov_256(<4 x i64> %
 ; BDVER12-LABEL: test_vpcmov_256:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpcmov %ymm2, %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpcmov (%rdi), %ymm1, %ymm0, %ymm0 # sched: [8:1.00]
-; BDVER12-NEXT:    vpcmov %ymm2, (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BDVER12-NEXT:    vpcmov %ymm2, %ymm1, %ymm0, %ymm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vpcmov (%rdi), %ymm1, %ymm0, %ymm0 # sched: [7:1.00]
+; BDVER12-NEXT:    vpcmov %ymm2, (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    vzeroupper # sched: [100:0.33]
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    vzeroupper # sched: [46:4.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpcmov_256:
 ; BDVER3:       # %bb.0:
@@ -275,16 +275,16 @@ define void @test_vpcom(<2 x i64> %a0, <
 ; BDVER12-LABEL: test_vpcom:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpcomb $3, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
-; BDVER12-NEXT:    vpcomd $3, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
-; BDVER12-NEXT:    vpcomq $3, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
-; BDVER12-NEXT:    vpcomw $3, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BDVER12-NEXT:    vpcomb $3, %xmm1, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vpcomd $3, %xmm1, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vpcomq $3, %xmm1, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vpcomw $3, %xmm1, %xmm0, %xmm0 # sched: [2:0.50]
 ; BDVER12-NEXT:    vpcomb $3, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    vpcomd $3, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    vpcomq $3, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    vpcomw $3, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpcom:
 ; BDVER3:       # %bb.0:
@@ -335,16 +335,16 @@ define void @test_vpcomu(<2 x i64> %a0,
 ; BDVER12-LABEL: test_vpcomu:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpcomub $3, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
-; BDVER12-NEXT:    vpcomud $3, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
-; BDVER12-NEXT:    vpcomuq $3, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
-; BDVER12-NEXT:    vpcomuw $3, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BDVER12-NEXT:    vpcomub $3, %xmm1, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vpcomud $3, %xmm1, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vpcomuq $3, %xmm1, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vpcomuw $3, %xmm1, %xmm0, %xmm0 # sched: [2:0.50]
 ; BDVER12-NEXT:    vpcomub $3, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    vpcomud $3, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    vpcomuq $3, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    vpcomuw $3, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpcomu:
 ; BDVER3:       # %bb.0:
@@ -390,11 +390,11 @@ define void @test_vpermil2pd_128(<2 x do
 ; BDVER12-LABEL: test_vpermil2pd_128:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpermil2pd $3, %xmm2, %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpermil2pd $3, %xmm2, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpermil2pd $3, (%rdi), %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
+; BDVER12-NEXT:    vpermil2pd $3, %xmm2, %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; BDVER12-NEXT:    vpermil2pd $3, %xmm2, (%rdi), %xmm0, %xmm0 # sched: [8:2.00]
+; BDVER12-NEXT:    vpermil2pd $3, (%rdi), %xmm1, %xmm0, %xmm0 # sched: [8:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpermil2pd_128:
 ; BDVER3:       # %bb.0:
@@ -431,12 +431,12 @@ define void @test_vpermil2pd_256(<4 x do
 ; BDVER12-LABEL: test_vpermil2pd_256:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpermil2pd $3, %ymm2, %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpermil2pd $3, %ymm2, (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
-; BDVER12-NEXT:    vpermil2pd $3, (%rdi), %ymm1, %ymm0, %ymm0 # sched: [8:1.00]
+; BDVER12-NEXT:    vpermil2pd $3, %ymm2, %ymm1, %ymm0, %ymm0 # sched: [3:3.00]
+; BDVER12-NEXT:    vpermil2pd $3, %ymm2, (%rdi), %ymm0, %ymm0 # sched: [8:3.00]
+; BDVER12-NEXT:    vpermil2pd $3, (%rdi), %ymm1, %ymm0, %ymm0 # sched: [8:3.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    vzeroupper # sched: [100:0.33]
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    vzeroupper # sched: [46:4.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpermil2pd_256:
 ; BDVER3:       # %bb.0:
@@ -474,11 +474,11 @@ define void @test_vpermil2ps_128(<4 x fl
 ; BDVER12-LABEL: test_vpermil2ps_128:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpermil2ps $3, %xmm2, %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpermil2ps $3, %xmm2, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpermil2ps $3, (%rdi), %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
+; BDVER12-NEXT:    vpermil2ps $3, %xmm2, %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; BDVER12-NEXT:    vpermil2ps $3, %xmm2, (%rdi), %xmm0, %xmm0 # sched: [8:2.00]
+; BDVER12-NEXT:    vpermil2ps $3, (%rdi), %xmm1, %xmm0, %xmm0 # sched: [8:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpermil2ps_128:
 ; BDVER3:       # %bb.0:
@@ -515,12 +515,12 @@ define void @test_vpermil2ps_256(<8 x fl
 ; BDVER12-LABEL: test_vpermil2ps_256:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpermil2ps $3, %ymm2, %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpermil2ps $3, %ymm2, (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
-; BDVER12-NEXT:    vpermil2ps $3, (%rdi), %ymm1, %ymm0, %ymm0 # sched: [8:1.00]
+; BDVER12-NEXT:    vpermil2ps $3, %ymm2, %ymm1, %ymm0, %ymm0 # sched: [3:3.00]
+; BDVER12-NEXT:    vpermil2ps $3, %ymm2, (%rdi), %ymm0, %ymm0 # sched: [8:3.00]
+; BDVER12-NEXT:    vpermil2ps $3, (%rdi), %ymm1, %ymm0, %ymm0 # sched: [8:3.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    vzeroupper # sched: [100:0.33]
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    vzeroupper # sched: [46:4.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpermil2ps_256:
 ; BDVER3:       # %bb.0:
@@ -557,10 +557,10 @@ define void @test_vphaddbd(<2 x i64> %a0
 ; BDVER12-LABEL: test_vphaddbd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphaddbd %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphaddbd (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphaddbd %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphaddbd (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphaddbd:
 ; BDVER3:       # %bb.0:
@@ -593,10 +593,10 @@ define void @test_vphaddbq(<2 x i64> %a0
 ; BDVER12-LABEL: test_vphaddbq:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphaddbq %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphaddbq (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphaddbq %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphaddbq (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphaddbq:
 ; BDVER3:       # %bb.0:
@@ -629,10 +629,10 @@ define void @test_vphaddbw(<2 x i64> %a0
 ; BDVER12-LABEL: test_vphaddbw:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphaddbw %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphaddbw (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphaddbw %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphaddbw (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphaddbw:
 ; BDVER3:       # %bb.0:
@@ -665,10 +665,10 @@ define void @test_vphadddq(<2 x i64> %a0
 ; BDVER12-LABEL: test_vphadddq:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphadddq %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphadddq (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphadddq %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphadddq (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphadddq:
 ; BDVER3:       # %bb.0:
@@ -701,10 +701,10 @@ define void @test_vphaddubd(<2 x i64> %a
 ; BDVER12-LABEL: test_vphaddubd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphaddubd %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphaddubd (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphaddubd %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphaddubd (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphaddubd:
 ; BDVER3:       # %bb.0:
@@ -737,10 +737,10 @@ define void @test_vphaddubq(<2 x i64> %a
 ; BDVER12-LABEL: test_vphaddubq:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphaddubq %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphaddubq (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphaddubq %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphaddubq (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphaddubq:
 ; BDVER3:       # %bb.0:
@@ -773,10 +773,10 @@ define void @test_vphaddubw(<2 x i64> %a
 ; BDVER12-LABEL: test_vphaddubw:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphaddubw %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphaddubw (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphaddubw %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphaddubw (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphaddubw:
 ; BDVER3:       # %bb.0:
@@ -809,10 +809,10 @@ define void @test_vphaddudq(<2 x i64> %a
 ; BDVER12-LABEL: test_vphaddudq:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphaddudq %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphaddudq (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphaddudq %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphaddudq (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphaddudq:
 ; BDVER3:       # %bb.0:
@@ -845,10 +845,10 @@ define void @test_vphadduwd(<2 x i64> %a
 ; BDVER12-LABEL: test_vphadduwd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphadduwd %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphadduwd (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphadduwd %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphadduwd (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphadduwd:
 ; BDVER3:       # %bb.0:
@@ -881,10 +881,10 @@ define void @test_vphadduwq(<2 x i64> %a
 ; BDVER12-LABEL: test_vphadduwq:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphadduwq %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphadduwq (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphadduwq %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphadduwq (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphadduwq:
 ; BDVER3:       # %bb.0:
@@ -917,10 +917,10 @@ define void @test_vphaddwd(<2 x i64> %a0
 ; BDVER12-LABEL: test_vphaddwd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphaddwd %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphaddwd (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphaddwd %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphaddwd (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphaddwd:
 ; BDVER3:       # %bb.0:
@@ -953,10 +953,10 @@ define void @test_vphaddwq(<2 x i64> %a0
 ; BDVER12-LABEL: test_vphaddwq:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphaddwq %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphaddwq (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphaddwq %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphaddwq (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphaddwq:
 ; BDVER3:       # %bb.0:
@@ -989,10 +989,10 @@ define void @test_vphsubbw(<2 x i64> %a0
 ; BDVER12-LABEL: test_vphsubbw:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphsubbw %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphsubbw (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphsubbw %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphsubbw (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphsubbw:
 ; BDVER3:       # %bb.0:
@@ -1025,10 +1025,10 @@ define void @test_vphsubdq(<2 x i64> %a0
 ; BDVER12-LABEL: test_vphsubdq:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphsubdq %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphsubdq (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphsubdq %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphsubdq (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphsubdq:
 ; BDVER3:       # %bb.0:
@@ -1061,10 +1061,10 @@ define void @test_vphsubwd(<2 x i64> %a0
 ; BDVER12-LABEL: test_vphsubwd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vphsubwd %xmm0, %xmm0 # sched: [3:1.50]
-; BDVER12-NEXT:    vphsubwd (%rdi), %xmm0 # sched: [9:1.50]
+; BDVER12-NEXT:    vphsubwd %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vphsubwd (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vphsubwd:
 ; BDVER3:       # %bb.0:
@@ -1097,10 +1097,10 @@ define void @test_vpmacsdd(<2 x i64> %a0
 ; BDVER12-LABEL: test_vpmacsdd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacsdd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacsdd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacsdd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:2.00]
+; BDVER12-NEXT:    vpmacsdd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [10:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacsdd:
 ; BDVER3:       # %bb.0:
@@ -1133,10 +1133,10 @@ define void @test_vpmacsdqh(<2 x i64> %a
 ; BDVER12-LABEL: test_vpmacsdqh:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacsdqh %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacsdqh %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacsdqh %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:2.00]
+; BDVER12-NEXT:    vpmacsdqh %xmm2, (%rdi), %xmm0, %xmm0 # sched: [10:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacsdqh:
 ; BDVER3:       # %bb.0:
@@ -1169,10 +1169,10 @@ define void @test_vpmacsdql(<2 x i64> %a
 ; BDVER12-LABEL: test_vpmacsdql:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacsdql %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacsdql %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacsdql %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:2.00]
+; BDVER12-NEXT:    vpmacsdql %xmm2, (%rdi), %xmm0, %xmm0 # sched: [10:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacsdql:
 ; BDVER3:       # %bb.0:
@@ -1205,10 +1205,10 @@ define void @test_vpmacssdd(<2 x i64> %a
 ; BDVER12-LABEL: test_vpmacssdd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacssdd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacssdd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacssdd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:2.00]
+; BDVER12-NEXT:    vpmacssdd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [10:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacssdd:
 ; BDVER3:       # %bb.0:
@@ -1241,10 +1241,10 @@ define void @test_vpmacssdqh(<2 x i64> %
 ; BDVER12-LABEL: test_vpmacssdqh:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacssdqh %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacssdqh %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacssdqh %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:2.00]
+; BDVER12-NEXT:    vpmacssdqh %xmm2, (%rdi), %xmm0, %xmm0 # sched: [10:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacssdqh:
 ; BDVER3:       # %bb.0:
@@ -1277,10 +1277,10 @@ define void @test_vpmacssdql(<2 x i64> %
 ; BDVER12-LABEL: test_vpmacssdql:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacssdql %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacssdql %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacssdql %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:2.00]
+; BDVER12-NEXT:    vpmacssdql %xmm2, (%rdi), %xmm0, %xmm0 # sched: [10:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacssdql:
 ; BDVER3:       # %bb.0:
@@ -1313,10 +1313,10 @@ define void @test_vpmacsswd(<2 x i64> %a
 ; BDVER12-LABEL: test_vpmacsswd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacsswd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacsswd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacsswd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:1.00]
+; BDVER12-NEXT:    vpmacsswd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacsswd:
 ; BDVER3:       # %bb.0:
@@ -1349,10 +1349,10 @@ define void @test_vpmacssww(<2 x i64> %a
 ; BDVER12-LABEL: test_vpmacssww:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacssww %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacssww %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacssww %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:1.00]
+; BDVER12-NEXT:    vpmacssww %xmm2, (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacssww:
 ; BDVER3:       # %bb.0:
@@ -1385,10 +1385,10 @@ define void @test_vpmacswd(<2 x i64> %a0
 ; BDVER12-LABEL: test_vpmacswd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacswd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacswd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacswd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:1.00]
+; BDVER12-NEXT:    vpmacswd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacswd:
 ; BDVER3:       # %bb.0:
@@ -1421,10 +1421,10 @@ define void @test_vpmacsww(<2 x i64> %a0
 ; BDVER12-LABEL: test_vpmacsww:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmacsww %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmacsww %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmacsww %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:1.00]
+; BDVER12-NEXT:    vpmacsww %xmm2, (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmacsww:
 ; BDVER3:       # %bb.0:
@@ -1457,10 +1457,10 @@ define void @test_vpmadcsswd(<2 x i64> %
 ; BDVER12-LABEL: test_vpmadcsswd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmadcsswd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmadcsswd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmadcsswd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:1.00]
+; BDVER12-NEXT:    vpmadcsswd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmadcsswd:
 ; BDVER3:       # %bb.0:
@@ -1493,10 +1493,10 @@ define void @test_vpmadcswd(<2 x i64> %a
 ; BDVER12-LABEL: test_vpmadcswd:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpmadcswd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; BDVER12-NEXT:    vpmadcswd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; BDVER12-NEXT:    vpmadcswd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [4:1.00]
+; BDVER12-NEXT:    vpmadcswd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpmadcswd:
 ; BDVER3:       # %bb.0:
@@ -1530,11 +1530,11 @@ define void @test_vpperm(<2 x i64> %a0,
 ; BDVER12-LABEL: test_vpperm:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpperm %xmm2, %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
-; BDVER12-NEXT:    vpperm (%rdi), %xmm1, %xmm0, %xmm0 # sched: [7:0.50]
-; BDVER12-NEXT:    vpperm %xmm2, (%rdi), %xmm0, %xmm0 # sched: [7:0.50]
+; BDVER12-NEXT:    vpperm %xmm2, %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; BDVER12-NEXT:    vpperm (%rdi), %xmm1, %xmm0, %xmm0 # sched: [8:2.00]
+; BDVER12-NEXT:    vpperm %xmm2, (%rdi), %xmm0, %xmm0 # sched: [8:2.00]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpperm:
 ; BDVER3:       # %bb.0:
@@ -1587,28 +1587,28 @@ define void @test_vprot(<2 x i64> %a0, <
 ; BDVER12-LABEL: test_vprot:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vprotb %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vprotd %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vprotq %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vprotw %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vprotb (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotd (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotq (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotw (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotb %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotd %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotq %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotw %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotb $7, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vprotd $7, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vprotq $7, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vprotw $7, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vprotb $7, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotd $7, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotq $7, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vprotw $7, (%rdi), %xmm0 # sched: [7:1.00]
+; BDVER12-NEXT:    vprotb %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vprotd %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vprotq %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vprotw %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vprotb (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vprotd (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vprotq (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vprotw (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vprotb %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vprotd %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vprotq %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vprotw %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vprotb $7, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vprotd $7, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vprotq $7, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vprotw $7, %xmm0, %xmm0 # sched: [2:0.50]
+; BDVER12-NEXT:    vprotb $7, (%rdi), %xmm0 # sched: [7:0.50]
+; BDVER12-NEXT:    vprotd $7, (%rdi), %xmm0 # sched: [7:0.50]
+; BDVER12-NEXT:    vprotq $7, (%rdi), %xmm0 # sched: [7:0.50]
+; BDVER12-NEXT:    vprotw $7, (%rdi), %xmm0 # sched: [7:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vprot:
 ; BDVER3:       # %bb.0:
@@ -1687,20 +1687,20 @@ define void @test_vpsha(<2 x i64> %a0, <
 ; BDVER12-LABEL: test_vpsha:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpshab %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpshad %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpshaq %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpshaw %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpshab (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshad (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshaq (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshaw (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshab %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshad %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshaq %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshaw %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
+; BDVER12-NEXT:    vpshab %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vpshad %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vpshaq %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vpshaw %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vpshab (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshad (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshaq (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshaw (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshab %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshad %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshaq %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshaw %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpsha:
 ; BDVER3:       # %bb.0:
@@ -1763,20 +1763,20 @@ define void @test_vpshl(<2 x i64> %a0, <
 ; BDVER12-LABEL: test_vpshl:
 ; BDVER12:       # %bb.0:
 ; BDVER12-NEXT:    #APP
-; BDVER12-NEXT:    vpshlb %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpshld %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpshlq %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpshlw %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
-; BDVER12-NEXT:    vpshlb (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshld (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshlq (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshlw (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshlb %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshld %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshlq %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
-; BDVER12-NEXT:    vpshlw %xmm0, (%rdi), %xmm0 # sched: [7:1.00]
+; BDVER12-NEXT:    vpshlb %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vpshld %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vpshlq %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vpshlw %xmm1, %xmm0, %xmm0 # sched: [3:0.50]
+; BDVER12-NEXT:    vpshlb (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshld (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshlq (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshlw (%rdi), %xmm0, %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshlb %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshld %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshlq %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
+; BDVER12-NEXT:    vpshlw %xmm0, (%rdi), %xmm0 # sched: [8:0.50]
 ; BDVER12-NEXT:    #NO_APP
-; BDVER12-NEXT:    retq # sched: [1:1.00]
+; BDVER12-NEXT:    retq # sched: [5:1.00]
 ;
 ; BDVER3-LABEL: test_vpshl:
 ; BDVER3:       # %bb.0:

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/add-sequence.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/add-sequence.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/add-sequence.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/add-sequence.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1000 -timeline < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1000 -timeline < %s | FileCheck %s
 
 add %eax, %ecx
 add %esi, %eax
@@ -7,13 +7,13 @@ add %eax, %edx
 
 # CHECK:      Iterations:        1000
 # CHECK-NEXT: Instructions:      3000
-# CHECK-NEXT: Total Cycles:      1004
+# CHECK-NEXT: Total Cycles:      1504
 # CHECK-NEXT: Total uOps:        3000
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    2.99
-# CHECK-NEXT: IPC:               2.99
-# CHECK-NEXT: Block RThroughput: 1.0
+# CHECK-NEXT: uOps Per Cycle:    1.99
+# CHECK-NEXT: IPC:               1.99
+# CHECK-NEXT: Block RThroughput: 1.5
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -24,64 +24,76 @@ add %eax, %edx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     0.33                        addl	%eax, %ecx
-# CHECK-NEXT:  1      1     0.33                        addl	%esi, %eax
-# CHECK-NEXT:  1      1     0.33                        addl	%eax, %edx
+# CHECK-NEXT:  1      1     0.50                        addl	%eax, %ecx
+# CHECK-NEXT:  1      1     0.50                        addl	%esi, %eax
+# CHECK-NEXT:  1      1     0.50                        addl	%eax, %edx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     addl	%eax, %ecx
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     addl	%esi, %eax
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     addl	%eax, %edx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%eax, %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%esi, %eax
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%eax, %edx
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123
+# CHECK-NEXT:                     01234567
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeER .    .  .   addl	%eax, %ecx
-# CHECK-NEXT: [0,1]     DeER .    .  .   addl	%esi, %eax
-# CHECK-NEXT: [0,2]     D=eER.    .  .   addl	%eax, %edx
-# CHECK-NEXT: [1,0]     D=eER.    .  .   addl	%eax, %ecx
-# CHECK-NEXT: [1,1]     .DeER.    .  .   addl	%esi, %eax
-# CHECK-NEXT: [1,2]     .D=eER    .  .   addl	%eax, %edx
-# CHECK-NEXT: [2,0]     .D=eER    .  .   addl	%eax, %ecx
-# CHECK-NEXT: [2,1]     .D=eER    .  .   addl	%esi, %eax
-# CHECK-NEXT: [2,2]     . D=eER   .  .   addl	%eax, %edx
-# CHECK-NEXT: [3,0]     . D=eER   .  .   addl	%eax, %ecx
-# CHECK-NEXT: [3,1]     . D=eER   .  .   addl	%esi, %eax
-# CHECK-NEXT: [3,2]     . D==eER  .  .   addl	%eax, %edx
-# CHECK-NEXT: [4,0]     .  D=eER  .  .   addl	%eax, %ecx
-# CHECK-NEXT: [4,1]     .  D=eER  .  .   addl	%esi, %eax
-# CHECK-NEXT: [4,2]     .  D==eER .  .   addl	%eax, %edx
-# CHECK-NEXT: [5,0]     .  D==eER .  .   addl	%eax, %ecx
-# CHECK-NEXT: [5,1]     .   D=eER .  .   addl	%esi, %eax
-# CHECK-NEXT: [5,2]     .   D==eER.  .   addl	%eax, %edx
-# CHECK-NEXT: [6,0]     .   D==eER.  .   addl	%eax, %ecx
-# CHECK-NEXT: [6,1]     .   D==eER.  .   addl	%esi, %eax
-# CHECK-NEXT: [6,2]     .    D==eER  .   addl	%eax, %edx
-# CHECK-NEXT: [7,0]     .    D==eER  .   addl	%eax, %ecx
-# CHECK-NEXT: [7,1]     .    D==eER  .   addl	%esi, %eax
-# CHECK-NEXT: [7,2]     .    D===eER .   addl	%eax, %edx
-# CHECK-NEXT: [8,0]     .    .D==eER .   addl	%eax, %ecx
-# CHECK-NEXT: [8,1]     .    .D==eER .   addl	%esi, %eax
-# CHECK-NEXT: [8,2]     .    .D===eER.   addl	%eax, %edx
-# CHECK-NEXT: [9,0]     .    .D===eER.   addl	%eax, %ecx
-# CHECK-NEXT: [9,1]     .    . D==eER.   addl	%esi, %eax
-# CHECK-NEXT: [9,2]     .    . D===eER   addl	%eax, %edx
+# CHECK:      [0,0]     DeER .    .    . .   addl	%eax, %ecx
+# CHECK-NEXT: [0,1]     DeER .    .    . .   addl	%esi, %eax
+# CHECK-NEXT: [0,2]     D=eER.    .    . .   addl	%eax, %edx
+# CHECK-NEXT: [1,0]     D==eER    .    . .   addl	%eax, %ecx
+# CHECK-NEXT: [1,1]     .DeE-R    .    . .   addl	%esi, %eax
+# CHECK-NEXT: [1,2]     .D=eER    .    . .   addl	%eax, %edx
+# CHECK-NEXT: [2,0]     .D==eER   .    . .   addl	%eax, %ecx
+# CHECK-NEXT: [2,1]     .D==eER   .    . .   addl	%esi, %eax
+# CHECK-NEXT: [2,2]     . D==eER  .    . .   addl	%eax, %edx
+# CHECK-NEXT: [3,0]     . D===eER .    . .   addl	%eax, %ecx
+# CHECK-NEXT: [3,1]     . D==eE-R .    . .   addl	%esi, %eax
+# CHECK-NEXT: [3,2]     . D===eER .    . .   addl	%eax, %edx
+# CHECK-NEXT: [4,0]     .  D===eER.    . .   addl	%eax, %ecx
+# CHECK-NEXT: [4,1]     .  D===eER.    . .   addl	%esi, %eax
+# CHECK-NEXT: [4,2]     .  D====eER    . .   addl	%eax, %edx
+# CHECK-NEXT: [5,0]     .  D=====eER   . .   addl	%eax, %ecx
+# CHECK-NEXT: [5,1]     .   D===eE-R   . .   addl	%esi, %eax
+# CHECK-NEXT: [5,2]     .   D====eER   . .   addl	%eax, %edx
+# CHECK-NEXT: [6,0]     .   D=====eER  . .   addl	%eax, %ecx
+# CHECK-NEXT: [6,1]     .   D=====eER  . .   addl	%esi, %eax
+# CHECK-NEXT: [6,2]     .    D=====eER . .   addl	%eax, %edx
+# CHECK-NEXT: [7,0]     .    D======eER. .   addl	%eax, %ecx
+# CHECK-NEXT: [7,1]     .    D=====eE-R. .   addl	%esi, %eax
+# CHECK-NEXT: [7,2]     .    D======eER. .   addl	%eax, %edx
+# CHECK-NEXT: [8,0]     .    .D======eER .   addl	%eax, %ecx
+# CHECK-NEXT: [8,1]     .    .D======eER .   addl	%esi, %eax
+# CHECK-NEXT: [8,2]     .    .D=======eER.   addl	%eax, %edx
+# CHECK-NEXT: [9,0]     .    .D========eER   addl	%eax, %ecx
+# CHECK-NEXT: [9,1]     .    . D======eE-R   addl	%esi, %eax
+# CHECK-NEXT: [9,2]     .    . D=======eER   addl	%eax, %edx
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -90,6 +102,6 @@ add %eax, %edx
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     10    2.5    0.1    0.0       addl	%eax, %ecx
-# CHECK-NEXT: 1.     10    2.2    0.1    0.0       addl	%esi, %eax
-# CHECK-NEXT: 2.     10    3.0    0.0    0.0       addl	%eax, %edx
+# CHECK-NEXT: 0.     10    5.0    0.6    0.0       addl	%eax, %ecx
+# CHECK-NEXT: 1.     10    4.2    0.5    0.5       addl	%esi, %eax
+# CHECK-NEXT: 2.     10    5.0    0.0    0.0       addl	%eax, %edx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-1.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-1.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=100 -resource-pressure=false -timeline -timeline-max-iterations=2 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=100 -resource-pressure=false -timeline -timeline-max-iterations=2 < %s | FileCheck %s
 
 ## Sets register RAX.
 imulq $5, %rcx, %rax
@@ -15,13 +15,13 @@ bsf   %rax, %rcx
 
 # CHECK:      Iterations:        100
 # CHECK-NEXT: Instructions:      400
-# CHECK-NEXT: Total Cycles:      803
-# CHECK-NEXT: Total uOps:        400
+# CHECK-NEXT: Total Cycles:      702
+# CHECK-NEXT: Total uOps:        1000
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.50
-# CHECK-NEXT: IPC:               0.50
-# CHECK-NEXT: Block RThroughput: 3.0
+# CHECK-NEXT: uOps Per Cycle:    1.42
+# CHECK-NEXT: IPC:               0.57
+# CHECK-NEXT: Block RThroughput: 4.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -32,23 +32,23 @@ bsf   %rax, %rcx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        imulq	$5, %rcx, %rax
-# CHECK-NEXT:  1      3     1.00                        lzcntl	%ecx, %eax
-# CHECK-NEXT:  1      1     0.33                        andq	%rcx, %rax
-# CHECK-NEXT:  1      3     1.00                        bsfq	%rax, %rcx
+# CHECK-NEXT:  1      6     4.00                        imulq	$5, %rcx, %rax
+# CHECK-NEXT:  2      2     0.50                        lzcntl	%ecx, %eax
+# CHECK-NEXT:  1      1     0.50                        andq	%rcx, %rax
+# CHECK-NEXT:  6      3     2.00                        bsfq	%rax, %rcx
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     012345678
+# CHECK-NEXT:                     012345
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeeeER    .    .  .   imulq	$5, %rcx, %rax
-# CHECK-NEXT: [0,1]     D=eeeER   .    .  .   lzcntl	%ecx, %eax
-# CHECK-NEXT: [0,2]     D====eER  .    .  .   andq	%rcx, %rax
-# CHECK-NEXT: [0,3]     D=====eeeER    .  .   bsfq	%rax, %rcx
-# CHECK-NEXT: [1,0]     .D=======eeeER .  .   imulq	$5, %rcx, %rax
-# CHECK-NEXT: [1,1]     .D========eeeER.  .   lzcntl	%ecx, %eax
-# CHECK-NEXT: [1,2]     .D===========eER  .   andq	%rcx, %rax
-# CHECK-NEXT: [1,3]     .D============eeeER   bsfq	%rax, %rcx
+# CHECK:      [0,0]     DeeeeeeER .    .   imulq	$5, %rcx, %rax
+# CHECK-NEXT: [0,1]     DeeE----R .    .   lzcntl	%ecx, %eax
+# CHECK-NEXT: [0,2]     D==eE---R .    .   andq	%rcx, %rax
+# CHECK-NEXT: [0,3]     .D==eeeER .    .   bsfq	%rax, %rcx
+# CHECK-NEXT: [1,0]     . D====eeeeeeER.   imulq	$5, %rcx, %rax
+# CHECK-NEXT: [1,1]     .  D====eeE---R.   lzcntl	%ecx, %eax
+# CHECK-NEXT: [1,2]     .  D======eE--R.   andq	%rcx, %rax
+# CHECK-NEXT: [1,3]     .   D======eeeER   bsfq	%rax, %rcx
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -57,7 +57,7 @@ bsf   %rax, %rcx
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     2     4.5    0.5    0.0       imulq	$5, %rcx, %rax
-# CHECK-NEXT: 1.     2     5.5    1.5    0.0       lzcntl	%ecx, %eax
-# CHECK-NEXT: 2.     2     8.5    0.0    0.0       andq	%rcx, %rax
-# CHECK-NEXT: 3.     2     9.5    0.0    0.0       bsfq	%rax, %rcx
+# CHECK-NEXT: 0.     2     3.0    0.5    0.0       imulq	$5, %rcx, %rax
+# CHECK-NEXT: 1.     2     3.0    1.0    3.5       lzcntl	%ecx, %eax
+# CHECK-NEXT: 2.     2     5.0    0.0    2.5       andq	%rcx, %rax
+# CHECK-NEXT: 3.     2     5.0    0.0    0.0       bsfq	%rax, %rcx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-2.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/clear-super-register-2.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=100 -resource-pressure=false -timeline -timeline-max-iterations=2 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=100 -resource-pressure=false -timeline -timeline-max-iterations=2 < %s | FileCheck %s
 
 # In this test, the VDIVPS takes 38 cycles to write to register YMM3.  The first
 # VADDPS does not depend on the VDIVPS (the WAW dependency is eliminated at
@@ -33,13 +33,13 @@ vandps %xmm4, %xmm1, %xmm0
 
 # CHECK:      Iterations:        100
 # CHECK-NEXT: Instructions:      1800
-# CHECK-NEXT: Total Cycles:      2804
-# CHECK-NEXT: Total uOps:        2000
+# CHECK-NEXT: Total Cycles:      4003
+# CHECK-NEXT: Total uOps:        3400
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.71
-# CHECK-NEXT: IPC:               0.64
-# CHECK-NEXT: Block RThroughput: 28.0
+# CHECK-NEXT: uOps Per Cycle:    0.85
+# CHECK-NEXT: IPC:               0.45
+# CHECK-NEXT: Block RThroughput: 31.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -50,65 +50,63 @@ vandps %xmm4, %xmm1, %xmm0
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  3      29    28.00                       vdivps	%ymm0, %ymm1, %ymm3
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm3
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT:  1      1     1.00                        vandps	%xmm4, %xmm1, %xmm0
+# CHECK-NEXT:  2      9     19.00                       vdivps	%ymm0, %ymm1, %ymm3
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT:  1      2     0.50                        vandps	%xmm4, %xmm1, %xmm0
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789          0123456789          0123456789
-# CHECK-NEXT: Index     0123456789          0123456789          0123456789
+# CHECK-NEXT:                     0123456789          0123456789          0123456789          0123456789
+# CHECK-NEXT: Index     0123456789          0123456789          0123456789          0123456789
 
-# CHECK:      [0,0]     DeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER   .    .    .    .    .   .   vdivps	%ymm0, %ymm1, %ymm3
-# CHECK-NEXT: [0,1]     DeeeE--------------------------R   .    .    .    .    .   .   vaddps	%xmm0, %xmm1, %xmm3
-# CHECK-NEXT: [0,2]     .D==eeeE-----------------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,3]     .D===eeeE----------------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,4]     .D====eeeE---------------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,5]     .D=====eeeE--------------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,6]     . D=====eeeE-------------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,7]     . D======eeeE------------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,8]     . D=======eeeE-----------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,9]     . D========eeeE----------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,10]    .  D========eeeE---------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,11]    .  D=========eeeE--------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,12]    .  D==========eeeE-------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,13]    .  D===========eeeE------------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,14]    .   D===========eeeE-----------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,15]    .   D============eeeE----------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,16]    .   D=============eeeE---------R   .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [0,17]    .   D================eE--------R   .    .    .    .    .   .   vandps	%xmm4, %xmm1, %xmm0
-# CHECK-NEXT: [1,0]     .    D=======================eeeeeeeeeeeeeeeeeeeeeeeeeeeeeER   vdivps	%ymm0, %ymm1, %ymm3
-# CHECK-NEXT: [1,1]     .    D================eeeE---------------------------------R   vaddps	%xmm0, %xmm1, %xmm3
-# CHECK-NEXT: [1,2]     .    .D==================eeeE------------------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,3]     .    .D===================eeeE-----------------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,4]     .    .D====================eeeE----------------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,5]     .    .D=====================eeeE---------------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,6]     .    . D=====================eeeE--------------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,7]     .    . D======================eeeE-------------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,8]     .    . D=======================eeeE------------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,9]     .    . D========================eeeE-----------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,10]    .    .  D========================eeeE----------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,11]    .    .  D=========================eeeE---------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,12]    .    .  D==========================eeeE--------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,13]    .    .  D===========================eeeE-------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,14]    .    .   D===========================eeeE------------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,15]    .    .   D============================eeeE-----------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,16]    .    .   D=============================eeeE----------------R   vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: [1,17]    .    .   D================================eE---------------R   vandps	%xmm4, %xmm1, %xmm0
+# CHECK:      [0,0]     DeeeeeeeeeER   .    .    .    .    .    .    .    .    .    .    .    .    .   .   vdivps	%ymm0, %ymm1, %ymm3
+# CHECK-NEXT: [0,1]     DeeeeeE----R   .    .    .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT: [0,2]     .D====eeeeeER  .    .    .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,3]     .D======eeeeeER.    .    .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,4]     . D=======eeeeeER   .    .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,5]     . D=========eeeeeER .    .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,6]     .  D==========eeeeeER    .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,7]     .  D============eeeeeER  .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,8]     .   D=============eeeeeER.    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,9]     .   D===============eeeeeER   .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,10]    .    D================eeeeeER .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,11]    .    D==================eeeeeER    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,12]    .    .D===================eeeeeER  .    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,13]    .    .D=====================eeeeeER.    .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,14]    .    . D======================eeeeeER   .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,15]    .    . D========================eeeeeER .    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,16]    .    .  D=========================eeeeeER    .    .    .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [0,17]    .    .  D==============================eeER  .    .    .    .    .    .    .   .   vandps	%xmm4, %xmm1, %xmm0
+# CHECK-NEXT: [1,0]     .    .   D===============================eeeeeeeeeER   .    .    .    .    .   .   vdivps	%ymm0, %ymm1, %ymm3
+# CHECK-NEXT: [1,1]     .    .   D===============================eeeeeE----R   .    .    .    .    .   .   vaddps	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT: [1,2]     .    .    D===================================eeeeeER  .    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,3]     .    .    D=====================================eeeeeER.    .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,4]     .    .    .D======================================eeeeeER   .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,5]     .    .    .D========================================eeeeeER .    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,6]     .    .    . D=========================================eeeeeER    .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,7]     .    .    . D===========================================eeeeeER  .    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,8]     .    .    .  D============================================eeeeeER.    .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,9]     .    .    .  D==============================================eeeeeER   .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,10]    .    .    .   D===============================================eeeeeER .    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,11]    .    .    .   D=================================================eeeeeER    .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,12]    .    .    .    D==================================================eeeeeER  .   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,13]    .    .    .    D====================================================eeeeeER.   .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,14]    .    .    .    .D=====================================================eeeeeER  .   vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: [1,15]    .    .    .    .D=======================================================eeeeeER.   vaddps	%ymm3, %ymm1, %ymm4
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -117,21 +115,21 @@ vandps %xmm4, %xmm1, %xmm0
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     2     12.5   4.0    0.0       vdivps	%ymm0, %ymm1, %ymm3
-# CHECK-NEXT: 1.     2     9.0    0.5    29.5      vaddps	%xmm0, %xmm1, %xmm3
-# CHECK-NEXT: 2.     2     11.0   0.0    26.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 3.     2     12.0   1.0    25.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 4.     2     13.0   2.0    24.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 5.     2     14.0   3.0    23.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 6.     2     14.0   4.0    22.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 7.     2     15.0   5.0    21.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 8.     2     16.0   6.0    20.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 9.     2     17.0   7.0    19.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 10.    2     17.0   8.0    18.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 11.    2     18.0   9.0    17.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 12.    2     19.0   10.0   16.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 13.    2     20.0   11.0   15.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 14.    2     20.0   12.0   14.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 15.    2     21.0   13.0   13.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 16.    2     22.0   14.0   12.5      vaddps	%ymm3, %ymm1, %ymm4
-# CHECK-NEXT: 17.    2     25.0   0.0    11.5      vandps	%xmm4, %xmm1, %xmm0
+# CHECK-NEXT: 0.     2     16.5   0.5    0.0       vdivps	%ymm0, %ymm1, %ymm3
+# CHECK-NEXT: 1.     2     16.5   0.5    4.0       vaddps	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT: 2.     2     20.5   0.0    0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 3.     2     22.5   2.0    0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 4.     2     23.5   4.0    0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 5.     2     25.5   6.0    0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 6.     2     26.5   8.0    0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 7.     2     28.5   10.0   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 8.     2     29.5   12.0   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 9.     2     31.5   14.0   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 10.    2     32.5   16.0   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 11.    2     34.5   18.0   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 12.    2     35.5   20.0   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 13.    2     37.5   22.0   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 14.    2     38.5   23.5   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 15.    2     40.5   25.5   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 16.    2     41.5   27.0   0.0       vaddps	%ymm3, %ymm1, %ymm4
+# CHECK-NEXT: 17.    2     46.5   0.0    0.0       vandps	%xmm4, %xmm1, %xmm0

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-cmp.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-cmp.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-cmp.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-cmp.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
 
 # Perf stat reports an IPC of 1.97 for this block of code.
 
@@ -11,13 +11,13 @@ cmovae %ebx, %eax
 
 # CHECK:      Iterations:        1500
 # CHECK-NEXT: Instructions:      3000
-# CHECK-NEXT: Total Cycles:      4503
-# CHECK-NEXT: Total uOps:        4500
+# CHECK-NEXT: Total Cycles:      1504
+# CHECK-NEXT: Total uOps:        3000
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.00
-# CHECK-NEXT: IPC:               0.67
-# CHECK-NEXT: Block RThroughput: 0.8
+# CHECK-NEXT: uOps Per Cycle:    1.99
+# CHECK-NEXT: IPC:               1.99
+# CHECK-NEXT: Block RThroughput: 1.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -28,38 +28,49 @@ cmovae %ebx, %eax
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     0.33                        cmpl	%eax, %eax
-# CHECK-NEXT:  2      2     0.67                        cmovael	%ebx, %eax
+# CHECK-NEXT:  1      1     0.50                        cmpl	%eax, %eax
+# CHECK-NEXT:  1      1     0.50                        cmovael	%ebx, %eax
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cmpl	%eax, %eax
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     cmovael	%ebx, %eax
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     cmpl	%eax, %eax
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovael	%ebx, %eax
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     01
-# CHECK-NEXT: Index     0123456789
+# CHECK-NEXT: Index     0123456
 
-# CHECK:      [0,0]     DeER .    ..   cmpl	%eax, %eax
-# CHECK-NEXT: [0,1]     D=eeER    ..   cmovael	%ebx, %eax
-# CHECK-NEXT: [1,0]     D===eER   ..   cmpl	%eax, %eax
-# CHECK-NEXT: [1,1]     .D===eeER ..   cmovael	%ebx, %eax
-# CHECK-NEXT: [2,0]     .D=====eER..   cmpl	%eax, %eax
-# CHECK-NEXT: [2,1]     . D=====eeER   cmovael	%ebx, %eax
+# CHECK:      [0,0]     DeER ..   cmpl	%eax, %eax
+# CHECK-NEXT: [0,1]     D=eER..   cmovael	%ebx, %eax
+# CHECK-NEXT: [1,0]     DeE-R..   cmpl	%eax, %eax
+# CHECK-NEXT: [1,1]     D==eER.   cmovael	%ebx, %eax
+# CHECK-NEXT: [2,0]     .DeE-R.   cmpl	%eax, %eax
+# CHECK-NEXT: [2,1]     .D==eER   cmovael	%ebx, %eax
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -68,5 +79,5 @@ cmovae %ebx, %eax
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     3.7    0.3    0.0       cmpl	%eax, %eax
-# CHECK-NEXT: 1.     3     4.0    0.0    0.0       cmovael	%ebx, %eax
+# CHECK-NEXT: 0.     3     1.0    1.0    0.7       cmpl	%eax, %eax
+# CHECK-NEXT: 1.     3     2.7    0.0    0.0       cmovael	%ebx, %eax

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
 
 # perf stat reports an IPC of 2.00 for this block of code.
 
@@ -14,12 +14,12 @@ vpcmpeqq %xmm3, %xmm3, %xmm0
 
 # CHECK:      Iterations:        1500
 # CHECK-NEXT: Instructions:      6000
-# CHECK-NEXT: Total Cycles:      6003
+# CHECK-NEXT: Total Cycles:      3005
 # CHECK-NEXT: Total uOps:        6000
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.00
-# CHECK-NEXT: IPC:               1.00
+# CHECK-NEXT: uOps Per Cycle:    2.00
+# CHECK-NEXT: IPC:               2.00
 # CHECK-NEXT: Block RThroughput: 2.0
 
 # CHECK:      Instruction Info:
@@ -31,48 +31,60 @@ vpcmpeqq %xmm3, %xmm3, %xmm0
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqq	%xmm3, %xmm3, %xmm0
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -     2.00    -     2.00    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     2.00   2.00    -      -     2.00   2.00    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcmpeqb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vpcmpeqw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcmpeqd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vpcmpeqq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     1.00    -      -      -      -      -     vpcmpeqb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     1.00    -      -      -      -     vpcmpeqw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -      -      -     vpcmpeqd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -      -     vpcmpeqq	%xmm3, %xmm3, %xmm0
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     01234
+# CHECK-NEXT:                     0
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeER .    .   .   vpcmpeqb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [0,1]     D=eER.    .   .   vpcmpeqw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: [0,2]     D==eER    .   .   vpcmpeqd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: [0,3]     D===eER   .   .   vpcmpeqq	%xmm3, %xmm3, %xmm0
-# CHECK-NEXT: [1,0]     .D===eER  .   .   vpcmpeqb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [1,1]     .D====eER .   .   vpcmpeqw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: [1,2]     .D=====eER.   .   vpcmpeqd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: [1,3]     .D======eER   .   vpcmpeqq	%xmm3, %xmm3, %xmm0
-# CHECK-NEXT: [2,0]     . D======eER  .   vpcmpeqb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [2,1]     . D=======eER .   vpcmpeqw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: [2,2]     . D========eER.   vpcmpeqd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: [2,3]     . D=========eER   vpcmpeqq	%xmm3, %xmm3, %xmm0
+# CHECK:      [0,0]     DeeER.    .   vpcmpeqb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [0,1]     D=eeER    .   vpcmpeqw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: [0,2]     DeeE-R    .   vpcmpeqd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: [0,3]     D==eeER   .   vpcmpeqq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT: [1,0]     .DeeE-R   .   vpcmpeqb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [1,1]     .D==eeER  .   vpcmpeqw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: [1,2]     .D=eeE-R  .   vpcmpeqd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: [1,3]     .D===eeER .   vpcmpeqq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT: [2,0]     . D=eeE-R .   vpcmpeqb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [2,1]     . D===eeER.   vpcmpeqw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: [2,2]     . D==eeE-R.   vpcmpeqd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: [2,3]     . D====eeER   vpcmpeqq	%xmm3, %xmm3, %xmm0
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -81,7 +93,7 @@ vpcmpeqq %xmm3, %xmm3, %xmm0
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     4.0    0.3    0.0       vpcmpeqb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: 1.     3     5.0    0.0    0.0       vpcmpeqw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: 2.     3     6.0    0.0    0.0       vpcmpeqd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: 3.     3     7.0    0.0    0.0       vpcmpeqq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT: 0.     3     1.3    1.3    0.7       vpcmpeqb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: 1.     3     3.0    3.0    0.0       vpcmpeqw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: 2.     3     2.0    2.0    1.0       vpcmpeqd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: 3.     3     4.0    0.0    0.0       vpcmpeqq	%xmm3, %xmm3, %xmm0

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
 
 # perf stat reports an IPC of 2.00 for this block of code.
 
@@ -15,12 +15,12 @@ vpcmpgtq %xmm3, %xmm3, %xmm0
 
 # CHECK:      Iterations:        1500
 # CHECK-NEXT: Instructions:      6000
-# CHECK-NEXT: Total Cycles:      1501
+# CHECK-NEXT: Total Cycles:      1504
 # CHECK-NEXT: Total uOps:        6000
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    4.00
-# CHECK-NEXT: IPC:               4.00
+# CHECK-NEXT: uOps Per Cycle:    3.99
+# CHECK-NEXT: IPC:               3.99
 # CHECK-NEXT: Block RThroughput: 1.0
 
 # CHECK:      Instruction Info:
@@ -35,44 +35,56 @@ vpcmpgtq %xmm3, %xmm3, %xmm0
 # CHECK-NEXT:  1      0     0.25                        vpcmpgtb	%xmm0, %xmm0, %xmm1
 # CHECK-NEXT:  1      0     0.25                        vpcmpgtw	%xmm1, %xmm1, %xmm2
 # CHECK-NEXT:  1      0     0.25                        vpcmpgtd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT:  1      0     0.25                        vpcmpgtq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT:  1      2     0.50                        vpcmpgtq	%xmm3, %xmm3, %xmm0
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -      -      -      -      -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     vpcmpgtb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     vpcmpgtw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     vpcmpgtd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     vpcmpgtq	%xmm3, %xmm3, %xmm0
 
 # CHECK:      Timeline view:
-# CHECK-NEXT: Index     0123
+# CHECK-NEXT: Index     0123456
 
-# CHECK:      [0,0]     DR .   vpcmpgtb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [0,1]     DR .   vpcmpgtw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: [0,2]     DR .   vpcmpgtd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: [0,3]     DR .   vpcmpgtq	%xmm3, %xmm3, %xmm0
-# CHECK-NEXT: [1,0]     .DR.   vpcmpgtb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [1,1]     .DR.   vpcmpgtw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: [1,2]     .DR.   vpcmpgtd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: [1,3]     .DR.   vpcmpgtq	%xmm3, %xmm3, %xmm0
-# CHECK-NEXT: [2,0]     . DR   vpcmpgtb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [2,1]     . DR   vpcmpgtw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: [2,2]     . DR   vpcmpgtd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: [2,3]     . DR   vpcmpgtq	%xmm3, %xmm3, %xmm0
+# CHECK:      [0,0]     DR   ..   vpcmpgtb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [0,1]     DR   ..   vpcmpgtw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: [0,2]     DR   ..   vpcmpgtd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: [0,3]     DeeER..   vpcmpgtq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT: [1,0]     .D--R..   vpcmpgtb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [1,1]     .D--R..   vpcmpgtw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: [1,2]     .D--R..   vpcmpgtd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: [1,3]     .DeeER.   vpcmpgtq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT: [2,0]     . D--R.   vpcmpgtb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [2,1]     . D--R.   vpcmpgtw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: [2,2]     . D--R.   vpcmpgtd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: [2,3]     . DeeER   vpcmpgtq	%xmm3, %xmm3, %xmm0
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -81,7 +93,7 @@ vpcmpgtq %xmm3, %xmm3, %xmm0
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     0.0    0.0    0.0       vpcmpgtb	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: 1.     3     0.0    0.0    0.0       vpcmpgtw	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: 2.     3     0.0    0.0    0.0       vpcmpgtd	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: 3.     3     0.0    0.0    0.0       vpcmpgtq	%xmm3, %xmm3, %xmm0
+# CHECK-NEXT: 0.     3     0.0    0.0    1.3       vpcmpgtb	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: 1.     3     0.0    0.0    1.3       vpcmpgtw	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: 2.     3     0.0    0.0    1.3       vpcmpgtd	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: 3.     3     1.0    1.0    0.0       vpcmpgtq	%xmm3, %xmm3, %xmm0

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-1.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-1.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
 
 # perf stat reports an IPC of 1.00 for this code block.
 
@@ -12,13 +12,13 @@ sbb %eax, %eax
 
 # CHECK:      Iterations:        1500
 # CHECK-NEXT: Instructions:      3000
-# CHECK-NEXT: Total Cycles:      6003
-# CHECK-NEXT: Total uOps:        6000
+# CHECK-NEXT: Total Cycles:      3003
+# CHECK-NEXT: Total uOps:        3000
 
 # CHECK:      Dispatch Width:    4
 # CHECK-NEXT: uOps Per Cycle:    1.00
-# CHECK-NEXT: IPC:               0.50
-# CHECK-NEXT: Block RThroughput: 1.0
+# CHECK-NEXT: IPC:               1.00
+# CHECK-NEXT: Block RThroughput: 2.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -29,38 +29,49 @@ sbb %eax, %eax
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  2      2     0.67                        sbbl	%edx, %edx
-# CHECK-NEXT:  2      2     0.67                        sbbl	%eax, %eax
+# CHECK-NEXT:  1      1     1.00                        sbbl	%edx, %edx
+# CHECK-NEXT:  1      1     1.00                        sbbl	%eax, %eax
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.33   1.33    -     1.33    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     sbbl	%edx, %edx
-# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     sbbl	%eax, %eax
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl	%edx, %edx
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl	%eax, %eax
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     01234
-# CHECK-NEXT: Index     0123456789
+# CHECK-NEXT: Index     012345678
 
-# CHECK:      [0,0]     DeeER.    .   .   sbbl	%edx, %edx
-# CHECK-NEXT: [0,1]     D==eeER   .   .   sbbl	%eax, %eax
-# CHECK-NEXT: [1,0]     .D===eeER .   .   sbbl	%edx, %edx
-# CHECK-NEXT: [1,1]     .D=====eeER   .   sbbl	%eax, %eax
-# CHECK-NEXT: [2,0]     . D======eeER .   sbbl	%edx, %edx
-# CHECK-NEXT: [2,1]     . D========eeER   sbbl	%eax, %eax
+# CHECK:      [0,0]     DeER .  .   sbbl	%edx, %edx
+# CHECK-NEXT: [0,1]     D=eER.  .   sbbl	%eax, %eax
+# CHECK-NEXT: [1,0]     D==eER  .   sbbl	%edx, %edx
+# CHECK-NEXT: [1,1]     D===eER .   sbbl	%eax, %eax
+# CHECK-NEXT: [2,0]     .D===eER.   sbbl	%edx, %edx
+# CHECK-NEXT: [2,1]     .D====eER   sbbl	%eax, %eax
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -69,5 +80,5 @@ sbb %eax, %eax
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     4.0    0.3    0.0       sbbl	%edx, %edx
-# CHECK-NEXT: 1.     3     6.0    0.0    0.0       sbbl	%eax, %eax
+# CHECK-NEXT: 0.     3     2.7    0.3    0.0       sbbl	%edx, %edx
+# CHECK-NEXT: 1.     3     3.7    0.0    0.0       sbbl	%eax, %eax

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-2.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-2.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -timeline -timeline-max-iterations=3 -iterations=1500 < %s | FileCheck %s
 
 # perf stat reports a throughput of 1.51 IPC for this block of code.
 
@@ -13,13 +13,13 @@ sbb %eax, %eax
 
 # CHECK:      Iterations:        1500
 # CHECK-NEXT: Instructions:      4500
-# CHECK-NEXT: Total Cycles:      7503
-# CHECK-NEXT: Total uOps:        6000
+# CHECK-NEXT: Total Cycles:      3006
+# CHECK-NEXT: Total uOps:        4500
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.80
-# CHECK-NEXT: IPC:               0.60
-# CHECK-NEXT: Block RThroughput: 1.0
+# CHECK-NEXT: uOps Per Cycle:    1.50
+# CHECK-NEXT: IPC:               1.50
+# CHECK-NEXT: Block RThroughput: 1.5
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -30,43 +30,55 @@ sbb %eax, %eax
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        imull	%edx, %eax
-# CHECK-NEXT:  1      1     0.33                        addl	%edx, %edx
-# CHECK-NEXT:  2      2     0.67                        sbbl	%eax, %eax
+# CHECK-NEXT:  1      4     1.00                        imull	%edx, %eax
+# CHECK-NEXT:  1      1     0.50                        addl	%edx, %edx
+# CHECK-NEXT:  1      1     1.00                        sbbl	%eax, %eax
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.33   1.33    -     1.33    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -     1.00
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     imull	%edx, %eax
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.34    -      -     addl	%edx, %edx
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     sbbl	%eax, %eax
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.00   imull	%edx, %eax
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%edx, %edx
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     sbbl	%eax, %eax
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     01234567
+# CHECK-NEXT:                     01
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeeeER    .    . .   imull	%edx, %eax
-# CHECK-NEXT: [0,1]     DeE--R    .    . .   addl	%edx, %edx
-# CHECK-NEXT: [0,2]     D===eeER  .    . .   sbbl	%eax, %eax
-# CHECK-NEXT: [1,0]     .D====eeeER    . .   imull	%edx, %eax
-# CHECK-NEXT: [1,1]     .DeE------R    . .   addl	%edx, %edx
-# CHECK-NEXT: [1,2]     .D=======eeER  . .   sbbl	%eax, %eax
-# CHECK-NEXT: [2,0]     . D========eeeER .   imull	%edx, %eax
-# CHECK-NEXT: [2,1]     . DeE----------R .   addl	%edx, %edx
-# CHECK-NEXT: [2,2]     . D===========eeER   sbbl	%eax, %eax
+# CHECK:      [0,0]     D=eeeeER  ..   imull	%edx, %eax
+# CHECK-NEXT: [0,1]     DeE----R  ..   addl	%edx, %edx
+# CHECK-NEXT: [0,2]     D==eE--R  ..   sbbl	%eax, %eax
+# CHECK-NEXT: [1,0]     D===eeeeER..   imull	%edx, %eax
+# CHECK-NEXT: [1,1]     .DeE-----R..   addl	%edx, %edx
+# CHECK-NEXT: [1,2]     .D===eE--R..   sbbl	%eax, %eax
+# CHECK-NEXT: [2,0]     .D====eeeeER   imull	%edx, %eax
+# CHECK-NEXT: [2,1]     .D=eE------R   addl	%edx, %edx
+# CHECK-NEXT: [2,2]     . D====eE--R   sbbl	%eax, %eax
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -75,6 +87,6 @@ sbb %eax, %eax
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     5.0    0.3    0.0       imull	%edx, %eax
-# CHECK-NEXT: 1.     3     1.0    0.3    6.0       addl	%edx, %edx
-# CHECK-NEXT: 2.     3     8.0    0.0    0.0       sbbl	%eax, %eax
+# CHECK-NEXT: 0.     3     3.7    0.7    0.0       imull	%edx, %eax
+# CHECK-NEXT: 1.     3     1.3    0.3    5.0       addl	%edx, %edx
+# CHECK-NEXT: 2.     3     4.0    2.0    2.0       sbbl	%eax, %eax

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=500 -timeline < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=500 -timeline < %s | FileCheck %s
 
 vpmuld %xmm0, %xmm0, %xmm1
 vpaddd %xmm1, %xmm1, %xmm0
@@ -7,7 +7,7 @@ vpaddd %xmm0, %xmm0, %xmm3
 
 # CHECK:      Iterations:        500
 # CHECK-NEXT: Instructions:      1500
-# CHECK-NEXT: Total Cycles:      3004
+# CHECK-NEXT: Total Cycles:      3005
 # CHECK-NEXT: Total uOps:        1500
 
 # CHECK:      Dispatch Width:    4
@@ -24,64 +24,76 @@ vpaddd %xmm0, %xmm0, %xmm3
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      5     1.00                        vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT:  1      1     0.50                        vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT:  1      1     0.50                        vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT:  1      4     1.00                        vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT:  1      2     0.50                        vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT:  1      2     0.50                        vpaddd	%xmm0, %xmm0, %xmm3
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     2.00   1.00    -     1.50   1.50    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -      -     vpaddd	%xmm0, %xmm0, %xmm3
 
 # CHECK:      Timeline view:
 # CHECK-NEXT:                     0123456789          0123456789          0123456789
-# CHECK-NEXT: Index     0123456789          0123456789          0123456789          0123
+# CHECK-NEXT: Index     0123456789          0123456789          0123456789          01234
 
-# CHECK:      [0,0]     DeeeeeER  .    .    .    .    .    .    .    .    .    .    .  .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [0,1]     D=====eER .    .    .    .    .    .    .    .    .    .    .  .   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [0,2]     D======eER.    .    .    .    .    .    .    .    .    .    .  .   vpaddd	%xmm0, %xmm0, %xmm3
-# CHECK-NEXT: [1,0]     D======eeeeeER .    .    .    .    .    .    .    .    .    .  .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [1,1]     .D==========eER.    .    .    .    .    .    .    .    .    .  .   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [1,2]     .D===========eER    .    .    .    .    .    .    .    .    .  .   vpaddd	%xmm0, %xmm0, %xmm3
-# CHECK-NEXT: [2,0]     .D===========eeeeeER.    .    .    .    .    .    .    .    .  .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [2,1]     .D================eER    .    .    .    .    .    .    .    .  .   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [2,2]     . D================eER   .    .    .    .    .    .    .    .  .   vpaddd	%xmm0, %xmm0, %xmm3
-# CHECK-NEXT: [3,0]     . D================eeeeeER    .    .    .    .    .    .    .  .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [3,1]     . D=====================eER   .    .    .    .    .    .    .  .   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [3,2]     . D======================eER  .    .    .    .    .    .    .  .   vpaddd	%xmm0, %xmm0, %xmm3
-# CHECK-NEXT: [4,0]     .  D=====================eeeeeER   .    .    .    .    .    .  .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [4,1]     .  D==========================eER  .    .    .    .    .    .  .   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [4,2]     .  D===========================eER .    .    .    .    .    .  .   vpaddd	%xmm0, %xmm0, %xmm3
-# CHECK-NEXT: [5,0]     .  D===========================eeeeeER  .    .    .    .    .  .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [5,1]     .   D===============================eER .    .    .    .    .  .   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [5,2]     .   D================================eER.    .    .    .    .  .   vpaddd	%xmm0, %xmm0, %xmm3
-# CHECK-NEXT: [6,0]     .   D================================eeeeeER .    .    .    .  .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [6,1]     .   D=====================================eER.    .    .    .  .   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [6,2]     .    D=====================================eER    .    .    .  .   vpaddd	%xmm0, %xmm0, %xmm3
-# CHECK-NEXT: [7,0]     .    D=====================================eeeeeER.    .    .  .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [7,1]     .    D==========================================eER    .    .  .   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [7,2]     .    D===========================================eER   .    .  .   vpaddd	%xmm0, %xmm0, %xmm3
-# CHECK-NEXT: [8,0]     .    .D==========================================eeeeeER    .  .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [8,1]     .    .D===============================================eER   .  .   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [8,2]     .    .D================================================eER  .  .   vpaddd	%xmm0, %xmm0, %xmm3
-# CHECK-NEXT: [9,0]     .    .D================================================eeeeeER .   vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [9,1]     .    . D====================================================eER.   vpaddd	%xmm1, %xmm1, %xmm0
-# CHECK-NEXT: [9,2]     .    . D=====================================================eER   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK:      [0,0]     DeeeeER   .    .    .    .    .    .    .    .    .    .    .   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [0,1]     D====eeER .    .    .    .    .    .    .    .    .    .    .   .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [0,2]     D======eeER    .    .    .    .    .    .    .    .    .    .   .   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [1,0]     D======eeeeER  .    .    .    .    .    .    .    .    .    .   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [1,1]     .D=========eeER.    .    .    .    .    .    .    .    .    .   .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [1,2]     .D===========eeER   .    .    .    .    .    .    .    .    .   .   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [2,0]     .D===========eeeeER .    .    .    .    .    .    .    .    .   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [2,1]     .D===============eeER    .    .    .    .    .    .    .    .   .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [2,2]     . D================eeER  .    .    .    .    .    .    .    .   .   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [3,0]     . D================eeeeER.    .    .    .    .    .    .    .   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [3,1]     . D====================eeER   .    .    .    .    .    .    .   .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [3,2]     . D======================eeER .    .    .    .    .    .    .   .   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [4,0]     .  D=====================eeeeER    .    .    .    .    .    .   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [4,1]     .  D=========================eeER  .    .    .    .    .    .   .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [4,2]     .  D===========================eeER.    .    .    .    .    .   .   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [5,0]     .  D===========================eeeeER   .    .    .    .    .   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [5,1]     .   D==============================eeER .    .    .    .    .   .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [5,2]     .   D================================eeER    .    .    .    .   .   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [6,0]     .   D================================eeeeER  .    .    .    .   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [6,1]     .   D====================================eeER.    .    .    .   .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [6,2]     .    D=====================================eeER   .    .    .   .   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [7,0]     .    D=====================================eeeeER .    .    .   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [7,1]     .    D=========================================eeER    .    .   .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [7,2]     .    D===========================================eeER  .    .   .   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [8,0]     .    .D==========================================eeeeER.    .   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [8,1]     .    .D==============================================eeER   .   .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [8,2]     .    .D================================================eeER .   .   vpaddd	%xmm0, %xmm0, %xmm3
+# CHECK-NEXT: [9,0]     .    .D================================================eeeeER   .   vpmuldq	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [9,1]     .    . D===================================================eeER .   vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: [9,2]     .    . D=====================================================eeER   vpaddd	%xmm0, %xmm0, %xmm3
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -91,5 +103,5 @@ vpaddd %xmm0, %xmm0, %xmm3
 
 # CHECK:            [0]    [1]    [2]    [3]
 # CHECK-NEXT: 0.     10    25.0   0.1    0.0       vpmuldq	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: 1.     10    29.7   0.0    0.0       vpaddd	%xmm1, %xmm1, %xmm0
+# CHECK-NEXT: 1.     10    28.7   0.0    0.0       vpaddd	%xmm1, %xmm1, %xmm0
 # CHECK-NEXT: 2.     10    30.5   0.0    0.0       vpaddd	%xmm0, %xmm0, %xmm3

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dot-product.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dot-product.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dot-product.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/dot-product.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=300 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=300 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
 
 vmulps   %xmm0, %xmm1, %xmm2
 vhaddps  %xmm2, %xmm2, %xmm3
@@ -7,13 +7,13 @@ vhaddps  %xmm3, %xmm3, %xmm4
 
 # CHECK:      Iterations:        300
 # CHECK-NEXT: Instructions:      900
-# CHECK-NEXT: Total Cycles:      1211
+# CHECK-NEXT: Total Cycles:      627
 # CHECK-NEXT: Total uOps:        2100
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.73
-# CHECK-NEXT: IPC:               0.74
-# CHECK-NEXT: Block RThroughput: 4.0
+# CHECK-NEXT: uOps Per Cycle:    3.35
+# CHECK-NEXT: IPC:               1.44
+# CHECK-NEXT: Block RThroughput: 2.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -25,42 +25,54 @@ vhaddps  %xmm3, %xmm3, %xmm4
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  1      5     1.00                        vmulps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      5     2.00                        vhaddps	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT:  3      5     2.00                        vhaddps	%xmm3, %xmm3, %xmm4
+# CHECK-NEXT:  3      11    1.00                        vhaddps	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT:  3      11    1.00                        vhaddps	%xmm3, %xmm3, %xmm4
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.00   2.00    -     4.00    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.49   1.51    -      -      -      -     2.00   1.00    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhaddps	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhaddps	%xmm3, %xmm3, %xmm4
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vmulps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vhaddps	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.49   0.51    -      -      -      -     1.00    -      -      -      -      -     vhaddps	%xmm3, %xmm3, %xmm4
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789
-# CHECK-NEXT: Index     0123456789          012
+# CHECK-NEXT:                     0123456789          012
+# CHECK-NEXT: Index     0123456789          0123456789
 
-# CHECK:      [0,0]     DeeeeeER  .    .    . .   vmulps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: [0,1]     D=====eeeeeER  .    . .   vhaddps	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: [0,2]     .D==========eeeeeER . .   vhaddps	%xmm3, %xmm3, %xmm4
-# CHECK-NEXT: [1,0]     .DeeeeeE----------R . .   vmulps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: [1,1]     . D=====eeeeeE----R . .   vhaddps	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: [1,2]     .  D==========eeeeeER .   vhaddps	%xmm3, %xmm3, %xmm4
-# CHECK-NEXT: [2,0]     .  DeeeeeE----------R .   vmulps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: [2,1]     .   D=====eeeeeE----R .   vhaddps	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: [2,2]     .    D==========eeeeeER   vhaddps	%xmm3, %xmm3, %xmm4
+# CHECK:      [0,0]     DeeeeeER  .    .    .    .    . .   vmulps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [0,1]     D=====eeeeeeeeeeeER .    .    . .   vhaddps	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: [0,2]     .D===============eeeeeeeeeeeER. .   vhaddps	%xmm3, %xmm3, %xmm4
+# CHECK-NEXT: [1,0]     .DeeeeeE---------------------R. .   vmulps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [1,1]     . D====eeeeeeeeeeeE----------R. .   vhaddps	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: [1,2]     .  D==============eeeeeeeeeeeER .   vhaddps	%xmm3, %xmm3, %xmm4
+# CHECK-NEXT: [2,0]     .  DeeeeeE--------------------R .   vmulps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [2,1]     .   D====eeeeeeeeeeeE---------R .   vhaddps	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: [2,2]     .    D==============eeeeeeeeeeeER   vhaddps	%xmm3, %xmm3, %xmm4
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -69,6 +81,6 @@ vhaddps  %xmm3, %xmm3, %xmm4
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     1.0    1.0    6.7       vmulps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.     3     6.0    0.7    2.7       vhaddps	%xmm2, %xmm2, %xmm3
-# CHECK-NEXT: 2.     3     11.0   1.0    0.0       vhaddps	%xmm3, %xmm3, %xmm4
+# CHECK-NEXT: 0.     3     1.0    1.0    13.7      vmulps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.     3     5.3    0.0    6.3       vhaddps	%xmm2, %xmm2, %xmm3
+# CHECK-NEXT: 2.     3     15.3   0.0    0.0       vhaddps	%xmm3, %xmm3, %xmm4

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-1.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-1.s Sat Oct 27 13:46:30 2018
@@ -1,18 +1,18 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s
 
 vshufps $0, %xmm0, %xmm1, %xmm1
 vhaddps (%rdi), %xmm1, %xmm2
 
 # CHECK:      Iterations:        1
 # CHECK-NEXT: Instructions:      2
-# CHECK-NEXT: Total Cycles:      15
+# CHECK-NEXT: Total Cycles:      20
 # CHECK-NEXT: Total uOps:        5
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.33
-# CHECK-NEXT: IPC:               0.13
-# CHECK-NEXT: Block RThroughput: 3.0
+# CHECK-NEXT: uOps Per Cycle:    0.25
+# CHECK-NEXT: IPC:               0.10
+# CHECK-NEXT: Block RThroughput: 1.3
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -23,15 +23,15 @@ vhaddps (%rdi), %xmm1, %xmm2
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     1.00                        vshufps	$0, %xmm0, %xmm1, %xmm1
-# CHECK-NEXT:  4      11    2.00    *                   vhaddps	(%rdi), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vshufps	$0, %xmm0, %xmm1, %xmm1
+# CHECK-NEXT:  4      16    1.00    *                   vhaddps	(%rdi), %xmm1, %xmm2
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     01234
+# CHECK-NEXT:                     0123456789
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeER .    .   .   vshufps	$0, %xmm0, %xmm1, %xmm1
-# CHECK-NEXT: [0,1]     .DeeeeeeeeeeeER   vhaddps	(%rdi), %xmm1, %xmm2
+# CHECK:      [0,0]     DeeER.    .    .   .   vshufps	$0, %xmm0, %xmm1, %xmm1
+# CHECK-NEXT: [0,1]     .DeeeeeeeeeeeeeeeeER   vhaddps	(%rdi), %xmm1, %xmm2
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-2.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-2.s Sat Oct 27 13:46:30 2018
@@ -1,18 +1,18 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s
 
 vshufps $0, %xmm0, %xmm1, %xmm1
 vhaddps (%rdi), %ymm1, %ymm2
 
 # CHECK:      Iterations:        1
 # CHECK-NEXT: Instructions:      2
-# CHECK-NEXT: Total Cycles:      16
-# CHECK-NEXT: Total uOps:        5
+# CHECK-NEXT: Total Cycles:      20
+# CHECK-NEXT: Total uOps:        11
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.31
-# CHECK-NEXT: IPC:               0.13
-# CHECK-NEXT: Block RThroughput: 3.0
+# CHECK-NEXT: uOps Per Cycle:    0.55
+# CHECK-NEXT: IPC:               0.10
+# CHECK-NEXT: Block RThroughput: 2.8
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -23,15 +23,15 @@ vhaddps (%rdi), %ymm1, %ymm2
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     1.00                        vshufps	$0, %xmm0, %xmm1, %xmm1
-# CHECK-NEXT:  4      12    2.00    *                   vhaddps	(%rdi), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vshufps	$0, %xmm0, %xmm1, %xmm1
+# CHECK-NEXT:  10     16    2.00    *                   vhaddps	(%rdi), %ymm1, %ymm2
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     012345
+# CHECK-NEXT:                     0123456789
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeER .    .    .   vshufps	$0, %xmm0, %xmm1, %xmm1
-# CHECK-NEXT: [0,1]     .DeeeeeeeeeeeeER   vhaddps	(%rdi), %ymm1, %ymm2
+# CHECK:      [0,0]     DeeER.    .    .   .   vshufps	$0, %xmm0, %xmm1, %xmm1
+# CHECK-NEXT: [0,1]     .DeeeeeeeeeeeeeeeeER   vhaddps	(%rdi), %ymm1, %ymm2
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/instruction-info-view.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/instruction-info-view.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/instruction-info-view.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/instruction-info-view.s Sat Oct 27 13:46:30 2018
@@ -1,8 +1,8 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -resource-pressure=false -instruction-info=true < %s | FileCheck %s --check-prefix=ENABLED
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -resource-pressure=false -instruction-info=false < %s | FileCheck %s -check-prefix=DISABLED
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -resource-pressure=false -instruction-info < %s | FileCheck %s -check-prefix=ENABLED
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -resource-pressure=false < %s | FileCheck %s -check-prefix=ENABLED
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -resource-pressure=false -instruction-info=true < %s | FileCheck %s --check-prefix=ENABLED
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -resource-pressure=false -instruction-info=false < %s | FileCheck %s -check-prefix=DISABLED
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -resource-pressure=false -instruction-info < %s | FileCheck %s -check-prefix=ENABLED
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -resource-pressure=false < %s | FileCheck %s -check-prefix=ENABLED
 
 vmulps   %xmm0, %xmm1, %xmm2
 vhaddps  %xmm2, %xmm2, %xmm3
@@ -13,14 +13,14 @@ vhaddps  %xmm3, %xmm3, %xmm4
 
 # ENABLED:       Iterations:        100
 # ENABLED-NEXT:  Instructions:      300
-# ENABLED-NEXT:  Total Cycles:      414
+# ENABLED-NEXT:  Total Cycles:      228
 # ENABLED-NEXT:  Total uOps:        700
 
 
 # ENABLED:       Dispatch Width:    4
-# ENABLED-NEXT:  uOps Per Cycle:    1.69
-# ENABLED-NEXT:  IPC:               0.72
-# ENABLED-NEXT:  Block RThroughput: 4.0
+# ENABLED-NEXT:  uOps Per Cycle:    3.07
+# ENABLED-NEXT:  IPC:               1.32
+# ENABLED-NEXT:  Block RThroughput: 2.0
 
 # ENABLED:       Instruction Info:
 # ENABLED-NEXT:  [1]: #uOps
@@ -32,5 +32,5 @@ vhaddps  %xmm3, %xmm3, %xmm4
 
 # ENABLED:       [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # ENABLED-NEXT:   1      5     1.00                        vmulps	%xmm0, %xmm1, %xmm2
-# ENABLED-NEXT:   3      5     2.00                        vhaddps	%xmm2, %xmm2, %xmm3
-# ENABLED-NEXT:   3      5     2.00                        vhaddps	%xmm3, %xmm3, %xmm4
+# ENABLED-NEXT:   3      11    1.00                        vhaddps	%xmm2, %xmm2, %xmm3
+# ENABLED-NEXT:   3      11    1.00                        vhaddps	%xmm3, %xmm3, %xmm4

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=100 -timeline -timeline-max-iterations=1 -noalias=false < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=100 -timeline -timeline-max-iterations=1 -noalias=false < %s | FileCheck %s
 
 vmovaps (%rsi), %xmm0
 vmovaps %xmm0, (%rdi)
@@ -12,12 +12,12 @@ vmovaps %xmm0, 48(%rdi)
 
 # CHECK:      Iterations:        100
 # CHECK-NEXT: Instructions:      800
-# CHECK-NEXT: Total Cycles:      2803
+# CHECK-NEXT: Total Cycles:      2403
 # CHECK-NEXT: Total uOps:        800
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.29
-# CHECK-NEXT: IPC:               0.29
+# CHECK-NEXT: uOps Per Cycle:    0.33
+# CHECK-NEXT: IPC:               0.33
 # CHECK-NEXT: Block RThroughput: 4.0
 
 # CHECK:      Instruction Info:
@@ -29,52 +29,64 @@ vmovaps %xmm0, 48(%rdi)
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      6     0.50    *                   vmovaps	(%rsi), %xmm0
+# CHECK-NEXT:  1      5     0.50    *                   vmovaps	(%rsi), %xmm0
 # CHECK-NEXT:  1      1     1.00           *            vmovaps	%xmm0, (%rdi)
-# CHECK-NEXT:  1      6     0.50    *                   vmovaps	16(%rsi), %xmm0
+# CHECK-NEXT:  1      5     0.50    *                   vmovaps	16(%rsi), %xmm0
 # CHECK-NEXT:  1      1     1.00           *            vmovaps	%xmm0, 16(%rdi)
-# CHECK-NEXT:  1      6     0.50    *                   vmovaps	32(%rsi), %xmm0
+# CHECK-NEXT:  1      5     0.50    *                   vmovaps	32(%rsi), %xmm0
 # CHECK-NEXT:  1      1     1.00           *            vmovaps	%xmm0, 32(%rdi)
-# CHECK-NEXT:  1      6     0.50    *                   vmovaps	48(%rsi), %xmm0
+# CHECK-NEXT:  1      5     0.50    *                   vmovaps	48(%rsi), %xmm0
 # CHECK-NEXT:  1      1     1.00           *            vmovaps	%xmm0, 48(%rdi)
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -      -     4.00    -      -     8.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -     8.00    -      -      -      -      -      -      -     4.00    -      -      -     4.00   3.99   4.01    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   vmovaps	(%rsi), %xmm0
-# CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   vmovaps	%xmm0, (%rdi)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   vmovaps	16(%rsi), %xmm0
-# CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   vmovaps	%xmm0, 16(%rdi)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   vmovaps	32(%rsi), %xmm0
-# CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   vmovaps	%xmm0, 32(%rdi)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   vmovaps	48(%rsi), %xmm0
-# CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   vmovaps	%xmm0, 48(%rdi)
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -     1.00    -      -      -      -     0.99   0.01    -      -      -      -     vmovaps	(%rsi), %xmm0
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%xmm0, (%rdi)
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -     1.00    -      -      -      -     1.00    -      -      -      -      -     vmovaps	16(%rsi), %xmm0
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%xmm0, 16(%rdi)
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -     1.00    -      -      -      -     1.00    -      -      -      -      -     vmovaps	32(%rsi), %xmm0
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%xmm0, 32(%rdi)
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -     1.00    -      -      -      -     1.00    -      -      -      -      -     vmovaps	48(%rsi), %xmm0
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%xmm0, 48(%rdi)
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789          0
-# CHECK-NEXT: Index     0123456789          0123456789
+# CHECK-NEXT:                     0123456789
+# CHECK-NEXT: Index     0123456789          0123456
 
-# CHECK:      [0,0]     DeeeeeeER .    .    .    .    .   vmovaps	(%rsi), %xmm0
-# CHECK-NEXT: [0,1]     D======eER.    .    .    .    .   vmovaps	%xmm0, (%rdi)
-# CHECK-NEXT: [0,2]     D=======eeeeeeER    .    .    .   vmovaps	16(%rsi), %xmm0
-# CHECK-NEXT: [0,3]     D=============eER   .    .    .   vmovaps	%xmm0, 16(%rdi)
-# CHECK-NEXT: [0,4]     .D=============eeeeeeER  .    .   vmovaps	32(%rsi), %xmm0
-# CHECK-NEXT: [0,5]     .D===================eER .    .   vmovaps	%xmm0, 32(%rdi)
-# CHECK-NEXT: [0,6]     .D====================eeeeeeER.   vmovaps	48(%rsi), %xmm0
-# CHECK-NEXT: [0,7]     .D==========================eER   vmovaps	%xmm0, 48(%rdi)
+# CHECK:      [0,0]     DeeeeeER  .    .    .    ..   vmovaps	(%rsi), %xmm0
+# CHECK-NEXT: [0,1]     D=====eER .    .    .    ..   vmovaps	%xmm0, (%rdi)
+# CHECK-NEXT: [0,2]     D======eeeeeER .    .    ..   vmovaps	16(%rsi), %xmm0
+# CHECK-NEXT: [0,3]     D===========eER.    .    ..   vmovaps	%xmm0, 16(%rdi)
+# CHECK-NEXT: [0,4]     .D===========eeeeeER.    ..   vmovaps	32(%rsi), %xmm0
+# CHECK-NEXT: [0,5]     .D================eER    ..   vmovaps	%xmm0, 32(%rdi)
+# CHECK-NEXT: [0,6]     .D=================eeeeeER.   vmovaps	48(%rsi), %xmm0
+# CHECK-NEXT: [0,7]     .D======================eER   vmovaps	%xmm0, 48(%rdi)
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -84,10 +96,10 @@ vmovaps %xmm0, 48(%rdi)
 
 # CHECK:            [0]    [1]    [2]    [3]
 # CHECK-NEXT: 0.     1     1.0    1.0    0.0       vmovaps	(%rsi), %xmm0
-# CHECK-NEXT: 1.     1     7.0    0.0    0.0       vmovaps	%xmm0, (%rdi)
-# CHECK-NEXT: 2.     1     8.0    0.0    0.0       vmovaps	16(%rsi), %xmm0
-# CHECK-NEXT: 3.     1     14.0   0.0    0.0       vmovaps	%xmm0, 16(%rdi)
-# CHECK-NEXT: 4.     1     14.0   0.0    0.0       vmovaps	32(%rsi), %xmm0
-# CHECK-NEXT: 5.     1     20.0   0.0    0.0       vmovaps	%xmm0, 32(%rdi)
-# CHECK-NEXT: 6.     1     21.0   0.0    0.0       vmovaps	48(%rsi), %xmm0
-# CHECK-NEXT: 7.     1     27.0   0.0    0.0       vmovaps	%xmm0, 48(%rdi)
+# CHECK-NEXT: 1.     1     6.0    0.0    0.0       vmovaps	%xmm0, (%rdi)
+# CHECK-NEXT: 2.     1     7.0    0.0    0.0       vmovaps	16(%rsi), %xmm0
+# CHECK-NEXT: 3.     1     12.0   0.0    0.0       vmovaps	%xmm0, 16(%rdi)
+# CHECK-NEXT: 4.     1     12.0   0.0    0.0       vmovaps	32(%rsi), %xmm0
+# CHECK-NEXT: 5.     1     17.0   0.0    0.0       vmovaps	%xmm0, 32(%rdi)
+# CHECK-NEXT: 6.     1     18.0   0.0    0.0       vmovaps	48(%rsi), %xmm0
+# CHECK-NEXT: 7.     1     23.0   0.0    0.0       vmovaps	%xmm0, 48(%rdi)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=100 -timeline -timeline-max-iterations=1 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=100 -timeline -timeline-max-iterations=1 < %s | FileCheck %s
 
 vmovaps (%rsi), %xmm0
 vmovaps %xmm0, (%rdi)
@@ -12,7 +12,7 @@ vmovaps %xmm0, 48(%rdi)
 
 # CHECK:      Iterations:        100
 # CHECK-NEXT: Instructions:      800
-# CHECK-NEXT: Total Cycles:      409
+# CHECK-NEXT: Total Cycles:      408
 # CHECK-NEXT: Total uOps:        800
 
 # CHECK:      Dispatch Width:    4
@@ -29,52 +29,64 @@ vmovaps %xmm0, 48(%rdi)
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      6     0.50    *                   vmovaps	(%rsi), %xmm0
+# CHECK-NEXT:  1      5     0.50    *                   vmovaps	(%rsi), %xmm0
 # CHECK-NEXT:  1      1     1.00           *            vmovaps	%xmm0, (%rdi)
-# CHECK-NEXT:  1      6     0.50    *                   vmovaps	16(%rsi), %xmm0
+# CHECK-NEXT:  1      5     0.50    *                   vmovaps	16(%rsi), %xmm0
 # CHECK-NEXT:  1      1     1.00           *            vmovaps	%xmm0, 16(%rdi)
-# CHECK-NEXT:  1      6     0.50    *                   vmovaps	32(%rsi), %xmm0
+# CHECK-NEXT:  1      5     0.50    *                   vmovaps	32(%rsi), %xmm0
 # CHECK-NEXT:  1      1     1.00           *            vmovaps	%xmm0, 32(%rdi)
-# CHECK-NEXT:  1      6     0.50    *                   vmovaps	48(%rsi), %xmm0
+# CHECK-NEXT:  1      5     0.50    *                   vmovaps	48(%rsi), %xmm0
 # CHECK-NEXT:  1      1     1.00           *            vmovaps	%xmm0, 48(%rdi)
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -      -     4.00    -     3.94   4.06
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 4.05   3.95    -      -      -      -      -      -     3.95   0.05    -      -      -     4.00   3.95   4.05    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -      -     0.97   0.03   vmovaps	(%rsi), %xmm0
-# CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   vmovaps	%xmm0, (%rdi)
-# CHECK-NEXT:  -      -      -      -      -      -     0.03   0.97   vmovaps	16(%rsi), %xmm0
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.97   0.03   vmovaps	%xmm0, 16(%rdi)
-# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     vmovaps	32(%rsi), %xmm0
-# CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   vmovaps	%xmm0, 32(%rdi)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   vmovaps	48(%rsi), %xmm0
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.97   0.03   vmovaps	%xmm0, 48(%rdi)
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -     0.97   0.03    -      -      -      -     0.97   0.03    -      -      -      -     vmovaps	(%rsi), %xmm0
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%xmm0, (%rdi)
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     1.00    -      -      -      -      -     1.00    -      -      -      -      -     vmovaps	16(%rsi), %xmm0
+# CHECK-NEXT: 0.02   0.98    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%xmm0, 16(%rdi)
+# CHECK-NEXT: 0.02   0.98    -      -      -      -      -      -     1.00    -      -      -      -      -     0.98   0.02    -      -      -      -     vmovaps	32(%rsi), %xmm0
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%xmm0, 32(%rdi)
+# CHECK-NEXT: 0.98   0.02    -      -      -      -      -      -     0.98   0.02    -      -      -      -     1.00    -      -      -      -      -     vmovaps	48(%rsi), %xmm0
+# CHECK-NEXT: 0.03   0.97    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%xmm0, 48(%rdi)
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     012
+# CHECK-NEXT:                     01
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeeeeeeER . .   vmovaps	(%rsi), %xmm0
-# CHECK-NEXT: [0,1]     D======eER. .   vmovaps	%xmm0, (%rdi)
-# CHECK-NEXT: [0,2]     DeeeeeeE-R. .   vmovaps	16(%rsi), %xmm0
-# CHECK-NEXT: [0,3]     D=======eER .   vmovaps	%xmm0, 16(%rdi)
-# CHECK-NEXT: [0,4]     .DeeeeeeE-R .   vmovaps	32(%rsi), %xmm0
-# CHECK-NEXT: [0,5]     .D=======eER.   vmovaps	%xmm0, 32(%rdi)
-# CHECK-NEXT: [0,6]     .DeeeeeeE--R.   vmovaps	48(%rsi), %xmm0
-# CHECK-NEXT: [0,7]     .D========eER   vmovaps	%xmm0, 48(%rdi)
+# CHECK:      [0,0]     DeeeeeER  ..   vmovaps	(%rsi), %xmm0
+# CHECK-NEXT: [0,1]     D=====eER ..   vmovaps	%xmm0, (%rdi)
+# CHECK-NEXT: [0,2]     DeeeeeE-R ..   vmovaps	16(%rsi), %xmm0
+# CHECK-NEXT: [0,3]     D======eER..   vmovaps	%xmm0, 16(%rdi)
+# CHECK-NEXT: [0,4]     .DeeeeeE-R..   vmovaps	32(%rsi), %xmm0
+# CHECK-NEXT: [0,5]     .D======eER.   vmovaps	%xmm0, 32(%rdi)
+# CHECK-NEXT: [0,6]     .DeeeeeE--R.   vmovaps	48(%rsi), %xmm0
+# CHECK-NEXT: [0,7]     .D=======eER   vmovaps	%xmm0, 48(%rdi)
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -84,10 +96,10 @@ vmovaps %xmm0, 48(%rdi)
 
 # CHECK:            [0]    [1]    [2]    [3]
 # CHECK-NEXT: 0.     1     1.0    1.0    0.0       vmovaps	(%rsi), %xmm0
-# CHECK-NEXT: 1.     1     7.0    0.0    0.0       vmovaps	%xmm0, (%rdi)
+# CHECK-NEXT: 1.     1     6.0    0.0    0.0       vmovaps	%xmm0, (%rdi)
 # CHECK-NEXT: 2.     1     1.0    1.0    1.0       vmovaps	16(%rsi), %xmm0
-# CHECK-NEXT: 3.     1     8.0    0.0    0.0       vmovaps	%xmm0, 16(%rdi)
+# CHECK-NEXT: 3.     1     7.0    0.0    0.0       vmovaps	%xmm0, 16(%rdi)
 # CHECK-NEXT: 4.     1     1.0    1.0    1.0       vmovaps	32(%rsi), %xmm0
-# CHECK-NEXT: 5.     1     8.0    0.0    0.0       vmovaps	%xmm0, 32(%rdi)
+# CHECK-NEXT: 5.     1     7.0    0.0    0.0       vmovaps	%xmm0, 32(%rdi)
 # CHECK-NEXT: 6.     1     1.0    1.0    2.0       vmovaps	48(%rsi), %xmm0
-# CHECK-NEXT: 7.     1     9.0    0.0    0.0       vmovaps	%xmm0, 48(%rdi)
+# CHECK-NEXT: 7.     1     8.0    0.0    0.0       vmovaps	%xmm0, 48(%rdi)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/one-idioms.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/one-idioms.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/one-idioms.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/one-idioms.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -timeline -timeline-max-iterations=1 -register-file-stats < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -timeline -timeline-max-iterations=1 -register-file-stats < %s | FileCheck %s
 
 # These are dependency-breaking one-idioms.
 # Much like zero-idioms, but they produce ones, and do consume resources.
@@ -29,13 +29,13 @@ vpcmpeqw  %xmm3, %xmm3, %xmm5
 
 # CHECK:      Iterations:        100
 # CHECK-NEXT: Instructions:      1500
-# CHECK-NEXT: Total Cycles:      903
+# CHECK-NEXT: Total Cycles:      754
 # CHECK-NEXT: Total uOps:        1500
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.66
-# CHECK-NEXT: IPC:               1.66
-# CHECK-NEXT: Block RThroughput: 6.0
+# CHECK-NEXT: uOps Per Cycle:    1.99
+# CHECK-NEXT: IPC:               1.99
+# CHECK-NEXT: Block RThroughput: 7.5
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -46,77 +46,99 @@ vpcmpeqw  %xmm3, %xmm3, %xmm5
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        pcmpeqb	%mm2, %mm2
-# CHECK-NEXT:  1      3     1.00                        pcmpeqd	%mm2, %mm2
-# CHECK-NEXT:  1      3     1.00                        pcmpeqw	%mm2, %mm2
-# CHECK-NEXT:  1      1     0.50                        pcmpeqb	%xmm2, %xmm2
-# CHECK-NEXT:  1      1     0.50                        pcmpeqd	%xmm2, %xmm2
-# CHECK-NEXT:  1      1     0.50                        pcmpeqq	%xmm2, %xmm2
-# CHECK-NEXT:  1      1     0.50                        pcmpeqw	%xmm2, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqb	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqd	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqq	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqb	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqd	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqq	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT:  1      2     0.50                        pcmpeqb	%mm2, %mm2
+# CHECK-NEXT:  1      2     0.50                        pcmpeqd	%mm2, %mm2
+# CHECK-NEXT:  1      2     0.50                        pcmpeqw	%mm2, %mm2
+# CHECK-NEXT:  1      2     0.50                        pcmpeqb	%xmm2, %xmm2
+# CHECK-NEXT:  1      2     0.50                        pcmpeqd	%xmm2, %xmm2
+# CHECK-NEXT:  1      2     0.50                        pcmpeqq	%xmm2, %xmm2
+# CHECK-NEXT:  1      2     0.50                        pcmpeqw	%xmm2, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqb	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqd	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqq	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqw	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqb	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqd	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqq	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqw	%xmm3, %xmm3, %xmm5
 
 # CHECK:      Register File statistics:
 # CHECK-NEXT: Total number of mappings created:    1500
-# CHECK-NEXT: Max number of mappings used:         168
+# CHECK-NEXT: Max number of mappings used:         72
+
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 1500
+# CHECK-NEXT:    Max number of mappings used:      72
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -     7.65    -     7.35    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     7.50   7.50    -      -     7.50   7.50    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpeqb	%mm2, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpeqd	%mm2, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpeqw	%mm2, %mm2
-# CHECK-NEXT:  -      -      -     0.75    -     0.25    -      -     pcmpeqb	%xmm2, %xmm2
-# CHECK-NEXT:  -      -      -     0.49    -     0.51    -      -     pcmpeqd	%xmm2, %xmm2
-# CHECK-NEXT:  -      -      -     0.64    -     0.36    -      -     pcmpeqq	%xmm2, %xmm2
-# CHECK-NEXT:  -      -      -     0.21    -     0.79    -      -     pcmpeqw	%xmm2, %xmm2
-# CHECK-NEXT:  -      -      -     0.44    -     0.56    -      -     vpcmpeqb	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT:  -      -      -     0.26    -     0.74    -      -     vpcmpeqd	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT:  -      -      -     0.25    -     0.75    -      -     vpcmpeqq	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcmpeqw	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT:  -      -      -     0.25    -     0.75    -      -     vpcmpeqb	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT:  -      -      -     0.55    -     0.45    -      -     vpcmpeqd	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT:  -      -      -     0.44    -     0.56    -      -     vpcmpeqq	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT:  -      -      -     0.37    -     0.63    -      -     vpcmpeqw	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqb	%mm2, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqd	%mm2, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqw	%mm2, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqb	%xmm2, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqd	%xmm2, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -      -     1.00    -      -      -      -     pcmpeqq	%xmm2, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqw	%xmm2, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqb	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     1.00    -      -      -      -      -     vpcmpeqd	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqq	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqw	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqb	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqd	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqq	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqw	%xmm3, %xmm3, %xmm5
 
 # CHECK:      Timeline view:
 # CHECK-NEXT:                     01
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeeeER    ..   pcmpeqb	%mm2, %mm2
-# CHECK-NEXT: [0,1]     D===eeeER ..   pcmpeqd	%mm2, %mm2
-# CHECK-NEXT: [0,2]     D======eeeER   pcmpeqw	%mm2, %mm2
-# CHECK-NEXT: [0,3]     DeE--------R   pcmpeqb	%xmm2, %xmm2
-# CHECK-NEXT: [0,4]     .DeE-------R   pcmpeqd	%xmm2, %xmm2
-# CHECK-NEXT: [0,5]     .D=eE------R   pcmpeqq	%xmm2, %xmm2
-# CHECK-NEXT: [0,6]     .D==eE-----R   pcmpeqw	%xmm2, %xmm2
-# CHECK-NEXT: [0,7]     .DeE-------R   vpcmpeqb	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,8]     . DeE------R   vpcmpeqd	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,9]     . D==eE----R   vpcmpeqq	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,10]    . D===eE---R   vpcmpeqw	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,11]    . D====eE--R   vpcmpeqb	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,12]    .  D====eE-R   vpcmpeqd	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,13]    .  D====eE-R   vpcmpeqq	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,14]    .  D=====eER   vpcmpeqw	%xmm3, %xmm3, %xmm5
+# CHECK:      [0,0]     DeeER.    ..   pcmpeqb	%mm2, %mm2
+# CHECK-NEXT: [0,1]     DeeER.    ..   pcmpeqd	%mm2, %mm2
+# CHECK-NEXT: [0,2]     D=eeER    ..   pcmpeqw	%mm2, %mm2
+# CHECK-NEXT: [0,3]     D==eeER   ..   pcmpeqb	%xmm2, %xmm2
+# CHECK-NEXT: [0,4]     .DeeE-R   ..   pcmpeqd	%xmm2, %xmm2
+# CHECK-NEXT: [0,5]     .D==eeER  ..   pcmpeqq	%xmm2, %xmm2
+# CHECK-NEXT: [0,6]     .D=eeE-R  ..   pcmpeqw	%xmm2, %xmm2
+# CHECK-NEXT: [0,7]     .D===eeER ..   vpcmpeqb	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,8]     . D=eeE-R ..   vpcmpeqd	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,9]     . D===eeER..   vpcmpeqq	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,10]    . D==eeE-R..   vpcmpeqw	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,11]    . D===eeER..   vpcmpeqb	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,12]    .  D===eeER.   vpcmpeqd	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,13]    .  D===eeER.   vpcmpeqq	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,14]    .  D====eeER   vpcmpeqw	%xmm3, %xmm3, %xmm5
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -126,17 +148,17 @@ vpcmpeqw  %xmm3, %xmm3, %xmm5
 
 # CHECK:            [0]    [1]    [2]    [3]
 # CHECK-NEXT: 0.     1     1.0    1.0    0.0       pcmpeqb	%mm2, %mm2
-# CHECK-NEXT: 1.     1     4.0    0.0    0.0       pcmpeqd	%mm2, %mm2
-# CHECK-NEXT: 2.     1     7.0    0.0    0.0       pcmpeqw	%mm2, %mm2
-# CHECK-NEXT: 3.     1     1.0    1.0    8.0       pcmpeqb	%xmm2, %xmm2
-# CHECK-NEXT: 4.     1     1.0    0.0    7.0       pcmpeqd	%xmm2, %xmm2
-# CHECK-NEXT: 5.     1     2.0    0.0    6.0       pcmpeqq	%xmm2, %xmm2
-# CHECK-NEXT: 6.     1     3.0    0.0    5.0       pcmpeqw	%xmm2, %xmm2
-# CHECK-NEXT: 7.     1     1.0    1.0    7.0       vpcmpeqb	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 8.     1     1.0    0.0    6.0       vpcmpeqd	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 9.     1     3.0    1.0    4.0       vpcmpeqq	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 10.    1     4.0    0.0    3.0       vpcmpeqw	%xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 11.    1     5.0    0.0    2.0       vpcmpeqb	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 12.    1     5.0    1.0    1.0       vpcmpeqd	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 13.    1     5.0    1.0    1.0       vpcmpeqq	%xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 14.    1     6.0    2.0    0.0       vpcmpeqw	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1.     1     1.0    1.0    0.0       pcmpeqd	%mm2, %mm2
+# CHECK-NEXT: 2.     1     2.0    2.0    0.0       pcmpeqw	%mm2, %mm2
+# CHECK-NEXT: 3.     1     3.0    3.0    0.0       pcmpeqb	%xmm2, %xmm2
+# CHECK-NEXT: 4.     1     1.0    1.0    1.0       pcmpeqd	%xmm2, %xmm2
+# CHECK-NEXT: 5.     1     3.0    0.0    0.0       pcmpeqq	%xmm2, %xmm2
+# CHECK-NEXT: 6.     1     2.0    2.0    1.0       pcmpeqw	%xmm2, %xmm2
+# CHECK-NEXT: 7.     1     4.0    4.0    0.0       vpcmpeqb	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 8.     1     2.0    2.0    1.0       vpcmpeqd	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 9.     1     4.0    0.0    0.0       vpcmpeqq	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 10.    1     3.0    3.0    1.0       vpcmpeqw	%xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 11.    1     4.0    4.0    0.0       vpcmpeqb	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 12.    1     4.0    4.0    0.0       vpcmpeqd	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 13.    1     4.0    0.0    0.0       vpcmpeqq	%xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 14.    1     5.0    5.0    0.0       vpcmpeqw	%xmm3, %xmm3, %xmm5

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-2.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-2.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -resource-pressure=false -timeline < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -resource-pressure=false -timeline < %s | FileCheck %s
 
 imul   %rax, %rbx
 lzcnt  %ax,  %bx
@@ -7,13 +7,13 @@ add    %ecx, %ebx
 
 # CHECK:      Iterations:        1
 # CHECK-NEXT: Instructions:      3
-# CHECK-NEXT: Total Cycles:      8
-# CHECK-NEXT: Total uOps:        3
+# CHECK-NEXT: Total Cycles:      11
+# CHECK-NEXT: Total uOps:        4
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.38
-# CHECK-NEXT: IPC:               0.38
-# CHECK-NEXT: Block RThroughput: 2.0
+# CHECK-NEXT: uOps Per Cycle:    0.36
+# CHECK-NEXT: IPC:               0.27
+# CHECK-NEXT: Block RThroughput: 4.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -24,16 +24,17 @@ add    %ecx, %ebx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        imulq	%rax, %rbx
-# CHECK-NEXT:  1      3     1.00                        lzcntw	%ax, %bx
-# CHECK-NEXT:  1      1     0.33                        addl	%ecx, %ebx
+# CHECK-NEXT:  1      6     4.00                        imulq	%rax, %rbx
+# CHECK-NEXT:  2      2     0.50                        lzcntw	%ax, %bx
+# CHECK-NEXT:  1      1     0.50                        addl	%ecx, %ebx
 
 # CHECK:      Timeline view:
-# CHECK-NEXT: Index     01234567
+# CHECK-NEXT:                     0
+# CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeeeER .   imulq	%rax, %rbx
-# CHECK-NEXT: [0,1]     D=eeeER.   lzcntw	%ax, %bx
-# CHECK-NEXT: [0,2]     D====eER   addl	%ecx, %ebx
+# CHECK:      [0,0]     DeeeeeeER .   imulq	%rax, %rbx
+# CHECK-NEXT: [0,1]     D=====eeER.   lzcntw	%ax, %bx
+# CHECK-NEXT: [0,2]     D=======eER   addl	%ecx, %ebx
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -43,5 +44,5 @@ add    %ecx, %ebx
 
 # CHECK:            [0]    [1]    [2]    [3]
 # CHECK-NEXT: 0.     1     1.0    1.0    0.0       imulq	%rax, %rbx
-# CHECK-NEXT: 1.     1     2.0    2.0    0.0       lzcntw	%ax, %bx
-# CHECK-NEXT: 2.     1     5.0    0.0    0.0       addl	%ecx, %ebx
+# CHECK-NEXT: 1.     1     6.0    0.0    0.0       lzcntw	%ax, %bx
+# CHECK-NEXT: 2.     1     8.0    0.0    0.0       addl	%ecx, %ebx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-3.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-3.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1500 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1500 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
 
 # perf stat reports a throughput of 1.00 IPC for this code snippet.
 
@@ -12,13 +12,13 @@ xor %bx, %dx
 
 # CHECK:      Iterations:        1500
 # CHECK-NEXT: Instructions:      4500
-# CHECK-NEXT: Total Cycles:      1504
+# CHECK-NEXT: Total Cycles:      4503
 # CHECK-NEXT: Total uOps:        4500
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    2.99
-# CHECK-NEXT: IPC:               2.99
-# CHECK-NEXT: Block RThroughput: 1.0
+# CHECK-NEXT: uOps Per Cycle:    1.00
+# CHECK-NEXT: IPC:               1.00
+# CHECK-NEXT: Block RThroughput: 1.5
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -29,42 +29,55 @@ xor %bx, %dx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     0.33                        addw	%cx, %dx
-# CHECK-NEXT:  1      1     0.33                        movw	%ax, %dx
-# CHECK-NEXT:  1      1     0.33                        xorw	%bx, %dx
+# CHECK-NEXT:  1      1     0.50                        addw	%cx, %dx
+# CHECK-NEXT:  1      1     0.50                        movw	%ax, %dx
+# CHECK-NEXT:  1      1     0.50                        xorw	%bx, %dx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.67    -      -     0.33    -      -     addw	%cx, %dx
-# CHECK-NEXT:  -      -      -     0.67    -     0.33    -      -     movw	%ax, %dx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorw	%bx, %dx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     addw	%cx, %dx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     movw	%ax, %dx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     xorw	%bx, %dx
 
 # CHECK:      Timeline view:
-# CHECK-NEXT: Index     0123456
+# CHECK-NEXT:                     01
+# CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeER ..   addw	%cx, %dx
-# CHECK-NEXT: [0,1]     DeER ..   movw	%ax, %dx
-# CHECK-NEXT: [0,2]     D=eER..   xorw	%bx, %dx
-# CHECK-NEXT: [1,0]     D==eER.   addw	%cx, %dx
-# CHECK-NEXT: [1,1]     .DeE-R.   movw	%ax, %dx
-# CHECK-NEXT: [1,2]     .D=eER.   xorw	%bx, %dx
-# CHECK-NEXT: [2,0]     .D==eER   addw	%cx, %dx
-# CHECK-NEXT: [2,1]     .DeE--R   movw	%ax, %dx
-# CHECK-NEXT: [2,2]     . DeE-R   xorw	%bx, %dx
+# CHECK:      [0,0]     DeER .    ..   addw	%cx, %dx
+# CHECK-NEXT: [0,1]     D=eER.    ..   movw	%ax, %dx
+# CHECK-NEXT: [0,2]     D==eER    ..   xorw	%bx, %dx
+# CHECK-NEXT: [1,0]     D===eER   ..   addw	%cx, %dx
+# CHECK-NEXT: [1,1]     .D===eER  ..   movw	%ax, %dx
+# CHECK-NEXT: [1,2]     .D====eER ..   xorw	%bx, %dx
+# CHECK-NEXT: [2,0]     .D=====eER..   addw	%cx, %dx
+# CHECK-NEXT: [2,1]     .D======eER.   movw	%ax, %dx
+# CHECK-NEXT: [2,2]     . D======eER   xorw	%bx, %dx
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -73,6 +86,6 @@ xor %bx, %dx
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     2.3    0.3    0.0       addw	%cx, %dx
-# CHECK-NEXT: 1.     3     1.0    1.0    1.0       movw	%ax, %dx
-# CHECK-NEXT: 2.     3     1.7    0.0    0.3       xorw	%bx, %dx
+# CHECK-NEXT: 0.     3     3.7    0.3    0.0       addw	%cx, %dx
+# CHECK-NEXT: 1.     3     4.3    0.0    0.0       movw	%ax, %dx
+# CHECK-NEXT: 2.     3     5.0    0.0    0.0       xorw	%bx, %dx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-4.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-4.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-4.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-4.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1500 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1500 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
 
 # perf stat reports a throughput of 0.60 IPC for this code snippet.
 
@@ -12,13 +12,13 @@ add %cx, %bx
 
 # CHECK:      Iterations:        1500
 # CHECK-NEXT: Instructions:      4500
-# CHECK-NEXT: Total Cycles:      3005
-# CHECK-NEXT: Total uOps:        4500
+# CHECK-NEXT: Total Cycles:      9003
+# CHECK-NEXT: Total uOps:        6000
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.50
-# CHECK-NEXT: IPC:               1.50
-# CHECK-NEXT: Block RThroughput: 2.0
+# CHECK-NEXT: uOps Per Cycle:    0.67
+# CHECK-NEXT: IPC:               0.50
+# CHECK-NEXT: Block RThroughput: 1.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -29,43 +29,55 @@ add %cx, %bx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        imulw	%ax, %bx
-# CHECK-NEXT:  1      3     1.00                        lzcntw	%ax, %bx
-# CHECK-NEXT:  1      1     0.33                        addw	%cx, %bx
+# CHECK-NEXT:  1      4     1.00                        imulw	%ax, %bx
+# CHECK-NEXT:  2      2     0.50                        lzcntw	%ax, %bx
+# CHECK-NEXT:  1      1     0.50                        addw	%cx, %bx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     0.50   2.00    -     0.50    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.00
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     imulw	%ax, %bx
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     lzcntw	%ax, %bx
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     addw	%cx, %bx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.00   imulw	%ax, %bx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntw	%ax, %bx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     addw	%cx, %bx
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     01
-# CHECK-NEXT: Index     0123456789
+# CHECK-NEXT:                     0123456789
+# CHECK-NEXT: Index     0123456789          0
 
-# CHECK:      [0,0]     DeeeER    ..   imulw	%ax, %bx
-# CHECK-NEXT: [0,1]     D=eeeER   ..   lzcntw	%ax, %bx
-# CHECK-NEXT: [0,2]     D====eER  ..   addw	%cx, %bx
-# CHECK-NEXT: [1,0]     D=====eeeER.   imulw	%ax, %bx
-# CHECK-NEXT: [1,1]     .D=eeeE---R.   lzcntw	%ax, %bx
-# CHECK-NEXT: [1,2]     .D====eE--R.   addw	%cx, %bx
-# CHECK-NEXT: [2,0]     .D=====eeeER   imulw	%ax, %bx
-# CHECK-NEXT: [2,1]     .D==eeeE---R   lzcntw	%ax, %bx
-# CHECK-NEXT: [2,2]     . D====eE--R   addw	%cx, %bx
+# CHECK:      [0,0]     DeeeeER   .    .    .   imulw	%ax, %bx
+# CHECK-NEXT: [0,1]     D===eeER  .    .    .   lzcntw	%ax, %bx
+# CHECK-NEXT: [0,2]     D=====eER .    .    .   addw	%cx, %bx
+# CHECK-NEXT: [1,0]     .D=====eeeeER  .    .   imulw	%ax, %bx
+# CHECK-NEXT: [1,1]     .D========eeER .    .   lzcntw	%ax, %bx
+# CHECK-NEXT: [1,2]     .D==========eER.    .   addw	%cx, %bx
+# CHECK-NEXT: [2,0]     . D==========eeeeER .   imulw	%ax, %bx
+# CHECK-NEXT: [2,1]     . D=============eeER.   lzcntw	%ax, %bx
+# CHECK-NEXT: [2,2]     . D===============eER   addw	%cx, %bx
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -74,6 +86,6 @@ add %cx, %bx
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     4.3    0.3    0.0       imulw	%ax, %bx
-# CHECK-NEXT: 1.     3     2.3    2.3    2.0       lzcntw	%ax, %bx
-# CHECK-NEXT: 2.     3     5.0    0.0    1.3       addw	%cx, %bx
+# CHECK-NEXT: 0.     3     6.0    0.3    0.0       imulw	%ax, %bx
+# CHECK-NEXT: 1.     3     9.0    0.0    0.0       lzcntw	%ax, %bx
+# CHECK-NEXT: 2.     3     11.0   0.0    0.0       addw	%cx, %bx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-5.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-5.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-5.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-5.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1500 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1500 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
 
 # perf stat reports a throughput of 1.00 IPC for this code snippet.
 
@@ -7,13 +7,13 @@ lzcnt %ax, %bx  ## partial register stal
 
 # CHECK:      Iterations:        1500
 # CHECK-NEXT: Instructions:      1500
-# CHECK-NEXT: Total Cycles:      1505
-# CHECK-NEXT: Total uOps:        1500
+# CHECK-NEXT: Total Cycles:      1504
+# CHECK-NEXT: Total uOps:        3000
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.00
+# CHECK-NEXT: uOps Per Cycle:    1.99
 # CHECK-NEXT: IPC:               1.00
-# CHECK-NEXT: Block RThroughput: 1.0
+# CHECK-NEXT: Block RThroughput: 0.5
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -24,32 +24,44 @@ lzcnt %ax, %bx  ## partial register stal
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        lzcntw	%ax, %bx
+# CHECK-NEXT:  2      2     0.50                        lzcntw	%ax, %bx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     lzcntw	%ax, %bx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntw	%ax, %bx
 
 # CHECK:      Timeline view:
-# CHECK-NEXT: Index     01234567
+# CHECK-NEXT: Index     0123456
 
-# CHECK:      [0,0]     DeeeER .   lzcntw	%ax, %bx
-# CHECK-NEXT: [1,0]     D=eeeER.   lzcntw	%ax, %bx
-# CHECK-NEXT: [2,0]     D==eeeER   lzcntw	%ax, %bx
+# CHECK:      [0,0]     DeeER..   lzcntw	%ax, %bx
+# CHECK-NEXT: [1,0]     D=eeER.   lzcntw	%ax, %bx
+# CHECK-NEXT: [2,0]     .D=eeER   lzcntw	%ax, %bx
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -58,4 +70,4 @@ lzcnt %ax, %bx  ## partial register stal
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     2.0    2.0    0.0       lzcntw	%ax, %bx
+# CHECK-NEXT: 0.     3     1.7    0.3    0.0       lzcntw	%ax, %bx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1500 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1500 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
 
 # perf stat reports a throughput of 0.60 IPC for this code snippet.
 # Each lzcnt has a false dependency on %ecx; the first lzcnt has to wait on the
@@ -13,13 +13,13 @@ lzcnt 2(%rsp), %cx
 
 # CHECK:      Iterations:        1500
 # CHECK-NEXT: Instructions:      4500
-# CHECK-NEXT: Total Cycles:      4510
+# CHECK-NEXT: Total Cycles:      10503
 # CHECK-NEXT: Total uOps:        7500
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.66
-# CHECK-NEXT: IPC:               1.00
-# CHECK-NEXT: Block RThroughput: 3.0
+# CHECK-NEXT: uOps Per Cycle:    0.71
+# CHECK-NEXT: IPC:               0.43
+# CHECK-NEXT: Block RThroughput: 1.3
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -30,43 +30,55 @@ lzcnt 2(%rsp), %cx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        imull	%edx, %ecx
-# CHECK-NEXT:  2      8     1.00    *                   lzcntw	(%rsp), %cx
-# CHECK-NEXT:  2      8     1.00    *                   lzcntw	2(%rsp), %cx
+# CHECK-NEXT:  1      4     1.00                        imull	%edx, %ecx
+# CHECK-NEXT:  2      6     0.50    *                   lzcntw	(%rsp), %cx
+# CHECK-NEXT:  2      6     0.50    *                   lzcntw	2(%rsp), %cx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -     3.00    -      -      -     2.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -     2.00    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.00
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     imull	%edx, %ecx
-# CHECK-NEXT:  -      -      -     1.00    -      -      -     1.00   lzcntw	(%rsp), %cx
-# CHECK-NEXT:  -      -      -     1.00    -      -      -     1.00   lzcntw	2(%rsp), %cx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -     1.00   imull	%edx, %ecx
+# CHECK-NEXT:  -     1.00    -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntw	(%rsp), %cx
+# CHECK-NEXT:  -     1.00    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntw	2(%rsp), %cx
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     012345678
-# CHECK-NEXT: Index     0123456789
+# CHECK-NEXT:                     0123456789
+# CHECK-NEXT: Index     0123456789          0123
 
-# CHECK:      [0,0]     DeeeER    .    .  .   imull	%edx, %ecx
-# CHECK-NEXT: [0,1]     D=eeeeeeeeER   .  .   lzcntw	(%rsp), %cx
-# CHECK-NEXT: [0,2]     .D=eeeeeeeeER  .  .   lzcntw	2(%rsp), %cx
-# CHECK-NEXT: [1,0]     .D=========eeeER  .   imull	%edx, %ecx
-# CHECK-NEXT: [1,1]     . D=eeeeeeeeE--R  .   lzcntw	(%rsp), %cx
-# CHECK-NEXT: [1,2]     . D==eeeeeeeeE-R  .   lzcntw	2(%rsp), %cx
-# CHECK-NEXT: [2,0]     .  D==========eeeER   imull	%edx, %ecx
-# CHECK-NEXT: [2,1]     .  D==eeeeeeeeE---R   lzcntw	(%rsp), %cx
-# CHECK-NEXT: [2,2]     .   D==eeeeeeeeE--R   lzcntw	2(%rsp), %cx
+# CHECK:      [0,0]     DeeeeER   .    .    .  .   imull	%edx, %ecx
+# CHECK-NEXT: [0,1]     DeeeeeeER .    .    .  .   lzcntw	(%rsp), %cx
+# CHECK-NEXT: [0,2]     .DeeeeeeER.    .    .  .   lzcntw	2(%rsp), %cx
+# CHECK-NEXT: [1,0]     .D======eeeeER .    .  .   imull	%edx, %ecx
+# CHECK-NEXT: [1,1]     . D=====eeeeeeER    .  .   lzcntw	(%rsp), %cx
+# CHECK-NEXT: [1,2]     . D======eeeeeeER   .  .   lzcntw	2(%rsp), %cx
+# CHECK-NEXT: [2,0]     .  D===========eeeeER  .   imull	%edx, %ecx
+# CHECK-NEXT: [2,1]     .  D===========eeeeeeER.   lzcntw	(%rsp), %cx
+# CHECK-NEXT: [2,2]     .   D===========eeeeeeER   lzcntw	2(%rsp), %cx
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -75,6 +87,6 @@ lzcnt 2(%rsp), %cx
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     7.3    0.3    0.0       imull	%edx, %ecx
-# CHECK-NEXT: 1.     3     2.3    2.3    1.7       lzcntw	(%rsp), %cx
-# CHECK-NEXT: 2.     3     2.7    2.7    1.0       lzcntw	2(%rsp), %cx
+# CHECK-NEXT: 0.     3     6.7    0.3    0.0       imull	%edx, %ecx
+# CHECK-NEXT: 1.     3     6.3    0.0    0.0       lzcntw	(%rsp), %cx
+# CHECK-NEXT: 2.     3     6.7    0.0    0.0       lzcntw	2(%rsp), %cx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/partial-reg-update.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -resource-pressure=false -timeline < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -resource-pressure=false -timeline < %s | FileCheck %s
 
 imul %ax, %cx
 add  %al, %cl
@@ -7,12 +7,12 @@ add  %ecx, %ebx
 
 # CHECK:      Iterations:        1
 # CHECK-NEXT: Instructions:      3
-# CHECK-NEXT: Total Cycles:      8
+# CHECK-NEXT: Total Cycles:      9
 # CHECK-NEXT: Total uOps:        3
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.38
-# CHECK-NEXT: IPC:               0.38
+# CHECK-NEXT: uOps Per Cycle:    0.33
+# CHECK-NEXT: IPC:               0.33
 # CHECK-NEXT: Block RThroughput: 1.0
 
 # CHECK:      Instruction Info:
@@ -24,16 +24,16 @@ add  %ecx, %ebx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        imulw	%ax, %cx
-# CHECK-NEXT:  1      1     0.33                        addb	%al, %cl
-# CHECK-NEXT:  1      1     0.33                        addl	%ecx, %ebx
+# CHECK-NEXT:  1      4     1.00                        imulw	%ax, %cx
+# CHECK-NEXT:  1      1     0.50                        addb	%al, %cl
+# CHECK-NEXT:  1      1     0.50                        addl	%ecx, %ebx
 
 # CHECK:      Timeline view:
-# CHECK-NEXT: Index     01234567
+# CHECK-NEXT: Index     012345678
 
-# CHECK:      [0,0]     DeeeER .   imulw	%ax, %cx
-# CHECK-NEXT: [0,1]     D===eER.   addb	%al, %cl
-# CHECK-NEXT: [0,2]     D====eER   addl	%ecx, %ebx
+# CHECK:      [0,0]     DeeeeER .   imulw	%ax, %cx
+# CHECK-NEXT: [0,1]     D====eER.   addb	%al, %cl
+# CHECK-NEXT: [0,2]     D=====eER   addl	%ecx, %ebx
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -43,5 +43,5 @@ add  %ecx, %ebx
 
 # CHECK:            [0]    [1]    [2]    [3]
 # CHECK-NEXT: 0.     1     1.0    1.0    0.0       imulw	%ax, %cx
-# CHECK-NEXT: 1.     1     4.0    0.0    0.0       addb	%al, %cl
-# CHECK-NEXT: 2.     1     5.0    0.0    0.0       addl	%ecx, %ebx
+# CHECK-NEXT: 1.     1     5.0    0.0    0.0       addb	%al, %cl
+# CHECK-NEXT: 2.     1     6.0    0.0    0.0       addl	%ecx, %ebx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -timeline -timeline-max-iterations=2 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -timeline -timeline-max-iterations=2 < %s | FileCheck %s
 
 # VALU0/VALU1
 vpmulld     %xmm0, %xmm1, %xmm2
@@ -19,13 +19,13 @@ vsqrtps     %ymm0, %ymm2
 
 # CHECK:      Iterations:        100
 # CHECK-NEXT: Instructions:      800
-# CHECK-NEXT: Total Cycles:      4256
-# CHECK-NEXT: Total uOps:        1000
+# CHECK-NEXT: Total Cycles:      3244
+# CHECK-NEXT: Total uOps:        1500
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.23
-# CHECK-NEXT: IPC:               0.19
-# CHECK-NEXT: Block RThroughput: 42.0
+# CHECK-NEXT: uOps Per Cycle:    0.46
+# CHECK-NEXT: IPC:               0.25
+# CHECK-NEXT: Block RThroughput: 32.5
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -36,51 +36,72 @@ vsqrtps     %ymm0, %ymm2
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      5     1.00                        vpmulld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.33                        vpand	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcvttps2dq	%xmm0, %xmm2
-# CHECK-NEXT:  1      14    6.00                        vpclmulqdq	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      14    14.00                       vsqrtps	%xmm0, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  3      29    28.00                       vsqrtps	%ymm0, %ymm2
+# CHECK-NEXT:  1      5     2.00                        vpmulld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpand	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vcvttps2dq	%xmm0, %xmm2
+# CHECK-NEXT:  6      13    1.00                        vpclmulqdq	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     10.50                       vsqrtps	%xmm0, %xmm2
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      9     21.00                       vsqrtps	%ymm0, %ymm2
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -     42.00  6.03   3.96    -     17.01   -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     32.71  32.29   -     2.00   3.00   1.00   6.00   6.00    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.05   0.06    -     0.89    -      -     vpand	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvttps2dq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.98   0.90    -     15.12   -      -     vpclmulqdq	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     vsqrtps	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -     28.00  2.00    -      -     1.00    -      -     vsqrtps	%ymm0, %ymm2
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00   2.00    -     2.00   1.00    -      -      -      -     vpmulld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -      -     vpand	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvttps2dq	%xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpclmulqdq	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     10.71  10.29   -      -      -      -      -     1.00    -      -      -      -     vsqrtps	%xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vaddps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     21.00  21.00   -      -      -      -      -     2.00    -      -      -      -     vsqrtps	%ymm0, %ymm2
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789          0123456
-# CHECK-NEXT: Index     0123456789          0123456789
+# CHECK-NEXT:                     0123456789          0123456789          012345678
+# CHECK-NEXT: Index     0123456789          0123456789          0123456789
 
-# CHECK:      [0,0]     DeeeeeER  .    .    .    .    .    ..   vpmulld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: [0,1]     DeE----R  .    .    .    .    .    ..   vpand	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: [0,2]     DeeeE--R  .    .    .    .    .    ..   vcvttps2dq	%xmm0, %xmm2
-# CHECK-NEXT: [0,3]     D=eeeeeeeeeeeeeeER  .    .    .    ..   vpclmulqdq	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: [0,4]     .DeeeE-----------R  .    .    .    ..   vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: [0,5]     .DeeeeeeeeeeeeeeER  .    .    .    ..   vsqrtps	%xmm0, %xmm2
-# CHECK-NEXT: [0,6]     .D=eeeE----------R  .    .    .    ..   vaddps	%ymm0, %ymm1, %ymm2
+# CHECK:      [0,0]     DeeeeeER  .    .    .    .    .    .    .    .    .    .  .   vpmulld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [0,1]     D=eeE--R  .    .    .    .    .    .    .    .    .    .  .   vpand	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [0,2]     D==eeeeER .    .    .    .    .    .    .    .    .    .  .   vcvttps2dq	%xmm0, %xmm2
+# CHECK-NEXT: [0,3]     .D=eeeeeeeeeeeeeER  .    .    .    .    .    .    .    .  .   vpclmulqdq	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [0,4]     . D=eeeeeE-------R  .    .    .    .    .    .    .    .  .   vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [0,5]     . D=eeeeeeeeeE---R  .    .    .    .    .    .    .    .  .   vsqrtps	%xmm0, %xmm2
+# CHECK-NEXT: [0,6]     .  D=eeeeeE------R  .    .    .    .    .    .    .    .  .   vaddps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: [0,7]     .  D==eeeeeeeeeE--R .    .    .    .    .    .    .    .  .   vsqrtps	%ymm0, %ymm2
+# CHECK-NEXT: [1,0]     .   D===eeeeeE----R .    .    .    .    .    .    .    .  .   vpmulld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [1,1]     .   DeeE----------R .    .    .    .    .    .    .    .  .   vpand	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [1,2]     .   D====eeeeE----R .    .    .    .    .    .    .    .  .   vcvttps2dq	%xmm0, %xmm2
+# CHECK-NEXT: [1,3]     .    D=eeeeeeeeeeeeeER   .    .    .    .    .    .    .  .   vpclmulqdq	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [1,4]     .    .D==================eeeeeER   .    .    .    .    .  .   vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: [1,5]     .    .D===================eeeeeeeeeER   .    .    .    .  .   vsqrtps	%xmm0, %xmm2
+# CHECK-NEXT: [1,6]     .    . D=======================================eeeeeER .  .   vaddps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: [1,7]     .    . D========================================eeeeeeeeeER   vsqrtps	%ymm0, %ymm2
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -89,11 +110,11 @@ vsqrtps     %ymm0, %ymm2
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     2     1.0    1.0    79.0      vpmulld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.     2     1.0    1.0    82.5      vpand	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2.     2     1.5    1.5    80.0      vcvttps2dq	%xmm0, %xmm2
-# CHECK-NEXT: 3.     2     1.5    1.5    74.0      vpclmulqdq	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 4.     2     2.0    2.0    84.0      vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 5.     2     9.5    9.5    65.0      vsqrtps	%xmm0, %xmm2
-# CHECK-NEXT: 6.     2     2.5    2.5    83.0      vaddps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 7.     2     147.5  147.5  0.0       vsqrtps	%ymm0, %ymm2
+# CHECK-NEXT: 0.     2     2.5    2.5    2.0       vpmulld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.     2     1.5    1.5    6.0       vpand	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2.     2     4.0    4.0    2.0       vcvttps2dq	%xmm0, %xmm2
+# CHECK-NEXT: 3.     2     2.0    2.0    0.0       vpclmulqdq	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 4.     2     10.5   10.5   3.5       vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 5.     2     11.0   11.0   1.5       vsqrtps	%xmm0, %xmm2
+# CHECK-NEXT: 6.     2     21.0   21.0   3.0       vaddps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 7.     2     22.0   22.0   1.0       vsqrtps	%ymm0, %ymm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pr37790.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pr37790.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pr37790.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/pr37790.s Sat Oct 27 13:46:30 2018
@@ -1,18 +1,18 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -lqueue=2 -iterations=2 -resource-pressure=false -timeline -timeline-max-cycles=104 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -lqueue=2 -iterations=2 -resource-pressure=false -timeline -timeline-max-cycles=104 < %s | FileCheck %s
 
 int3
 stmxcsr (%rsp)
 
 # CHECK:      Iterations:        2
 # CHECK-NEXT: Instructions:      4
-# CHECK-NEXT: Total Cycles:      213
-# CHECK-NEXT: Total uOps:        10
+# CHECK-NEXT: Total Cycles:      205
+# CHECK-NEXT: Total uOps:        6
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.05
+# CHECK-NEXT: uOps Per Cycle:    0.03
 # CHECK-NEXT: IPC:               0.02
-# CHECK-NEXT: Block RThroughput: 1.3
+# CHECK-NEXT: Block RThroughput: 0.8
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -23,14 +23,15 @@ stmxcsr (%rsp)
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      100   0.33    *      *      U     int3
-# CHECK-NEXT:  4      5     1.00    *      *      U     stmxcsr	(%rsp)
+# CHECK-NEXT:  1      100   0.50    *      *      U     int3
+# CHECK-NEXT:  2      1     0.50    *      *      U     stmxcsr	(%rsp)
 
 # CHECK:      Timeline view:
 # CHECK-NEXT:                     0123456789          0123456789          0123456789          0123456789          0123456789
-# CHECK-NEXT: Index     0123456789          0123456789          0123456789          0123456789          0123456789          012
+# CHECK-NEXT: Index     0123456789          0123456789          0123456789          0123456789          0123456789          0123
 
-# CHECK:      [0,0]     DeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER   int3
+# CHECK:      [0,0]     DeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER.   int3
+# CHECK-NEXT: [0,1]     D====================================================================================================eER   stmxcsr	(%rsp)
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -39,5 +40,5 @@ stmxcsr (%rsp)
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     2     3.0    0.5    0.0       int3
-# CHECK-NEXT: 1.     2     100.0  0.0    0.0       stmxcsr	(%rsp)
+# CHECK-NEXT: 0.     2     1.0    0.5    0.0       int3
+# CHECK-NEXT: 1.     2     100.5  0.0    0.0       stmxcsr	(%rsp)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/rank.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/rank.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/rank.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/rank.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -timeline -timeline-max-iterations=3 < %s | FileCheck %s
 
 add %eax, %ecx
 add %eax, %edx
@@ -12,13 +12,13 @@ add %ebx, %eax
 
 # CHECK:      Iterations:        100
 # CHECK-NEXT: Instructions:      800
-# CHECK-NEXT: Total Cycles:      403
+# CHECK-NEXT: Total Cycles:      503
 # CHECK-NEXT: Total uOps:        800
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.99
-# CHECK-NEXT: IPC:               1.99
-# CHECK-NEXT: Block RThroughput: 2.7
+# CHECK-NEXT: uOps Per Cycle:    1.59
+# CHECK-NEXT: IPC:               1.59
+# CHECK-NEXT: Block RThroughput: 4.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -29,68 +29,80 @@ add %ebx, %eax
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     0.33                        addl	%eax, %ecx
-# CHECK-NEXT:  1      1     0.33                        addl	%eax, %edx
-# CHECK-NEXT:  1      1     0.33                        addl	%eax, %ebx
-# CHECK-NEXT:  1      1     0.33                        addl	%edx, %esi
-# CHECK-NEXT:  1      1     0.33                        addl	%ebx, %eax
-# CHECK-NEXT:  1      1     0.33                        addl	%edx, %esi
-# CHECK-NEXT:  1      1     0.33                        addl	%ebx, %eax
-# CHECK-NEXT:  1      1     0.33                        addl	%ebx, %eax
+# CHECK-NEXT:  1      1     0.50                        addl	%eax, %ecx
+# CHECK-NEXT:  1      1     0.50                        addl	%eax, %edx
+# CHECK-NEXT:  1      1     0.50                        addl	%eax, %ebx
+# CHECK-NEXT:  1      1     0.50                        addl	%edx, %esi
+# CHECK-NEXT:  1      1     0.50                        addl	%ebx, %eax
+# CHECK-NEXT:  1      1     0.50                        addl	%edx, %esi
+# CHECK-NEXT:  1      1     0.50                        addl	%ebx, %eax
+# CHECK-NEXT:  1      1     0.50                        addl	%ebx, %eax
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     2.66   2.67    -     2.67    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.34    -      -     addl	%eax, %ecx
-# CHECK-NEXT:  -      -     0.33   0.34    -     0.33    -      -     addl	%eax, %edx
-# CHECK-NEXT:  -      -     0.34   0.33    -     0.33    -      -     addl	%eax, %ebx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.34    -      -     addl	%edx, %esi
-# CHECK-NEXT:  -      -     0.33   0.34    -     0.33    -      -     addl	%ebx, %eax
-# CHECK-NEXT:  -      -     0.34   0.33    -     0.33    -      -     addl	%edx, %esi
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.34    -      -     addl	%ebx, %eax
-# CHECK-NEXT:  -      -     0.33   0.34    -     0.33    -      -     addl	%ebx, %eax
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%eax, %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.01   0.99    -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%eax, %edx
+# CHECK-NEXT:  -      -      -      -      -     0.99   0.01    -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%eax, %ebx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%edx, %esi
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%ebx, %eax
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%edx, %esi
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%ebx, %eax
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     addl	%ebx, %eax
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     01234
+# CHECK-NEXT:                     01234567
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeER .    .   .   addl	%eax, %ecx
-# CHECK-NEXT: [0,1]     DeER .    .   .   addl	%eax, %edx
-# CHECK-NEXT: [0,2]     DeER .    .   .   addl	%eax, %ebx
-# CHECK-NEXT: [0,3]     D=eER.    .   .   addl	%edx, %esi
-# CHECK-NEXT: [0,4]     .DeER.    .   .   addl	%ebx, %eax
-# CHECK-NEXT: [0,5]     .D=eER    .   .   addl	%edx, %esi
-# CHECK-NEXT: [0,6]     .D=eER    .   .   addl	%ebx, %eax
-# CHECK-NEXT: [0,7]     .D==eER   .   .   addl	%ebx, %eax
-# CHECK-NEXT: [1,0]     . D==eER  .   .   addl	%eax, %ecx
-# CHECK-NEXT: [1,1]     . D==eER  .   .   addl	%eax, %edx
-# CHECK-NEXT: [1,2]     . D==eER  .   .   addl	%eax, %ebx
-# CHECK-NEXT: [1,3]     . D===eER .   .   addl	%edx, %esi
-# CHECK-NEXT: [1,4]     .  D==eER .   .   addl	%ebx, %eax
-# CHECK-NEXT: [1,5]     .  D===eER.   .   addl	%edx, %esi
-# CHECK-NEXT: [1,6]     .  D===eER.   .   addl	%ebx, %eax
-# CHECK-NEXT: [1,7]     .  D====eER   .   addl	%ebx, %eax
-# CHECK-NEXT: [2,0]     .   D====eER  .   addl	%eax, %ecx
-# CHECK-NEXT: [2,1]     .   D====eER  .   addl	%eax, %edx
-# CHECK-NEXT: [2,2]     .   D====eER  .   addl	%eax, %ebx
-# CHECK-NEXT: [2,3]     .   D=====eER .   addl	%edx, %esi
-# CHECK-NEXT: [2,4]     .    D====eER .   addl	%ebx, %eax
-# CHECK-NEXT: [2,5]     .    D=====eER.   addl	%edx, %esi
-# CHECK-NEXT: [2,6]     .    D=====eER.   addl	%ebx, %eax
-# CHECK-NEXT: [2,7]     .    D======eER   addl	%ebx, %eax
+# CHECK:      [0,0]     DeER .    .    . .   addl	%eax, %ecx
+# CHECK-NEXT: [0,1]     DeER .    .    . .   addl	%eax, %edx
+# CHECK-NEXT: [0,2]     D=eER.    .    . .   addl	%eax, %ebx
+# CHECK-NEXT: [0,3]     D=eER.    .    . .   addl	%edx, %esi
+# CHECK-NEXT: [0,4]     .D=eER    .    . .   addl	%ebx, %eax
+# CHECK-NEXT: [0,5]     .D=eER    .    . .   addl	%edx, %esi
+# CHECK-NEXT: [0,6]     .D==eER   .    . .   addl	%ebx, %eax
+# CHECK-NEXT: [0,7]     .D===eER  .    . .   addl	%ebx, %eax
+# CHECK-NEXT: [1,0]     . D====eER.    . .   addl	%eax, %ecx
+# CHECK-NEXT: [1,1]     . D===eE-R.    . .   addl	%eax, %edx
+# CHECK-NEXT: [1,2]     . D===eE-R.    . .   addl	%eax, %ebx
+# CHECK-NEXT: [1,3]     . D====eER.    . .   addl	%edx, %esi
+# CHECK-NEXT: [1,4]     .  D====eER    . .   addl	%ebx, %eax
+# CHECK-NEXT: [1,5]     .  D====eER    . .   addl	%edx, %esi
+# CHECK-NEXT: [1,6]     .  D=====eER   . .   addl	%ebx, %eax
+# CHECK-NEXT: [1,7]     .  D======eER  . .   addl	%ebx, %eax
+# CHECK-NEXT: [2,0]     .   D=======eER. .   addl	%eax, %ecx
+# CHECK-NEXT: [2,1]     .   D======eE-R. .   addl	%eax, %edx
+# CHECK-NEXT: [2,2]     .   D======eE-R. .   addl	%eax, %ebx
+# CHECK-NEXT: [2,3]     .   D=======eER. .   addl	%edx, %esi
+# CHECK-NEXT: [2,4]     .    D=======eER .   addl	%ebx, %eax
+# CHECK-NEXT: [2,5]     .    D=======eER .   addl	%edx, %esi
+# CHECK-NEXT: [2,6]     .    D========eER.   addl	%ebx, %eax
+# CHECK-NEXT: [2,7]     .    D=========eER   addl	%ebx, %eax
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -99,11 +111,11 @@ add %ebx, %eax
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     3.0    0.3    0.0       addl	%eax, %ecx
-# CHECK-NEXT: 1.     3     3.0    0.3    0.0       addl	%eax, %edx
-# CHECK-NEXT: 2.     3     3.0    0.3    0.0       addl	%eax, %ebx
-# CHECK-NEXT: 3.     3     4.0    0.0    0.0       addl	%edx, %esi
-# CHECK-NEXT: 4.     3     3.0    0.0    0.0       addl	%ebx, %eax
-# CHECK-NEXT: 5.     3     4.0    0.0    0.0       addl	%edx, %esi
-# CHECK-NEXT: 6.     3     4.0    0.0    0.0       addl	%ebx, %eax
-# CHECK-NEXT: 7.     3     5.0    0.0    0.0       addl	%ebx, %eax
+# CHECK-NEXT: 0.     3     4.7    1.0    0.0       addl	%eax, %ecx
+# CHECK-NEXT: 1.     3     4.0    0.3    0.7       addl	%eax, %edx
+# CHECK-NEXT: 2.     3     4.3    0.7    0.7       addl	%eax, %ebx
+# CHECK-NEXT: 3.     3     5.0    0.0    0.0       addl	%edx, %esi
+# CHECK-NEXT: 4.     3     5.0    0.7    0.0       addl	%ebx, %eax
+# CHECK-NEXT: 5.     3     5.0    0.0    0.0       addl	%edx, %esi
+# CHECK-NEXT: 6.     3     6.0    0.0    0.0       addl	%ebx, %eax
+# CHECK-NEXT: 7.     3     7.0    0.0    0.0       addl	%ebx, %eax

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/rcu-statistics.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/rcu-statistics.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/rcu-statistics.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/rcu-statistics.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -resource-pressure=false -retire-stats -iterations=1 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -resource-pressure=false -retire-stats -iterations=1 < %s | FileCheck %s
 
   vsqrtps %xmm0, %xmm2
   vaddps  %xmm0, %xmm1, %xmm2
@@ -20,13 +20,13 @@
 
 # CHECK:      Iterations:        1
 # CHECK-NEXT: Instructions:      16
-# CHECK-NEXT: Total Cycles:      20
+# CHECK-NEXT: Total Cycles:      22
 # CHECK-NEXT: Total uOps:        16
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.80
-# CHECK-NEXT: IPC:               0.80
-# CHECK-NEXT: Block RThroughput: 15.0
+# CHECK-NEXT: uOps Per Cycle:    0.73
+# CHECK-NEXT: IPC:               0.73
+# CHECK-NEXT: Block RThroughput: 18.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -37,25 +37,26 @@
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      14    14.00                       vsqrtps	%xmm0, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     10.50                       vsqrtps	%xmm0, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
 
 # CHECK:      Retire Control Unit - number of cycles where we saw N instructions retired:
 # CHECK-NEXT: [# retired], [# cycles]
-# CHECK-NEXT:  0,           16  (80.0%)
-# CHECK-NEXT:  1,           3  (15.0%)
-# CHECK-NEXT:  13,          1  (5.0%)
+# CHECK-NEXT:  0,           11  (50.0%)
+# CHECK-NEXT:  1,           9  (40.9%)
+# CHECK-NEXT:  3,           1  (4.5%)
+# CHECK-NEXT:  4,           1  (4.5%)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-1.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-1.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -timeline -resource-pressure=false < %s | FileCheck %s
 
 # The vmul can start executing 3cy in advance. That is beause the first use
 # operand (i.e. %xmm1) is a ReadAfterLd. That means, the memory operand is
@@ -10,12 +10,12 @@ vmulps  (%rdi), %xmm1, %xmm2
 
 # CHECK:      Iterations:        1
 # CHECK-NEXT: Instructions:      2
-# CHECK-NEXT: Total Cycles:      14
-# CHECK-NEXT: Total uOps:        3
+# CHECK-NEXT: Total Cycles:      13
+# CHECK-NEXT: Total uOps:        2
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.21
-# CHECK-NEXT: IPC:               0.14
+# CHECK-NEXT: uOps Per Cycle:    0.15
+# CHECK-NEXT: IPC:               0.15
 # CHECK-NEXT: Block RThroughput: 1.0
 
 # CHECK:      Instruction Info:
@@ -27,15 +27,15 @@ vmulps  (%rdi), %xmm1, %xmm2
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT:  2      11    1.00    *                   vmulps	(%rdi), %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT:  1      10    1.00    *                   vmulps	(%rdi), %xmm1, %xmm2
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123
+# CHECK-NEXT:                     012
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeeeER    .  .   vaddps	%xmm0, %xmm0, %xmm1
-# CHECK-NEXT: [0,1]     DeeeeeeeeeeeER   vmulps	(%rdi), %xmm1, %xmm2
+# CHECK:      [0,0]     DeeeeeER  . .   vaddps	%xmm0, %xmm0, %xmm1
+# CHECK-NEXT: [0,1]     DeeeeeeeeeeER   vmulps	(%rdi), %xmm1, %xmm2
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-2.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-2.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -resource-pressure=0 -timeline < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -resource-pressure=0 -timeline < %s | FileCheck %s
 
   imull  %esi
   imull  (%rdi)
@@ -9,12 +9,12 @@
 
 # CHECK:      Iterations:        1
 # CHECK-NEXT: Instructions:      2
-# CHECK-NEXT: Total Cycles:      13
-# CHECK-NEXT: Total uOps:        7
+# CHECK-NEXT: Total Cycles:      12
+# CHECK-NEXT: Total uOps:        2
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.54
-# CHECK-NEXT: IPC:               0.15
+# CHECK-NEXT: uOps Per Cycle:    0.17
+# CHECK-NEXT: IPC:               0.17
 # CHECK-NEXT: Block RThroughput: 2.0
 
 # CHECK:      Instruction Info:
@@ -26,15 +26,15 @@
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  3      4     1.00                        imull	%esi
-# CHECK-NEXT:  4      9     1.00    *                   imull	(%rdi)
+# CHECK-NEXT:  1      4     1.00                        imull	%esi
+# CHECK-NEXT:  1      8     1.00    *                   imull	(%rdi)
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     012
+# CHECK-NEXT:                     01
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeeeeER   . .   imull	%esi
-# CHECK-NEXT: [0,1]     .DeeeeeeeeeER   imull	(%rdi)
+# CHECK:      [0,0]     DeeeeER   ..   imull	%esi
+# CHECK-NEXT: [0,1]     D=eeeeeeeeER   imull	(%rdi)
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -44,4 +44,4 @@
 
 # CHECK:            [0]    [1]    [2]    [3]
 # CHECK-NEXT: 0.     1     1.0    1.0    0.0       imull	%esi
-# CHECK-NEXT: 1.     1     1.0    1.0    0.0       imull	(%rdi)
+# CHECK-NEXT: 1.     1     2.0    1.0    0.0       imull	(%rdi)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-3.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/read-advance-3.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -resource-pressure=0 -timeline -dispatch=3 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -resource-pressure=0 -timeline -dispatch=3 < %s | FileCheck %s
 
   add %rdi, %rsi
   add (%rsp), %rsi
@@ -7,13 +7,13 @@
 
 # CHECK:      Iterations:        1
 # CHECK-NEXT: Instructions:      3
-# CHECK-NEXT: Total Cycles:      9
-# CHECK-NEXT: Total uOps:        4
+# CHECK-NEXT: Total Cycles:      8
+# CHECK-NEXT: Total uOps:        3
 
 # CHECK:      Dispatch Width:    3
-# CHECK-NEXT: uOps Per Cycle:    0.44
-# CHECK-NEXT: IPC:               0.33
-# CHECK-NEXT: Block RThroughput: 1.3
+# CHECK-NEXT: uOps Per Cycle:    0.38
+# CHECK-NEXT: IPC:               0.38
+# CHECK-NEXT: Block RThroughput: 1.5
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -24,16 +24,16 @@
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     0.33                        addq	%rdi, %rsi
-# CHECK-NEXT:  2      6     0.50    *                   addq	(%rsp), %rsi
-# CHECK-NEXT:  1      1     0.33                        addq	%rdx, %r8
+# CHECK-NEXT:  1      1     0.50                        addq	%rdi, %rsi
+# CHECK-NEXT:  1      5     0.50    *                   addq	(%rsp), %rsi
+# CHECK-NEXT:  1      1     0.50                        addq	%rdx, %r8
 
 # CHECK:      Timeline view:
-# CHECK-NEXT: Index     012345678
+# CHECK-NEXT: Index     01234567
 
-# CHECK:      [0,0]     DeER .  .   addq	%rdi, %rsi
-# CHECK-NEXT: [0,1]     DeeeeeeER   addq	(%rsp), %rsi
-# CHECK-NEXT: [0,2]     .DeE----R   addq	%rdx, %r8
+# CHECK:      [0,0]     DeER . .   addq	%rdi, %rsi
+# CHECK-NEXT: [0,1]     DeeeeeER   addq	(%rsp), %rsi
+# CHECK-NEXT: [0,2]     D=eE---R   addq	%rdx, %r8
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -44,4 +44,4 @@
 # CHECK:            [0]    [1]    [2]    [3]
 # CHECK-NEXT: 0.     1     1.0    1.0    0.0       addq	%rdi, %rsi
 # CHECK-NEXT: 1.     1     1.0    0.0    0.0       addq	(%rsp), %rsi
-# CHECK-NEXT: 2.     1     1.0    1.0    4.0       addq	%rdx, %r8
+# CHECK-NEXT: 2.     1     2.0    2.0    3.0       addq	%rdx, %r8

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
 
 # The register move from XMM0 to XMM1 can be eliminated at register renaming
 # stage. So, it should not consume pipeline resources.
@@ -10,12 +10,12 @@ vaddps %xmm1, %xmm1, %xmm2
 
 # CHECK:      Iterations:        3
 # CHECK-NEXT: Instructions:      9
-# CHECK-NEXT: Total Cycles:      9
+# CHECK-NEXT: Total Cycles:      11
 # CHECK-NEXT: Total uOps:        9
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.00
-# CHECK-NEXT: IPC:               1.00
+# CHECK-NEXT: uOps Per Cycle:    0.82
+# CHECK-NEXT: IPC:               0.82
 # CHECK-NEXT: Block RThroughput: 1.0
 
 # CHECK:      Instruction Info:
@@ -28,45 +28,68 @@ vaddps %xmm1, %xmm1, %xmm2
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  1      0     0.25                        vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT:  1      1     1.00                        vmovaps	%xmm0, %xmm1
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT:  1      1     0.50                        vmovaps	%xmm0, %xmm1
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm1, %xmm1, %xmm2
 
 # CHECK:      Register File statistics:
-# CHECK-NEXT: Total number of mappings created:    9
-# CHECK-NEXT: Max number of mappings used:         8
+# CHECK-NEXT: Total number of mappings created:    6
+# CHECK-NEXT: Max number of mappings used:         6
+
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 6
+# CHECK-NEXT:    Max number of mappings used:      6
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.67   1.33    -      -      -      -     1.00   1.00    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovaps	%xmm0, %xmm1
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddps	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.33   0.67    -      -      -      -      -     1.00    -      -      -      -     vmovaps	%xmm0, %xmm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.33   0.67    -      -      -      -     1.00    -      -      -      -      -     vaddps	%xmm1, %xmm1, %xmm2
 
 # CHECK:      Timeline view:
-# CHECK-NEXT: Index     012345678
+# CHECK-NEXT:                     0
+# CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DR   .  .   vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [0,1]     DeER .  .   vmovaps	%xmm0, %xmm1
-# CHECK-NEXT: [0,2]     D=eeeER .   vaddps	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: [1,0]     D-----R .   vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [1,1]     .DeE--R .   vmovaps	%xmm0, %xmm1
-# CHECK-NEXT: [1,2]     .D=eeeER.   vaddps	%xmm1, %xmm1, %xmm2
-# CHECK-NEXT: [2,0]     .D-----R.   vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [2,1]     .D=eE--R.   vmovaps	%xmm0, %xmm1
-# CHECK-NEXT: [2,2]     . D=eeeER   vaddps	%xmm1, %xmm1, %xmm2
+# CHECK:      [0,0]     DR   .    .   vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [0,1]     DeER .    .   vmovaps	%xmm0, %xmm1
+# CHECK-NEXT: [0,2]     D=eeeeeER .   vaddps	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: [1,0]     D-------R .   vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [1,1]     .DeE----R .   vmovaps	%xmm0, %xmm1
+# CHECK-NEXT: [1,2]     .D=eeeeeER.   vaddps	%xmm1, %xmm1, %xmm2
+# CHECK-NEXT: [2,0]     .D-------R.   vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [2,1]     .D=eE----R.   vmovaps	%xmm0, %xmm1
+# CHECK-NEXT: [2,2]     . D=eeeeeER   vaddps	%xmm1, %xmm1, %xmm2
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -75,6 +98,6 @@ vaddps %xmm1, %xmm1, %xmm2
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     0.0    0.0    3.3       vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: 1.     3     1.3    1.3    1.3       vmovaps	%xmm0, %xmm1
+# CHECK-NEXT: 0.     3     0.0    0.0    4.7       vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: 1.     3     1.3    1.3    2.7       vmovaps	%xmm0, %xmm1
 # CHECK-NEXT: 2.     3     2.0    0.0    0.0       vaddps	%xmm1, %xmm1, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
 
 pxor %mm0, %mm0
 movq %mm0, %mm1
@@ -14,13 +14,13 @@ movdqu %xmm5, %xmm0
 
 # CHECK:      Iterations:        3
 # CHECK-NEXT: Instructions:      27
-# CHECK-NEXT: Total Cycles:      22
+# CHECK-NEXT: Total Cycles:      18
 # CHECK-NEXT: Total uOps:        27
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.23
-# CHECK-NEXT: IPC:               1.23
-# CHECK-NEXT: Block RThroughput: 4.0
+# CHECK-NEXT: uOps Per Cycle:    1.50
+# CHECK-NEXT: IPC:               1.50
+# CHECK-NEXT: Block RThroughput: 3.5
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -31,77 +31,99 @@ movdqu %xmm5, %xmm0
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     0.33                        pxor	%mm0, %mm0
-# CHECK-NEXT:  1      1     0.50                        movq	%mm0, %mm1
+# CHECK-NEXT:  1      0     0.25                        pxor	%mm0, %mm0
+# CHECK-NEXT:  1      2     0.50                        movq	%mm0, %mm1
 # CHECK-NEXT:  1      0     0.25                        xorps	%xmm0, %xmm0
-# CHECK-NEXT:  1      1     1.00                        movaps	%xmm0, %xmm1
-# CHECK-NEXT:  1      1     1.00                        movups	%xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        movapd	%xmm2, %xmm3
-# CHECK-NEXT:  1      1     1.00                        movupd	%xmm3, %xmm4
-# CHECK-NEXT:  1      1     0.33                        movdqa	%xmm4, %xmm5
-# CHECK-NEXT:  1      1     0.33                        movdqu	%xmm5, %xmm0
+# CHECK-NEXT:  1      1     0.50                        movaps	%xmm0, %xmm1
+# CHECK-NEXT:  1      1     0.50                        movups	%xmm1, %xmm2
+# CHECK-NEXT:  1      1     0.50                        movapd	%xmm2, %xmm3
+# CHECK-NEXT:  1      1     0.50                        movupd	%xmm3, %xmm4
+# CHECK-NEXT:  1      2     0.50                        movdqa	%xmm4, %xmm5
+# CHECK-NEXT:  1      2     0.50                        movdqu	%xmm5, %xmm0
 
 # CHECK:      Register File statistics:
-# CHECK-NEXT: Total number of mappings created:    27
-# CHECK-NEXT: Max number of mappings used:         21
+# CHECK-NEXT: Total number of mappings created:    21
+# CHECK-NEXT: Max number of mappings used:         16
+
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 21
+# CHECK-NEXT:    Max number of mappings used:      16
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.67   1.67    -     4.67    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     2.67   1.33    -     3.00    -      -     3.33   3.67    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     0.67    -     0.33    -      -     pxor	%mm0, %mm0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     movq	%mm0, %mm1
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     xorps	%xmm0, %xmm0
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movaps	%xmm0, %xmm1
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movups	%xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movapd	%xmm2, %xmm3
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movupd	%xmm3, %xmm4
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     movdqa	%xmm4, %xmm5
-# CHECK-NEXT:  -      -     0.67    -      -     0.33    -      -     movdqu	%xmm5, %xmm0
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     pxor	%mm0, %mm0
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -      -     movq	%mm0, %mm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorps	%xmm0, %xmm0
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.67   0.33    -      -      -      -     0.33   0.67    -      -      -      -     movaps	%xmm0, %xmm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.67   0.33    -      -      -      -     0.33   0.67    -      -      -      -     movups	%xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.67   0.33    -      -      -      -     1.00    -      -      -      -      -     movapd	%xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.67   0.33    -      -      -      -     0.33   0.67    -      -      -      -     movupd	%xmm3, %xmm4
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     1.00    -      -      -      -      -     movdqa	%xmm4, %xmm5
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     0.33   0.67    -      -      -      -     movdqu	%xmm5, %xmm0
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789
-# CHECK-NEXT: Index     0123456789          01
+# CHECK-NEXT:                     01234567
+# CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DeER .    .    .    ..   pxor	%mm0, %mm0
-# CHECK-NEXT: [0,1]     D=eER.    .    .    ..   movq	%mm0, %mm1
-# CHECK-NEXT: [0,2]     D---R.    .    .    ..   xorps	%xmm0, %xmm0
-# CHECK-NEXT: [0,3]     D=eER.    .    .    ..   movaps	%xmm0, %xmm1
-# CHECK-NEXT: [0,4]     .D=eER    .    .    ..   movups	%xmm1, %xmm2
-# CHECK-NEXT: [0,5]     .D==eER   .    .    ..   movapd	%xmm2, %xmm3
-# CHECK-NEXT: [0,6]     .D===eER  .    .    ..   movupd	%xmm3, %xmm4
-# CHECK-NEXT: [0,7]     .D====eER .    .    ..   movdqa	%xmm4, %xmm5
-# CHECK-NEXT: [0,8]     . D====eER.    .    ..   movdqu	%xmm5, %xmm0
-# CHECK-NEXT: [1,0]     . DeE----R.    .    ..   pxor	%mm0, %mm0
-# CHECK-NEXT: [1,1]     . D=eE---R.    .    ..   movq	%mm0, %mm1
-# CHECK-NEXT: [1,2]     . D=====ER.    .    ..   xorps	%xmm0, %xmm0
-# CHECK-NEXT: [1,3]     .  D====eER    .    ..   movaps	%xmm0, %xmm1
-# CHECK-NEXT: [1,4]     .  D=====eER   .    ..   movups	%xmm1, %xmm2
-# CHECK-NEXT: [1,5]     .  D======eER  .    ..   movapd	%xmm2, %xmm3
-# CHECK-NEXT: [1,6]     .  D=======eER .    ..   movupd	%xmm3, %xmm4
-# CHECK-NEXT: [1,7]     .   D=======eER.    ..   movdqa	%xmm4, %xmm5
-# CHECK-NEXT: [1,8]     .   D========eER    ..   movdqu	%xmm5, %xmm0
-# CHECK-NEXT: [2,0]     .   DeE--------R    ..   pxor	%mm0, %mm0
-# CHECK-NEXT: [2,1]     .   D=eE-------R    ..   movq	%mm0, %mm1
-# CHECK-NEXT: [2,2]     .    D========ER    ..   xorps	%xmm0, %xmm0
-# CHECK-NEXT: [2,3]     .    D========eER   ..   movaps	%xmm0, %xmm1
-# CHECK-NEXT: [2,4]     .    D=========eER  ..   movups	%xmm1, %xmm2
-# CHECK-NEXT: [2,5]     .    D==========eER ..   movapd	%xmm2, %xmm3
-# CHECK-NEXT: [2,6]     .    .D==========eER..   movupd	%xmm3, %xmm4
-# CHECK-NEXT: [2,7]     .    .D===========eER.   movdqa	%xmm4, %xmm5
-# CHECK-NEXT: [2,8]     .    .D============eER   movdqu	%xmm5, %xmm0
+# CHECK:      [0,0]     DR   .    .    . .   pxor	%mm0, %mm0
+# CHECK-NEXT: [0,1]     DeeER.    .    . .   movq	%mm0, %mm1
+# CHECK-NEXT: [0,2]     D---R.    .    . .   xorps	%xmm0, %xmm0
+# CHECK-NEXT: [0,3]     DeE-R.    .    . .   movaps	%xmm0, %xmm1
+# CHECK-NEXT: [0,4]     .DeER.    .    . .   movups	%xmm1, %xmm2
+# CHECK-NEXT: [0,5]     .D=eER    .    . .   movapd	%xmm2, %xmm3
+# CHECK-NEXT: [0,6]     .D==eER   .    . .   movupd	%xmm3, %xmm4
+# CHECK-NEXT: [0,7]     .D===eeER .    . .   movdqa	%xmm4, %xmm5
+# CHECK-NEXT: [0,8]     . D====eeER    . .   movdqu	%xmm5, %xmm0
+# CHECK-NEXT: [1,0]     . D-------R    . .   pxor	%mm0, %mm0
+# CHECK-NEXT: [1,1]     . DeeE----R    . .   movq	%mm0, %mm1
+# CHECK-NEXT: [1,2]     . D-------R    . .   xorps	%xmm0, %xmm0
+# CHECK-NEXT: [1,3]     .  DeE-----R   . .   movaps	%xmm0, %xmm1
+# CHECK-NEXT: [1,4]     .  D=eE----R   . .   movups	%xmm1, %xmm2
+# CHECK-NEXT: [1,5]     .  D==eE---R   . .   movapd	%xmm2, %xmm3
+# CHECK-NEXT: [1,6]     .  D===eE--R   . .   movupd	%xmm3, %xmm4
+# CHECK-NEXT: [1,7]     .   D===eeE-R  . .   movdqa	%xmm4, %xmm5
+# CHECK-NEXT: [1,8]     .   D=====eeER . .   movdqu	%xmm5, %xmm0
+# CHECK-NEXT: [2,0]     .   D--------R . .   pxor	%mm0, %mm0
+# CHECK-NEXT: [2,1]     .   D=eeE----R . .   movq	%mm0, %mm1
+# CHECK-NEXT: [2,2]     .    D-------R . .   xorps	%xmm0, %xmm0
+# CHECK-NEXT: [2,3]     .    D==eE----R. .   movaps	%xmm0, %xmm1
+# CHECK-NEXT: [2,4]     .    D===eE---R. .   movups	%xmm1, %xmm2
+# CHECK-NEXT: [2,5]     .    D====eE--R. .   movapd	%xmm2, %xmm3
+# CHECK-NEXT: [2,6]     .    .D====eE-R. .   movupd	%xmm3, %xmm4
+# CHECK-NEXT: [2,7]     .    .D=====eeER .   movdqa	%xmm4, %xmm5
+# CHECK-NEXT: [2,8]     .    .D=======eeER   movdqu	%xmm5, %xmm0
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -110,12 +132,12 @@ movdqu %xmm5, %xmm0
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     1.0    1.0    4.0       pxor	%mm0, %mm0
-# CHECK-NEXT: 1.     3     2.0    0.0    3.3       movq	%mm0, %mm1
-# CHECK-NEXT: 2.     3     5.0    0.0    1.0       xorps	%xmm0, %xmm0
-# CHECK-NEXT: 3.     3     5.3    0.7    0.0       movaps	%xmm0, %xmm1
-# CHECK-NEXT: 4.     3     6.0    0.0    0.0       movups	%xmm1, %xmm2
-# CHECK-NEXT: 5.     3     7.0    0.0    0.0       movapd	%xmm2, %xmm3
-# CHECK-NEXT: 6.     3     7.7    0.0    0.0       movupd	%xmm3, %xmm4
-# CHECK-NEXT: 7.     3     8.3    0.0    0.0       movdqa	%xmm4, %xmm5
-# CHECK-NEXT: 8.     3     9.0    0.0    0.0       movdqu	%xmm5, %xmm0
+# CHECK-NEXT: 0.     3     0.0    0.0    5.0       pxor	%mm0, %mm0
+# CHECK-NEXT: 1.     3     1.3    1.3    2.7       movq	%mm0, %mm1
+# CHECK-NEXT: 2.     3     0.0    0.0    5.7       xorps	%xmm0, %xmm0
+# CHECK-NEXT: 3.     3     1.7    1.7    3.3       movaps	%xmm0, %xmm1
+# CHECK-NEXT: 4.     3     2.3    0.0    2.3       movups	%xmm1, %xmm2
+# CHECK-NEXT: 5.     3     3.3    0.0    1.7       movapd	%xmm2, %xmm3
+# CHECK-NEXT: 6.     3     4.0    0.0    1.0       movupd	%xmm3, %xmm4
+# CHECK-NEXT: 7.     3     4.7    0.0    0.3       movdqa	%xmm4, %xmm5
+# CHECK-NEXT: 8.     3     6.3    0.0    0.0       movdqu	%xmm5, %xmm0

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
 
 vxorps  %xmm0, %xmm0, %xmm0
 vmovaps %xmm0, %xmm1
@@ -11,13 +11,13 @@ vmovdqu %xmm5, %xmm0
 
 # CHECK:      Iterations:        3
 # CHECK-NEXT: Instructions:      21
-# CHECK-NEXT: Total Cycles:      21
+# CHECK-NEXT: Total Cycles:      17
 # CHECK-NEXT: Total uOps:        21
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.00
-# CHECK-NEXT: IPC:               1.00
-# CHECK-NEXT: Block RThroughput: 4.0
+# CHECK-NEXT: uOps Per Cycle:    1.24
+# CHECK-NEXT: IPC:               1.24
+# CHECK-NEXT: Block RThroughput: 3.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -29,66 +29,88 @@ vmovdqu %xmm5, %xmm0
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  1      0     0.25                        vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT:  1      1     1.00                        vmovaps	%xmm0, %xmm1
-# CHECK-NEXT:  1      1     1.00                        vmovups	%xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovapd	%xmm2, %xmm3
-# CHECK-NEXT:  1      1     1.00                        vmovupd	%xmm3, %xmm4
-# CHECK-NEXT:  1      1     0.33                        vmovdqa	%xmm4, %xmm5
-# CHECK-NEXT:  1      1     0.33                        vmovdqu	%xmm5, %xmm0
+# CHECK-NEXT:  1      1     0.50                        vmovaps	%xmm0, %xmm1
+# CHECK-NEXT:  1      1     0.50                        vmovups	%xmm1, %xmm2
+# CHECK-NEXT:  1      1     0.50                        vmovapd	%xmm2, %xmm3
+# CHECK-NEXT:  1      1     0.50                        vmovupd	%xmm3, %xmm4
+# CHECK-NEXT:  1      2     0.50                        vmovdqa	%xmm4, %xmm5
+# CHECK-NEXT:  1      2     0.50                        vmovdqu	%xmm5, %xmm0
 
 # CHECK:      Register File statistics:
-# CHECK-NEXT: Total number of mappings created:    21
-# CHECK-NEXT: Max number of mappings used:         17
+# CHECK-NEXT: Total number of mappings created:    18
+# CHECK-NEXT: Max number of mappings used:         15
+
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 18
+# CHECK-NEXT:    Max number of mappings used:      15
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.00   1.00    -     4.00    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     2.00   2.00   1.33   0.67    -      -     3.00   3.00    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovaps	%xmm0, %xmm1
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovups	%xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovapd	%xmm2, %xmm3
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovupd	%xmm3, %xmm4
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vmovdqa	%xmm4, %xmm5
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmovdqu	%xmm5, %xmm0
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.67   0.33    -      -      -      -     0.67   0.33    -      -      -      -     vmovaps	%xmm0, %xmm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.33   0.67    -      -      -      -     0.67   0.33    -      -      -      -     vmovups	%xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.33   0.67    -      -      -      -     0.33   0.67    -      -      -      -     vmovapd	%xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.67   0.33    -      -      -      -     0.33   0.67    -      -      -      -     vmovupd	%xmm3, %xmm4
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.67   0.33    -      -     0.33   0.67    -      -      -      -     vmovdqa	%xmm4, %xmm5
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.67   0.33    -      -     0.67   0.33    -      -      -      -     vmovdqu	%xmm5, %xmm0
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789
-# CHECK-NEXT: Index     0123456789          0
+# CHECK-NEXT:                     0123456
+# CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DR   .    .    .    .   vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [0,1]     DeER .    .    .    .   vmovaps	%xmm0, %xmm1
-# CHECK-NEXT: [0,2]     D=eER.    .    .    .   vmovups	%xmm1, %xmm2
-# CHECK-NEXT: [0,3]     D==eER    .    .    .   vmovapd	%xmm2, %xmm3
-# CHECK-NEXT: [0,4]     .D==eER   .    .    .   vmovupd	%xmm3, %xmm4
-# CHECK-NEXT: [0,5]     .D===eER  .    .    .   vmovdqa	%xmm4, %xmm5
-# CHECK-NEXT: [0,6]     .D====eER .    .    .   vmovdqu	%xmm5, %xmm0
-# CHECK-NEXT: [1,0]     .D=====ER .    .    .   vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [1,1]     . D====eER.    .    .   vmovaps	%xmm0, %xmm1
-# CHECK-NEXT: [1,2]     . D=====eER    .    .   vmovups	%xmm1, %xmm2
-# CHECK-NEXT: [1,3]     . D======eER   .    .   vmovapd	%xmm2, %xmm3
-# CHECK-NEXT: [1,4]     . D=======eER  .    .   vmovupd	%xmm3, %xmm4
-# CHECK-NEXT: [1,5]     .  D=======eER .    .   vmovdqa	%xmm4, %xmm5
-# CHECK-NEXT: [1,6]     .  D========eER.    .   vmovdqu	%xmm5, %xmm0
-# CHECK-NEXT: [2,0]     .  D=========ER.    .   vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [2,1]     .  D=========eER    .   vmovaps	%xmm0, %xmm1
-# CHECK-NEXT: [2,2]     .   D=========eER   .   vmovups	%xmm1, %xmm2
-# CHECK-NEXT: [2,3]     .   D==========eER  .   vmovapd	%xmm2, %xmm3
-# CHECK-NEXT: [2,4]     .   D===========eER .   vmovupd	%xmm3, %xmm4
-# CHECK-NEXT: [2,5]     .   D============eER.   vmovdqa	%xmm4, %xmm5
-# CHECK-NEXT: [2,6]     .    D============eER   vmovdqu	%xmm5, %xmm0
+# CHECK:      [0,0]     DR   .    .    ..   vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [0,1]     DeER .    .    ..   vmovaps	%xmm0, %xmm1
+# CHECK-NEXT: [0,2]     D=eER.    .    ..   vmovups	%xmm1, %xmm2
+# CHECK-NEXT: [0,3]     D==eER    .    ..   vmovapd	%xmm2, %xmm3
+# CHECK-NEXT: [0,4]     .D==eER   .    ..   vmovupd	%xmm3, %xmm4
+# CHECK-NEXT: [0,5]     .D===eeER .    ..   vmovdqa	%xmm4, %xmm5
+# CHECK-NEXT: [0,6]     .D=====eeER    ..   vmovdqu	%xmm5, %xmm0
+# CHECK-NEXT: [1,0]     .D--------R    ..   vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [1,1]     . DeE-----R    ..   vmovaps	%xmm0, %xmm1
+# CHECK-NEXT: [1,2]     . D=eE----R    ..   vmovups	%xmm1, %xmm2
+# CHECK-NEXT: [1,3]     . D==eE----R   ..   vmovapd	%xmm2, %xmm3
+# CHECK-NEXT: [1,4]     . D===eE---R   ..   vmovupd	%xmm3, %xmm4
+# CHECK-NEXT: [1,5]     .  D===eeE-R   ..   vmovdqa	%xmm4, %xmm5
+# CHECK-NEXT: [1,6]     .  D=====eeER  ..   vmovdqu	%xmm5, %xmm0
+# CHECK-NEXT: [2,0]     .  D--------R  ..   vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [2,1]     .  D==eE----R  ..   vmovaps	%xmm0, %xmm1
+# CHECK-NEXT: [2,2]     .   D===eE--R  ..   vmovups	%xmm1, %xmm2
+# CHECK-NEXT: [2,3]     .   D====eE--R ..   vmovapd	%xmm2, %xmm3
+# CHECK-NEXT: [2,4]     .   D=====eE-R ..   vmovupd	%xmm3, %xmm4
+# CHECK-NEXT: [2,5]     .   D======eeER..   vmovdqa	%xmm4, %xmm5
+# CHECK-NEXT: [2,6]     .    D=======eeER   vmovdqu	%xmm5, %xmm0
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -97,10 +119,10 @@ vmovdqu %xmm5, %xmm0
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     5.3    0.0    0.0       vxorps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: 1.     3     5.3    0.3    0.0       vmovaps	%xmm0, %xmm1
-# CHECK-NEXT: 2.     3     6.0    0.0    0.0       vmovups	%xmm1, %xmm2
-# CHECK-NEXT: 3.     3     7.0    0.0    0.0       vmovapd	%xmm2, %xmm3
-# CHECK-NEXT: 4.     3     7.7    0.0    0.0       vmovupd	%xmm3, %xmm4
-# CHECK-NEXT: 5.     3     8.3    0.0    0.0       vmovdqa	%xmm4, %xmm5
-# CHECK-NEXT: 6.     3     9.0    0.0    0.0       vmovdqu	%xmm5, %xmm0
+# CHECK-NEXT: 0.     3     0.0    0.0    5.3       vxorps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: 1.     3     1.7    1.7    3.0       vmovaps	%xmm0, %xmm1
+# CHECK-NEXT: 2.     3     2.7    0.3    2.0       vmovups	%xmm1, %xmm2
+# CHECK-NEXT: 3.     3     3.7    0.0    2.0       vmovapd	%xmm2, %xmm3
+# CHECK-NEXT: 4.     3     4.3    0.0    1.3       vmovupd	%xmm3, %xmm4
+# CHECK-NEXT: 5.     3     5.0    0.0    0.3       vmovdqa	%xmm4, %xmm5
+# CHECK-NEXT: 6.     3     6.7    0.0    0.0       vmovdqu	%xmm5, %xmm0

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-4.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-4.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-4.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-4.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
 
 xor %eax, %eax
 mov %eax, %ebx
@@ -9,13 +9,13 @@ mov %edx, %eax
 
 # CHECK:      Iterations:        3
 # CHECK-NEXT: Instructions:      15
-# CHECK-NEXT: Total Cycles:      15
+# CHECK-NEXT: Total Cycles:      11
 # CHECK-NEXT: Total uOps:        15
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.00
-# CHECK-NEXT: IPC:               1.00
-# CHECK-NEXT: Block RThroughput: 1.3
+# CHECK-NEXT: uOps Per Cycle:    1.36
+# CHECK-NEXT: IPC:               1.36
+# CHECK-NEXT: Block RThroughput: 2.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -27,56 +27,78 @@ mov %edx, %eax
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  1      0     0.25                        xorl	%eax, %eax
-# CHECK-NEXT:  1      1     0.33                        movl	%eax, %ebx
-# CHECK-NEXT:  1      1     0.33                        movl	%ebx, %ecx
-# CHECK-NEXT:  1      1     0.33                        movl	%ecx, %edx
-# CHECK-NEXT:  1      1     0.33                        movl	%edx, %eax
+# CHECK-NEXT:  1      1     0.50                        movl	%eax, %ebx
+# CHECK-NEXT:  1      1     0.50                        movl	%ebx, %ecx
+# CHECK-NEXT:  1      1     0.50                        movl	%ecx, %edx
+# CHECK-NEXT:  1      1     0.50                        movl	%edx, %eax
 
 # CHECK:      Register File statistics:
-# CHECK-NEXT: Total number of mappings created:    18
-# CHECK-NEXT: Max number of mappings used:         15
+# CHECK-NEXT: Total number of mappings created:    12
+# CHECK-NEXT: Max number of mappings used:         11
+
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 12
+# CHECK-NEXT:    Max number of mappings used:      11
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.33   1.33    -     1.33    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     xorl	%eax, %eax
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     movl	%eax, %ebx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     movl	%ebx, %ecx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     movl	%ecx, %edx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     movl	%edx, %eax
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorl	%eax, %eax
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     movl	%eax, %ebx
+# CHECK-NEXT:  -      -      -      -      -     0.67   0.33    -      -      -      -      -      -      -      -      -      -      -      -      -     movl	%ebx, %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.33   0.67    -      -      -      -      -      -      -      -      -      -      -      -      -     movl	%ecx, %edx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     movl	%edx, %eax
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     01234
+# CHECK-NEXT:                     0
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DR   .    .   .   xorl	%eax, %eax
-# CHECK-NEXT: [0,1]     DeER .    .   .   movl	%eax, %ebx
-# CHECK-NEXT: [0,2]     D=eER.    .   .   movl	%ebx, %ecx
-# CHECK-NEXT: [0,3]     D==eER    .   .   movl	%ecx, %edx
-# CHECK-NEXT: [0,4]     .D==eER   .   .   movl	%edx, %eax
-# CHECK-NEXT: [1,0]     .D===ER   .   .   xorl	%eax, %eax
-# CHECK-NEXT: [1,1]     .D===eER  .   .   movl	%eax, %ebx
-# CHECK-NEXT: [1,2]     .D====eER .   .   movl	%ebx, %ecx
-# CHECK-NEXT: [1,3]     . D====eER.   .   movl	%ecx, %edx
-# CHECK-NEXT: [1,4]     . D=====eER   .   movl	%edx, %eax
-# CHECK-NEXT: [2,0]     . D======ER   .   xorl	%eax, %eax
-# CHECK-NEXT: [2,1]     . D======eER  .   movl	%eax, %ebx
-# CHECK-NEXT: [2,2]     .  D======eER .   movl	%ebx, %ecx
-# CHECK-NEXT: [2,3]     .  D=======eER.   movl	%ecx, %edx
-# CHECK-NEXT: [2,4]     .  D========eER   movl	%edx, %eax
+# CHECK:      [0,0]     DR   .    .   xorl	%eax, %eax
+# CHECK-NEXT: [0,1]     DeER .    .   movl	%eax, %ebx
+# CHECK-NEXT: [0,2]     D=eER.    .   movl	%ebx, %ecx
+# CHECK-NEXT: [0,3]     D==eER    .   movl	%ecx, %edx
+# CHECK-NEXT: [0,4]     .D==eER   .   movl	%edx, %eax
+# CHECK-NEXT: [1,0]     .D----R   .   xorl	%eax, %eax
+# CHECK-NEXT: [1,1]     .DeE--R   .   movl	%eax, %ebx
+# CHECK-NEXT: [1,2]     .D=eE-R   .   movl	%ebx, %ecx
+# CHECK-NEXT: [1,3]     . D=eE-R  .   movl	%ecx, %edx
+# CHECK-NEXT: [1,4]     . D==eER  .   movl	%edx, %eax
+# CHECK-NEXT: [2,0]     . D----R  .   xorl	%eax, %eax
+# CHECK-NEXT: [2,1]     . D==eER  .   movl	%eax, %ebx
+# CHECK-NEXT: [2,2]     .  D==eER .   movl	%ebx, %ecx
+# CHECK-NEXT: [2,3]     .  D===eER.   movl	%ecx, %edx
+# CHECK-NEXT: [2,4]     .  D====eER   movl	%edx, %eax
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -85,8 +107,8 @@ mov %edx, %eax
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     3.7    0.0    0.0       xorl	%eax, %eax
-# CHECK-NEXT: 1.     3     4.0    0.3    0.0       movl	%eax, %ebx
-# CHECK-NEXT: 2.     3     4.7    0.0    0.0       movl	%ebx, %ecx
-# CHECK-NEXT: 3.     3     5.3    0.0    0.0       movl	%ecx, %edx
-# CHECK-NEXT: 4.     3     6.0    0.0    0.0       movl	%edx, %eax
+# CHECK-NEXT: 0.     3     0.0    0.0    2.7       xorl	%eax, %eax
+# CHECK-NEXT: 1.     3     1.7    1.7    0.7       movl	%eax, %ebx
+# CHECK-NEXT: 2.     3     2.3    0.0    0.3       movl	%ebx, %ecx
+# CHECK-NEXT: 3.     3     3.0    0.0    0.3       movl	%ecx, %edx
+# CHECK-NEXT: 4.     3     3.7    0.0    0.0       movl	%edx, %eax

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-5.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-5.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-5.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-5.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=3 -timeline -register-file-stats < %s | FileCheck %s
 
 xor %rax, %rax
 mov %rax, %rbx
@@ -9,13 +9,13 @@ mov %rdx, %rax
 
 # CHECK:      Iterations:        3
 # CHECK-NEXT: Instructions:      15
-# CHECK-NEXT: Total Cycles:      15
+# CHECK-NEXT: Total Cycles:      11
 # CHECK-NEXT: Total uOps:        15
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    1.00
-# CHECK-NEXT: IPC:               1.00
-# CHECK-NEXT: Block RThroughput: 1.3
+# CHECK-NEXT: uOps Per Cycle:    1.36
+# CHECK-NEXT: IPC:               1.36
+# CHECK-NEXT: Block RThroughput: 2.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -27,56 +27,78 @@ mov %rdx, %rax
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  1      0     0.25                        xorq	%rax, %rax
-# CHECK-NEXT:  1      1     0.33                        movq	%rax, %rbx
-# CHECK-NEXT:  1      1     0.33                        movq	%rbx, %rcx
-# CHECK-NEXT:  1      1     0.33                        movq	%rcx, %rdx
-# CHECK-NEXT:  1      1     0.33                        movq	%rdx, %rax
+# CHECK-NEXT:  1      1     0.50                        movq	%rax, %rbx
+# CHECK-NEXT:  1      1     0.50                        movq	%rbx, %rcx
+# CHECK-NEXT:  1      1     0.50                        movq	%rcx, %rdx
+# CHECK-NEXT:  1      1     0.50                        movq	%rdx, %rax
 
 # CHECK:      Register File statistics:
-# CHECK-NEXT: Total number of mappings created:    18
-# CHECK-NEXT: Max number of mappings used:         15
+# CHECK-NEXT: Total number of mappings created:    12
+# CHECK-NEXT: Max number of mappings used:         11
+
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 12
+# CHECK-NEXT:    Max number of mappings used:      11
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.33   1.33    -     1.33    -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     xorq	%rax, %rax
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     movq	%rax, %rbx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     movq	%rbx, %rcx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     movq	%rcx, %rdx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     movq	%rdx, %rax
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xorq	%rax, %rax
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     movq	%rax, %rbx
+# CHECK-NEXT:  -      -      -      -      -     0.67   0.33    -      -      -      -      -      -      -      -      -      -      -      -      -     movq	%rbx, %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.33   0.67    -      -      -      -      -      -      -      -      -      -      -      -      -     movq	%rcx, %rdx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     movq	%rdx, %rax
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     01234
+# CHECK-NEXT:                     0
 # CHECK-NEXT: Index     0123456789
 
-# CHECK:      [0,0]     DR   .    .   .   xorq	%rax, %rax
-# CHECK-NEXT: [0,1]     DeER .    .   .   movq	%rax, %rbx
-# CHECK-NEXT: [0,2]     D=eER.    .   .   movq	%rbx, %rcx
-# CHECK-NEXT: [0,3]     D==eER    .   .   movq	%rcx, %rdx
-# CHECK-NEXT: [0,4]     .D==eER   .   .   movq	%rdx, %rax
-# CHECK-NEXT: [1,0]     .D===ER   .   .   xorq	%rax, %rax
-# CHECK-NEXT: [1,1]     .D===eER  .   .   movq	%rax, %rbx
-# CHECK-NEXT: [1,2]     .D====eER .   .   movq	%rbx, %rcx
-# CHECK-NEXT: [1,3]     . D====eER.   .   movq	%rcx, %rdx
-# CHECK-NEXT: [1,4]     . D=====eER   .   movq	%rdx, %rax
-# CHECK-NEXT: [2,0]     . D======ER   .   xorq	%rax, %rax
-# CHECK-NEXT: [2,1]     . D======eER  .   movq	%rax, %rbx
-# CHECK-NEXT: [2,2]     .  D======eER .   movq	%rbx, %rcx
-# CHECK-NEXT: [2,3]     .  D=======eER.   movq	%rcx, %rdx
-# CHECK-NEXT: [2,4]     .  D========eER   movq	%rdx, %rax
+# CHECK:      [0,0]     DR   .    .   xorq	%rax, %rax
+# CHECK-NEXT: [0,1]     DeER .    .   movq	%rax, %rbx
+# CHECK-NEXT: [0,2]     D=eER.    .   movq	%rbx, %rcx
+# CHECK-NEXT: [0,3]     D==eER    .   movq	%rcx, %rdx
+# CHECK-NEXT: [0,4]     .D==eER   .   movq	%rdx, %rax
+# CHECK-NEXT: [1,0]     .D----R   .   xorq	%rax, %rax
+# CHECK-NEXT: [1,1]     .DeE--R   .   movq	%rax, %rbx
+# CHECK-NEXT: [1,2]     .D=eE-R   .   movq	%rbx, %rcx
+# CHECK-NEXT: [1,3]     . D=eE-R  .   movq	%rcx, %rdx
+# CHECK-NEXT: [1,4]     . D==eER  .   movq	%rdx, %rax
+# CHECK-NEXT: [2,0]     . D----R  .   xorq	%rax, %rax
+# CHECK-NEXT: [2,1]     . D==eER  .   movq	%rax, %rbx
+# CHECK-NEXT: [2,2]     .  D==eER .   movq	%rbx, %rcx
+# CHECK-NEXT: [2,3]     .  D===eER.   movq	%rcx, %rdx
+# CHECK-NEXT: [2,4]     .  D====eER   movq	%rdx, %rax
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -85,8 +107,8 @@ mov %rdx, %rax
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     3.7    0.0    0.0       xorq	%rax, %rax
-# CHECK-NEXT: 1.     3     4.0    0.3    0.0       movq	%rax, %rbx
-# CHECK-NEXT: 2.     3     4.7    0.0    0.0       movq	%rbx, %rcx
-# CHECK-NEXT: 3.     3     5.3    0.0    0.0       movq	%rcx, %rdx
-# CHECK-NEXT: 4.     3     6.0    0.0    0.0       movq	%rdx, %rax
+# CHECK-NEXT: 0.     3     0.0    0.0    2.7       xorq	%rax, %rax
+# CHECK-NEXT: 1.     3     1.7    1.7    0.7       movq	%rax, %rbx
+# CHECK-NEXT: 2.     3     2.3    0.0    0.3       movq	%rbx, %rcx
+# CHECK-NEXT: 3.     3     3.0    0.0    0.3       movq	%rcx, %rdx
+# CHECK-NEXT: 4.     3     3.7    0.0    0.0       movq	%rdx, %rax

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-1.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-1.s Sat Oct 27 13:46:30 2018
@@ -1,17 +1,17 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=5 -instruction-info=false -dispatch-stats -register-file-stats -timeline < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=5 -instruction-info=false -dispatch-stats -register-file-stats -timeline < %s | FileCheck %s
 
 vaddps %xmm0, %xmm0, %xmm0
 vmulps %xmm0, %xmm0, %xmm0
 
 # CHECK:      Iterations:        5
 # CHECK-NEXT: Instructions:      10
-# CHECK-NEXT: Total Cycles:      43
+# CHECK-NEXT: Total Cycles:      53
 # CHECK-NEXT: Total uOps:        10
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.23
-# CHECK-NEXT: IPC:               0.23
+# CHECK-NEXT: uOps Per Cycle:    0.19
+# CHECK-NEXT: IPC:               0.19
 # CHECK-NEXT: Block RThroughput: 1.0
 
 # CHECK:      Dynamic Dispatch Stall Cycles:
@@ -24,47 +24,69 @@ vmulps %xmm0, %xmm0, %xmm0
 
 # CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
 # CHECK-NEXT: [# dispatched], [# cycles]
-# CHECK-NEXT:  0,              40  (93.0%)
-# CHECK-NEXT:  2,              1  (2.3%)
-# CHECK-NEXT:  4,              2  (4.7%)
+# CHECK-NEXT:  0,              50  (94.3%)
+# CHECK-NEXT:  2,              1  (1.9%)
+# CHECK-NEXT:  4,              2  (3.8%)
 
 # CHECK:      Register File statistics:
 # CHECK-NEXT: Total number of mappings created:    10
 # CHECK-NEXT: Max number of mappings used:         10
 
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 10
+# CHECK-NEXT:    Max number of mappings used:      10
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
+
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     2.00    -      -      -      -     1.00   1.00    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     1.00    -      -      -      -      -     vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     1.00    -      -      -      -     vmulps	%xmm0, %xmm0, %xmm0
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789          0123456789
-# CHECK-NEXT: Index     0123456789          0123456789          012
+# CHECK-NEXT:                     0123456789          0123456789          012
+# CHECK-NEXT: Index     0123456789          0123456789          0123456789
 
-# CHECK:      [0,0]     DeeeER    .    .    .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [0,1]     D===eeeeeER    .    .    .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [1,0]     D========eeeER .    .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [1,1]     D===========eeeeeER .    .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [2,0]     .D===============eeeER   .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [2,1]     .D==================eeeeeER   .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [3,0]     .D=======================eeeER.    .    . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [3,1]     .D==========================eeeeeER.    . .   vmulps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [4,0]     . D==============================eeeER  . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [4,1]     . D=================================eeeeeER   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK:      [0,0]     DeeeeeER  .    .    .    .    .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [0,1]     D=====eeeeeER  .    .    .    .    .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [1,0]     D==========eeeeeER  .    .    .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [1,1]     D===============eeeeeER  .    .    .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [2,0]     .D===================eeeeeER  .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [2,1]     .D========================eeeeeER  .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [3,0]     .D=============================eeeeeER  .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [3,1]     .D==================================eeeeeER  .    . .   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [4,0]     . D======================================eeeeeER  . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [4,1]     . D===========================================eeeeeER   vmulps	%xmm0, %xmm0, %xmm0
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -73,5 +95,5 @@ vmulps %xmm0, %xmm0, %xmm0
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     5     16.2   0.2    0.0       vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: 1.     5     19.2   0.0    0.0       vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: 0.     5     20.2   0.2    0.0       vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: 1.     5     25.2   0.0    0.0       vmulps	%xmm0, %xmm0, %xmm0

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-2.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-2.s Sat Oct 27 13:46:30 2018
@@ -1,21 +1,21 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -register-file-size=5 -iterations=5 -instruction-info=false -dispatch-stats -register-file-stats -timeline < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -register-file-size=5 -iterations=5 -instruction-info=false -dispatch-stats -register-file-stats -timeline < %s | FileCheck %s
 
 vaddps %xmm0, %xmm0, %xmm0
 vmulps %xmm0, %xmm0, %xmm0
 
 # CHECK:      Iterations:        5
 # CHECK-NEXT: Instructions:      10
-# CHECK-NEXT: Total Cycles:      43
+# CHECK-NEXT: Total Cycles:      53
 # CHECK-NEXT: Total uOps:        10
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.23
-# CHECK-NEXT: IPC:               0.23
+# CHECK-NEXT: uOps Per Cycle:    0.19
+# CHECK-NEXT: IPC:               0.19
 # CHECK-NEXT: Block RThroughput: 1.0
 
 # CHECK:      Dynamic Dispatch Stall Cycles:
-# CHECK-NEXT: RAT     - Register unavailable:                      20  (46.5%)
+# CHECK-NEXT: RAT     - Register unavailable:                      26  (49.1%)
 # CHECK-NEXT: RCU     - Retire tokens unavailable:                 0
 # CHECK-NEXT: SCHEDQ  - Scheduler full:                            0
 # CHECK-NEXT: LQ      - Load queue full:                           0
@@ -24,47 +24,69 @@ vmulps %xmm0, %xmm0, %xmm0
 
 # CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
 # CHECK-NEXT: [# dispatched], [# cycles]
-# CHECK-NEXT:  0,              36  (83.7%)
-# CHECK-NEXT:  1,              6  (14.0%)
-# CHECK-NEXT:  4,              1  (2.3%)
+# CHECK-NEXT:  0,              46  (86.8%)
+# CHECK-NEXT:  1,              6  (11.3%)
+# CHECK-NEXT:  4,              1  (1.9%)
 
 # CHECK:      Register File statistics:
 # CHECK-NEXT: Total number of mappings created:    10
 # CHECK-NEXT: Max number of mappings used:         5
 
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 10
+# CHECK-NEXT:    Max number of mappings used:      5
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
+
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     2.00    -      -      -      -     1.00   1.00    -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     1.00    -      -      -      -      -     vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     1.00    -      -      -      -     vmulps	%xmm0, %xmm0, %xmm0
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789          0123456789
-# CHECK-NEXT: Index     0123456789          0123456789          012
+# CHECK-NEXT:                     0123456789          0123456789          012
+# CHECK-NEXT: Index     0123456789          0123456789          0123456789
 
-# CHECK:      [0,0]     DeeeER    .    .    .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [0,1]     D===eeeeeER    .    .    .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [1,0]     D========eeeER .    .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [1,1]     D===========eeeeeER .    .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [2,0]     .D===============eeeER   .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [2,1]     .    D==============eeeeeER   .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [3,0]     .    .    D==============eeeER.    .    . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [3,1]     .    .    .  D==============eeeeeER.    . .   vmulps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [4,0]     .    .    .    .  D==============eeeER  . .   vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: [4,1]     .    .    .    .    .D==============eeeeeER   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK:      [0,0]     DeeeeeER  .    .    .    .    .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [0,1]     D=====eeeeeER  .    .    .    .    .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [1,0]     D==========eeeeeER  .    .    .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [1,1]     D===============eeeeeER  .    .    .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [2,0]     .D===================eeeeeER  .    .    .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [2,1]     .    . D==================eeeeeER  .    .    .    . .   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [3,0]     .    .    . D==================eeeeeER  .    .    . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [3,1]     .    .    .    . D==================eeeeeER  .    . .   vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [4,0]     .    .    .    .    . D==================eeeeeER  . .   vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: [4,1]     .    .    .    .    .    . D==================eeeeeER   vmulps	%xmm0, %xmm0, %xmm0
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -73,5 +95,5 @@ vmulps %xmm0, %xmm0, %xmm0
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     5     11.2   0.2    0.0       vaddps	%xmm0, %xmm0, %xmm0
-# CHECK-NEXT: 1.     5     12.2   0.0    0.0       vmulps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: 0.     5     14.0   0.2    0.0       vaddps	%xmm0, %xmm0, %xmm0
+# CHECK-NEXT: 1.     5     15.8   0.0    0.0       vmulps	%xmm0, %xmm0, %xmm0

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-3.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-3.s Sat Oct 27 13:46:30 2018
@@ -1,17 +1,17 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -register-file-size=5 -iterations=2 -dispatch-stats -register-file-stats -timeline < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -register-file-size=5 -iterations=2 -dispatch-stats -register-file-stats -timeline < %s | FileCheck %s
 
 idiv %eax
 
 # CHECK:      Iterations:        2
 # CHECK-NEXT: Instructions:      2
-# CHECK-NEXT: Total Cycles:      55
-# CHECK-NEXT: Total uOps:        2
+# CHECK-NEXT: Total Cycles:      42
+# CHECK-NEXT: Total uOps:        4
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.04
-# CHECK-NEXT: IPC:               0.04
-# CHECK-NEXT: Block RThroughput: 10.0
+# CHECK-NEXT: uOps Per Cycle:    0.10
+# CHECK-NEXT: IPC:               0.05
+# CHECK-NEXT: Block RThroughput: 25.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -22,10 +22,10 @@ idiv %eax
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      25    10.00                 U     idivl	%eax
+# CHECK-NEXT:  2      14    25.00                 U     idivl	%eax
 
 # CHECK:      Dynamic Dispatch Stall Cycles:
-# CHECK-NEXT: RAT     - Register unavailable:                      27  (49.1%)
+# CHECK-NEXT: RAT     - Register unavailable:                      16  (38.1%)
 # CHECK-NEXT: RCU     - Retire tokens unavailable:                 0
 # CHECK-NEXT: SCHEDQ  - Scheduler full:                            0
 # CHECK-NEXT: LQ      - Load queue full:                           0
@@ -34,37 +34,59 @@ idiv %eax
 
 # CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
 # CHECK-NEXT: [# dispatched], [# cycles]
-# CHECK-NEXT:  0,              53  (96.4%)
-# CHECK-NEXT:  1,              2  (3.6%)
+# CHECK-NEXT:  0,              40  (95.2%)
+# CHECK-NEXT:  2,              2  (4.8%)
 
 # CHECK:      Register File statistics:
 # CHECK-NEXT: Total number of mappings created:    6
 # CHECK-NEXT: Max number of mappings used:         3
 
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 6
+# CHECK-NEXT:    Max number of mappings used:      3
+
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -     25.00   -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT: 10.00   -     1.00    -      -      -      -      -     idivl	%eax
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -     25.00   -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     idivl	%eax
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789          0123456789          01234
-# CHECK-NEXT: Index     0123456789          0123456789          0123456789
+# CHECK-NEXT:                     0123456789          0123456789
+# CHECK-NEXT: Index     0123456789          0123456789          01
 
-# CHECK:      [0,0]     DeeeeeeeeeeeeeeeeeeeeeeeeeER  .    .    .    .    .   .   idivl	%eax
-# CHECK-NEXT: [1,0]     .    .    .    .    .    . DeeeeeeeeeeeeeeeeeeeeeeeeeER   idivl	%eax
+# CHECK:      [0,0]     DeeeeeeeeeeeeeeER   .    .    .    .    ..   idivl	%eax
+# CHECK-NEXT: [1,0]     .    .    .    .D=========eeeeeeeeeeeeeeER   idivl	%eax
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -73,4 +95,4 @@ idiv %eax
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     2     1.0    1.0    0.0       idivl	%eax
+# CHECK-NEXT: 0.     2     5.5    5.5    0.0       idivl	%eax

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-4.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-4.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-4.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-4.s Sat Oct 27 13:46:30 2018
@@ -1,17 +1,17 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=22 -dispatch-stats -register-file-stats -resource-pressure=false -timeline -timeline-max-iterations=3 < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=22 -dispatch-stats -register-file-stats -resource-pressure=false -timeline -timeline-max-iterations=3 < %s | FileCheck %s
 
 idiv %eax
 
 # CHECK:      Iterations:        22
 # CHECK-NEXT: Instructions:      22
-# CHECK-NEXT: Total Cycles:      553
-# CHECK-NEXT: Total uOps:        22
+# CHECK-NEXT: Total Cycles:      542
+# CHECK-NEXT: Total uOps:        44
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.04
+# CHECK-NEXT: uOps Per Cycle:    0.08
 # CHECK-NEXT: IPC:               0.04
-# CHECK-NEXT: Block RThroughput: 10.0
+# CHECK-NEXT: Block RThroughput: 25.0
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -22,7 +22,7 @@ idiv %eax
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      25    10.00                 U     idivl	%eax
+# CHECK-NEXT:  2      14    25.00                 U     idivl	%eax
 
 # CHECK:      Dynamic Dispatch Stall Cycles:
 # CHECK-NEXT: RAT     - Register unavailable:                      0
@@ -34,21 +34,30 @@ idiv %eax
 
 # CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
 # CHECK-NEXT: [# dispatched], [# cycles]
-# CHECK-NEXT:  0,              547  (98.9%)
-# CHECK-NEXT:  2,              1  (0.2%)
-# CHECK-NEXT:  4,              5  (0.9%)
+# CHECK-NEXT:  0,              531  (98.0%)
+# CHECK-NEXT:  4,              11  (2.0%)
 
 # CHECK:      Register File statistics:
 # CHECK-NEXT: Total number of mappings created:    66
 # CHECK-NEXT: Max number of mappings used:         66
 
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 66
+# CHECK-NEXT:    Max number of mappings used:      66
+
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789          0123456789          0123456789          01234567
-# CHECK-NEXT: Index     0123456789          0123456789          0123456789          0123456789
+# CHECK-NEXT:                     0123456789          0123456789          0123456789
+# CHECK-NEXT: Index     0123456789          0123456789          0123456789          0123456
 
-# CHECK:      [0,0]     DeeeeeeeeeeeeeeeeeeeeeeeeeER  .    .    .    .    .    .    .    .    .    . .   idivl	%eax
-# CHECK-NEXT: [1,0]     D=========================eeeeeeeeeeeeeeeeeeeeeeeeeER  .    .    .    .    . .   idivl	%eax
-# CHECK-NEXT: [2,0]     D==================================================eeeeeeeeeeeeeeeeeeeeeeeeeER   idivl	%eax
+# CHECK:      [0,0]     DeeeeeeeeeeeeeeER   .    .    .    .    .    .    .    .    .    ..   idivl	%eax
+# CHECK-NEXT: [1,0]     D=========================eeeeeeeeeeeeeeER   .    .    .    .    ..   idivl	%eax
+# CHECK-NEXT: [2,0]     .D=================================================eeeeeeeeeeeeeeER   idivl	%eax
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -57,4 +66,4 @@ idiv %eax
 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
 
 # CHECK:            [0]    [1]    [2]    [3]
-# CHECK-NEXT: 0.     3     26.0   0.3    0.0       idivl	%eax
+# CHECK-NEXT: 0.     3     25.7   7.7    0.0       idivl	%eax

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-5.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-5.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-5.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/register-files-5.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=1 -resource-pressure=false -instruction-info=false -dispatch-stats -register-file-stats -timeline < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -iterations=1 -resource-pressure=false -instruction-info=false -dispatch-stats -register-file-stats -timeline < %s | FileCheck %s
 
   vdivps %ymm0, %ymm0, %ymm1
   vaddps %ymm0, %ymm0, %ymm2
@@ -37,13 +37,13 @@
 
 # CHECK:      Iterations:        1
 # CHECK-NEXT: Instructions:      33
-# CHECK-NEXT: Total Cycles:      37
-# CHECK-NEXT: Total uOps:        35
+# CHECK-NEXT: Total Cycles:      70
+# CHECK-NEXT: Total uOps:        66
 
 # CHECK:      Dispatch Width:    4
-# CHECK-NEXT: uOps Per Cycle:    0.95
-# CHECK-NEXT: IPC:               0.89
-# CHECK-NEXT: Block RThroughput: 32.0
+# CHECK-NEXT: uOps Per Cycle:    0.94
+# CHECK-NEXT: IPC:               0.47
+# CHECK-NEXT: Block RThroughput: 64.0
 
 # CHECK:      Dynamic Dispatch Stall Cycles:
 # CHECK-NEXT: RAT     - Register unavailable:                      0
@@ -55,51 +55,61 @@
 
 # CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
 # CHECK-NEXT: [# dispatched], [# cycles]
-# CHECK-NEXT:  0,              28  (75.7%)
-# CHECK-NEXT:  3,              1  (2.7%)
-# CHECK-NEXT:  4,              8  (21.6%)
+# CHECK-NEXT:  0,              53  (75.7%)
+# CHECK-NEXT:  2,              1  (1.4%)
+# CHECK-NEXT:  4,              16  (22.9%)
 
 # CHECK:      Register File statistics:
-# CHECK-NEXT: Total number of mappings created:    33
-# CHECK-NEXT: Max number of mappings used:         33
+# CHECK-NEXT: Total number of mappings created:    66
+# CHECK-NEXT: Max number of mappings used:         54
+
+# CHECK:      *  Register File #1 -- PdFpuPRF:
+# CHECK-NEXT:    Number of physical registers:     160
+# CHECK-NEXT:    Total number of mappings created: 66
+# CHECK-NEXT:    Max number of mappings used:      54
+
+# CHECK:      *  Register File #2 -- PdIntegerPRF:
+# CHECK-NEXT:    Number of physical registers:     96
+# CHECK-NEXT:    Total number of mappings created: 0
+# CHECK-NEXT:    Max number of mappings used:      0
 
 # CHECK:      Timeline view:
-# CHECK-NEXT:                     0123456789          0123456
-# CHECK-NEXT: Index     0123456789          0123456789
+# CHECK-NEXT:                     0123456789          0123456789          0123456789
+# CHECK-NEXT: Index     0123456789          0123456789          0123456789          0123456789
 
-# CHECK:      [0,0]     DeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER   ..   vdivps	%ymm0, %ymm0, %ymm1
-# CHECK-NEXT: [0,1]     DeeeE--------------------------R   ..   vaddps	%ymm0, %ymm0, %ymm2
-# CHECK-NEXT: [0,2]     .DeeeE-------------------------R   ..   vaddps	%ymm0, %ymm0, %ymm3
-# CHECK-NEXT: [0,3]     .D=eeeE------------------------R   ..   vaddps	%ymm0, %ymm0, %ymm4
-# CHECK-NEXT: [0,4]     .D==eeeE-----------------------R   ..   vaddps	%ymm0, %ymm0, %ymm5
-# CHECK-NEXT: [0,5]     .D===eeeE----------------------R   ..   vaddps	%ymm0, %ymm0, %ymm6
-# CHECK-NEXT: [0,6]     . D===eeeE---------------------R   ..   vaddps	%ymm0, %ymm0, %ymm7
-# CHECK-NEXT: [0,7]     . D=====eeeE-------------------R   ..   vaddps	%ymm0, %ymm0, %ymm8
-# CHECK-NEXT: [0,8]     . D======eeeE------------------R   ..   vaddps	%ymm0, %ymm0, %ymm9
-# CHECK-NEXT: [0,9]     . D=======eeeE-----------------R   ..   vaddps	%ymm0, %ymm0, %ymm10
-# CHECK-NEXT: [0,10]    .  D=======eeeE----------------R   ..   vaddps	%ymm0, %ymm0, %ymm11
-# CHECK-NEXT: [0,11]    .  D========eeeE---------------R   ..   vaddps	%ymm0, %ymm0, %ymm12
-# CHECK-NEXT: [0,12]    .  D=========eeeE--------------R   ..   vaddps	%ymm0, %ymm0, %ymm13
-# CHECK-NEXT: [0,13]    .  D===========eeeE------------R   ..   vaddps	%ymm0, %ymm0, %ymm14
-# CHECK-NEXT: [0,14]    .   D===========eeeE-----------R   ..   vaddps	%ymm0, %ymm0, %ymm15
-# CHECK-NEXT: [0,15]    .   D==eeeE--------------------R   ..   vaddps	%ymm2, %ymm0, %ymm0
-# CHECK-NEXT: [0,16]    .   D=========eeeE-------------R   ..   vaddps	%ymm2, %ymm0, %ymm3
-# CHECK-NEXT: [0,17]    .   D============eeeE----------R   ..   vaddps	%ymm2, %ymm0, %ymm4
-# CHECK-NEXT: [0,18]    .    D============eeeE---------R   ..   vaddps	%ymm2, %ymm0, %ymm5
-# CHECK-NEXT: [0,19]    .    D=============eeeE--------R   ..   vaddps	%ymm2, %ymm0, %ymm6
-# CHECK-NEXT: [0,20]    .    D==============eeeE-------R   ..   vaddps	%ymm2, %ymm0, %ymm7
-# CHECK-NEXT: [0,21]    .    D===============eeeE------R   ..   vaddps	%ymm2, %ymm0, %ymm8
-# CHECK-NEXT: [0,22]    .    .D===============eeeE-----R   ..   vaddps	%ymm2, %ymm0, %ymm9
-# CHECK-NEXT: [0,23]    .    .D================eeeE----R   ..   vaddps	%ymm2, %ymm0, %ymm10
-# CHECK-NEXT: [0,24]    .    .D=================eeeE---R   ..   vaddps	%ymm2, %ymm0, %ymm11
-# CHECK-NEXT: [0,25]    .    .D==================eeeE--R   ..   vaddps	%ymm2, %ymm0, %ymm12
-# CHECK-NEXT: [0,26]    .    . D==================eeeE-R   ..   vaddps	%ymm2, %ymm0, %ymm13
-# CHECK-NEXT: [0,27]    .    . D===================eeeER   ..   vaddps	%ymm2, %ymm0, %ymm14
-# CHECK-NEXT: [0,28]    .    . D====================eeeER  ..   vaddps	%ymm2, %ymm0, %ymm15
-# CHECK-NEXT: [0,29]    .    . D=====================eeeER ..   vaddps	%ymm3, %ymm0, %ymm2
-# CHECK-NEXT: [0,30]    .    .  D=====================eeeER..   vaddps	%ymm3, %ymm0, %ymm4
-# CHECK-NEXT: [0,31]    .    .  D======================eeeER.   vaddps	%ymm3, %ymm0, %ymm5
-# CHECK-NEXT: [0,32]    .    .  D=======================eeeER   vaddps	%ymm3, %ymm0, %ymm6
+# CHECK:      [0,0]     DeeeeeeeeeER   .    .    .    .    .    .    .    .    .    .    .   .   vdivps	%ymm0, %ymm0, %ymm1
+# CHECK-NEXT: [0,1]     DeeeeeE----R   .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm2
+# CHECK-NEXT: [0,2]     .D=eeeeeE--R   .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm3
+# CHECK-NEXT: [0,3]     .D===eeeeeER   .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm4
+# CHECK-NEXT: [0,4]     . D====eeeeeER .    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm5
+# CHECK-NEXT: [0,5]     . D======eeeeeER    .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm6
+# CHECK-NEXT: [0,6]     .  D=======eeeeeER  .    .    .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm7
+# CHECK-NEXT: [0,7]     .  D===========eeeeeER   .    .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm8
+# CHECK-NEXT: [0,8]     .   D============eeeeeER .    .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm9
+# CHECK-NEXT: [0,9]     .   D==============eeeeeER    .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm10
+# CHECK-NEXT: [0,10]    .    D===============eeeeeER  .    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm11
+# CHECK-NEXT: [0,11]    .    D=================eeeeeER.    .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm12
+# CHECK-NEXT: [0,12]    .    .D==================eeeeeER   .    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm13
+# CHECK-NEXT: [0,13]    .    .D======================eeeeeER    .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm14
+# CHECK-NEXT: [0,14]    .    . D=======================eeeeeER  .    .    .    .    .    .   .   vaddps	%ymm0, %ymm0, %ymm15
+# CHECK-NEXT: [0,15]    .    . D=====eeeeeE------------------R  .    .    .    .    .    .   .   vaddps	%ymm2, %ymm0, %ymm0
+# CHECK-NEXT: [0,16]    .    .  D==================eeeeeE----R  .    .    .    .    .    .   .   vaddps	%ymm2, %ymm0, %ymm3
+# CHECK-NEXT: [0,17]    .    .  D========================eeeeeER.    .    .    .    .    .   .   vaddps	%ymm2, %ymm0, %ymm4
+# CHECK-NEXT: [0,18]    .    .   D=========================eeeeeER   .    .    .    .    .   .   vaddps	%ymm2, %ymm0, %ymm5
+# CHECK-NEXT: [0,19]    .    .   D===========================eeeeeER .    .    .    .    .   .   vaddps	%ymm2, %ymm0, %ymm6
+# CHECK-NEXT: [0,20]    .    .    D============================eeeeeER    .    .    .    .   .   vaddps	%ymm2, %ymm0, %ymm7
+# CHECK-NEXT: [0,21]    .    .    D==============================eeeeeER  .    .    .    .   .   vaddps	%ymm2, %ymm0, %ymm8
+# CHECK-NEXT: [0,22]    .    .    .D===============================eeeeeER.    .    .    .   .   vaddps	%ymm2, %ymm0, %ymm9
+# CHECK-NEXT: [0,23]    .    .    .D=================================eeeeeER   .    .    .   .   vaddps	%ymm2, %ymm0, %ymm10
+# CHECK-NEXT: [0,24]    .    .    . D==================================eeeeeER .    .    .   .   vaddps	%ymm2, %ymm0, %ymm11
+# CHECK-NEXT: [0,25]    .    .    . D====================================eeeeeER    .    .   .   vaddps	%ymm2, %ymm0, %ymm12
+# CHECK-NEXT: [0,26]    .    .    .  D=====================================eeeeeER  .    .   .   vaddps	%ymm2, %ymm0, %ymm13
+# CHECK-NEXT: [0,27]    .    .    .  D=======================================eeeeeER.    .   .   vaddps	%ymm2, %ymm0, %ymm14
+# CHECK-NEXT: [0,28]    .    .    .   D========================================eeeeeER   .   .   vaddps	%ymm2, %ymm0, %ymm15
+# CHECK-NEXT: [0,29]    .    .    .   D==========================================eeeeeER .   .   vaddps	%ymm3, %ymm0, %ymm2
+# CHECK-NEXT: [0,30]    .    .    .    D===========================================eeeeeER   .   vaddps	%ymm3, %ymm0, %ymm4
+# CHECK-NEXT: [0,31]    .    .    .    D=============================================eeeeeER .   vaddps	%ymm3, %ymm0, %ymm5
+# CHECK-NEXT: [0,32]    .    .    .    .D==============================================eeeeeER   vaddps	%ymm3, %ymm0, %ymm6
 
 # CHECK:      Average Wait times (based on the timeline view):
 # CHECK-NEXT: [0]: Executions
@@ -109,35 +119,35 @@
 
 # CHECK:            [0]    [1]    [2]    [3]
 # CHECK-NEXT: 0.     1     1.0    1.0    0.0       vdivps	%ymm0, %ymm0, %ymm1
-# CHECK-NEXT: 1.     1     1.0    1.0    26.0      vaddps	%ymm0, %ymm0, %ymm2
-# CHECK-NEXT: 2.     1     1.0    1.0    25.0      vaddps	%ymm0, %ymm0, %ymm3
-# CHECK-NEXT: 3.     1     2.0    2.0    24.0      vaddps	%ymm0, %ymm0, %ymm4
-# CHECK-NEXT: 4.     1     3.0    3.0    23.0      vaddps	%ymm0, %ymm0, %ymm5
-# CHECK-NEXT: 5.     1     4.0    4.0    22.0      vaddps	%ymm0, %ymm0, %ymm6
-# CHECK-NEXT: 6.     1     4.0    4.0    21.0      vaddps	%ymm0, %ymm0, %ymm7
-# CHECK-NEXT: 7.     1     6.0    6.0    19.0      vaddps	%ymm0, %ymm0, %ymm8
-# CHECK-NEXT: 8.     1     7.0    7.0    18.0      vaddps	%ymm0, %ymm0, %ymm9
-# CHECK-NEXT: 9.     1     8.0    8.0    17.0      vaddps	%ymm0, %ymm0, %ymm10
-# CHECK-NEXT: 10.    1     8.0    8.0    16.0      vaddps	%ymm0, %ymm0, %ymm11
-# CHECK-NEXT: 11.    1     9.0    9.0    15.0      vaddps	%ymm0, %ymm0, %ymm12
-# CHECK-NEXT: 12.    1     10.0   10.0   14.0      vaddps	%ymm0, %ymm0, %ymm13
-# CHECK-NEXT: 13.    1     12.0   12.0   12.0      vaddps	%ymm0, %ymm0, %ymm14
-# CHECK-NEXT: 14.    1     12.0   12.0   11.0      vaddps	%ymm0, %ymm0, %ymm15
-# CHECK-NEXT: 15.    1     3.0    3.0    20.0      vaddps	%ymm2, %ymm0, %ymm0
-# CHECK-NEXT: 16.    1     10.0   4.0    13.0      vaddps	%ymm2, %ymm0, %ymm3
-# CHECK-NEXT: 17.    1     13.0   7.0    10.0      vaddps	%ymm2, %ymm0, %ymm4
-# CHECK-NEXT: 18.    1     13.0   8.0    9.0       vaddps	%ymm2, %ymm0, %ymm5
-# CHECK-NEXT: 19.    1     14.0   9.0    8.0       vaddps	%ymm2, %ymm0, %ymm6
-# CHECK-NEXT: 20.    1     15.0   10.0   7.0       vaddps	%ymm2, %ymm0, %ymm7
-# CHECK-NEXT: 21.    1     16.0   11.0   6.0       vaddps	%ymm2, %ymm0, %ymm8
-# CHECK-NEXT: 22.    1     16.0   12.0   5.0       vaddps	%ymm2, %ymm0, %ymm9
-# CHECK-NEXT: 23.    1     17.0   13.0   4.0       vaddps	%ymm2, %ymm0, %ymm10
-# CHECK-NEXT: 24.    1     18.0   14.0   3.0       vaddps	%ymm2, %ymm0, %ymm11
-# CHECK-NEXT: 25.    1     19.0   15.0   2.0       vaddps	%ymm2, %ymm0, %ymm12
-# CHECK-NEXT: 26.    1     19.0   16.0   1.0       vaddps	%ymm2, %ymm0, %ymm13
-# CHECK-NEXT: 27.    1     20.0   17.0   0.0       vaddps	%ymm2, %ymm0, %ymm14
-# CHECK-NEXT: 28.    1     21.0   18.0   0.0       vaddps	%ymm2, %ymm0, %ymm15
-# CHECK-NEXT: 29.    1     22.0   12.0   0.0       vaddps	%ymm3, %ymm0, %ymm2
-# CHECK-NEXT: 30.    1     22.0   13.0   0.0       vaddps	%ymm3, %ymm0, %ymm4
-# CHECK-NEXT: 31.    1     23.0   14.0   0.0       vaddps	%ymm3, %ymm0, %ymm5
-# CHECK-NEXT: 32.    1     24.0   15.0   0.0       vaddps	%ymm3, %ymm0, %ymm6
+# CHECK-NEXT: 1.     1     1.0    1.0    4.0       vaddps	%ymm0, %ymm0, %ymm2
+# CHECK-NEXT: 2.     1     2.0    2.0    2.0       vaddps	%ymm0, %ymm0, %ymm3
+# CHECK-NEXT: 3.     1     4.0    4.0    0.0       vaddps	%ymm0, %ymm0, %ymm4
+# CHECK-NEXT: 4.     1     5.0    5.0    0.0       vaddps	%ymm0, %ymm0, %ymm5
+# CHECK-NEXT: 5.     1     7.0    7.0    0.0       vaddps	%ymm0, %ymm0, %ymm6
+# CHECK-NEXT: 6.     1     8.0    8.0    0.0       vaddps	%ymm0, %ymm0, %ymm7
+# CHECK-NEXT: 7.     1     12.0   12.0   0.0       vaddps	%ymm0, %ymm0, %ymm8
+# CHECK-NEXT: 8.     1     13.0   13.0   0.0       vaddps	%ymm0, %ymm0, %ymm9
+# CHECK-NEXT: 9.     1     15.0   15.0   0.0       vaddps	%ymm0, %ymm0, %ymm10
+# CHECK-NEXT: 10.    1     16.0   16.0   0.0       vaddps	%ymm0, %ymm0, %ymm11
+# CHECK-NEXT: 11.    1     18.0   18.0   0.0       vaddps	%ymm0, %ymm0, %ymm12
+# CHECK-NEXT: 12.    1     19.0   19.0   0.0       vaddps	%ymm0, %ymm0, %ymm13
+# CHECK-NEXT: 13.    1     23.0   23.0   0.0       vaddps	%ymm0, %ymm0, %ymm14
+# CHECK-NEXT: 14.    1     24.0   24.0   0.0       vaddps	%ymm0, %ymm0, %ymm15
+# CHECK-NEXT: 15.    1     6.0    6.0    18.0      vaddps	%ymm2, %ymm0, %ymm0
+# CHECK-NEXT: 16.    1     19.0   9.0    4.0       vaddps	%ymm2, %ymm0, %ymm3
+# CHECK-NEXT: 17.    1     25.0   15.0   0.0       vaddps	%ymm2, %ymm0, %ymm4
+# CHECK-NEXT: 18.    1     26.0   17.0   0.0       vaddps	%ymm2, %ymm0, %ymm5
+# CHECK-NEXT: 19.    1     28.0   19.0   0.0       vaddps	%ymm2, %ymm0, %ymm6
+# CHECK-NEXT: 20.    1     29.0   21.0   0.0       vaddps	%ymm2, %ymm0, %ymm7
+# CHECK-NEXT: 21.    1     31.0   23.0   0.0       vaddps	%ymm2, %ymm0, %ymm8
+# CHECK-NEXT: 22.    1     32.0   25.0   0.0       vaddps	%ymm2, %ymm0, %ymm9
+# CHECK-NEXT: 23.    1     34.0   27.0   0.0       vaddps	%ymm2, %ymm0, %ymm10
+# CHECK-NEXT: 24.    1     35.0   29.0   0.0       vaddps	%ymm2, %ymm0, %ymm11
+# CHECK-NEXT: 25.    1     37.0   31.0   0.0       vaddps	%ymm2, %ymm0, %ymm12
+# CHECK-NEXT: 26.    1     38.0   33.0   0.0       vaddps	%ymm2, %ymm0, %ymm13
+# CHECK-NEXT: 27.    1     40.0   35.0   0.0       vaddps	%ymm2, %ymm0, %ymm14
+# CHECK-NEXT: 28.    1     41.0   37.0   0.0       vaddps	%ymm2, %ymm0, %ymm15
+# CHECK-NEXT: 29.    1     43.0   25.0   0.0       vaddps	%ymm3, %ymm0, %ymm2
+# CHECK-NEXT: 30.    1     44.0   27.0   0.0       vaddps	%ymm3, %ymm0, %ymm4
+# CHECK-NEXT: 31.    1     46.0   29.0   0.0       vaddps	%ymm3, %ymm0, %ymm5
+# CHECK-NEXT: 32.    1     47.0   31.0   0.0       vaddps	%ymm3, %ymm0, %ymm6

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-3dnow.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-3dnow.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-3dnow.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-3dnow.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 femms
 
@@ -87,122 +87,134 @@ pswapd      (%rax), %mm2
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  31     31    10.33   *      *      U     femms
-# CHECK-NEXT:  1      3     1.00                        pavgusb	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   pavgusb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pf2id	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pf2id	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pf2iw	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pf2iw	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfacc	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfacc	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfadd	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfadd	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfcmpeq	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfcmpeq	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfcmpge	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfcmpge	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfcmpgt	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfcmpgt	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfmax	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfmax	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfmin	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfmin	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfmul	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfmul	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfnacc	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfnacc	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfpnacc	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfpnacc	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfrcp	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfrcp	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfrcpit1	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfrcpit1	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfrcpit2	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfrcpit2	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfrsqit1	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfrsqit1	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfrsqrt	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfrsqrt	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfsub	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfsub	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pfsubr	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pfsubr	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pi2fd	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pi2fd	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pi2fw	%mm0, %mm2
-# CHECK-NEXT:  2      9     1.00    *                   pi2fw	(%rax), %mm2
-# CHECK-NEXT:  1      5     1.00                        pmulhrw	%mm0, %mm2
-# CHECK-NEXT:  2      10    1.00    *                   pmulhrw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50    *      *      U     femms
+# CHECK-NEXT:  1      2     0.50                        pavgusb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pavgusb	(%rax), %mm2
+# CHECK-NEXT:  1      4     1.00                        pf2id	%mm0, %mm2
+# CHECK-NEXT:  1      9     1.00    *                   pf2id	(%rax), %mm2
+# CHECK-NEXT:  1      4     1.00                        pf2iw	%mm0, %mm2
+# CHECK-NEXT:  1      9     1.00    *                   pf2iw	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfacc	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfacc	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfadd	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfadd	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfcmpeq	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfcmpeq	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfcmpge	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfcmpge	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfcmpgt	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfcmpgt	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfmax	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfmax	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfmin	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfmin	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfmul	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfmul	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfnacc	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfnacc	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfpnacc	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfpnacc	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfrcp	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfrcp	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfrcpit1	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfrcpit1	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfrcpit2	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfrcpit2	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfrsqit1	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfrsqit1	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfrsqrt	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfrsqrt	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfsub	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfsub	(%rax), %mm2
+# CHECK-NEXT:  1      5     1.00                        pfsubr	%mm0, %mm2
+# CHECK-NEXT:  1      10    1.00    *                   pfsubr	(%rax), %mm2
+# CHECK-NEXT:  1      4     1.00                        pi2fd	%mm0, %mm2
+# CHECK-NEXT:  1      9     1.00    *                   pi2fd	(%rax), %mm2
+# CHECK-NEXT:  1      4     1.00                        pi2fw	%mm0, %mm2
+# CHECK-NEXT:  1      9     1.00    *                   pi2fw	(%rax), %mm2
+# CHECK-NEXT:  1      4     1.00                        pmulhrw	%mm0, %mm2
+# CHECK-NEXT:  1      9     1.00    *                   pmulhrw	(%rax), %mm2
 # CHECK-NEXT:  1      5     0.50    *      *            prefetch	(%rax)
 # CHECK-NEXT:  1      5     0.50    *      *            prefetchw	(%rax)
-# CHECK-NEXT:  1      1     1.00                        pswapd	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   pswapd	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pswapd	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pswapd	(%rax), %mm2
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     12.33  54.33   -     12.33  13.00  13.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 13.00  13.00   -      -      -      -      -      -     17.50  17.50  2.00   2.00   2.00   8.00   38.50  10.50   -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     10.33  10.33   -     10.33   -      -     femms
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pavgusb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pavgusb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pf2id	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pf2id	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pf2iw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pf2iw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfacc	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfacc	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfadd	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfadd	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfcmpeq	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfcmpeq	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfcmpge	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfcmpge	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfcmpgt	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfcmpgt	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfmax	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfmax	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfmin	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfmin	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfmul	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfmul	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfnacc	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfnacc	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfpnacc	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfpnacc	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfrcp	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfrcp	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfrcpit1	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfrcpit1	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfrcpit2	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfrcpit2	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfrsqit1	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfrsqit1	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfrsqrt	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfrsqrt	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfsub	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfsub	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pfsubr	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pfsubr	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pi2fd	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pi2fd	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pi2fw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pi2fw	(%rax), %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     pmulhrw	%mm0, %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   pmulhrw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   prefetch	(%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   prefetchw	(%rax)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     pswapd	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   pswapd	(%rax), %mm2
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     femms
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pavgusb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pavgusb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     pf2id	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     pf2id	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     pf2iw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     pf2iw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfacc	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfacc	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfadd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfadd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfcmpeq	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfcmpeq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfcmpge	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfcmpge	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfcmpgt	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfcmpgt	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfmax	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfmax	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfmin	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfmin	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfmul	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfmul	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfnacc	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfnacc	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfpnacc	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfpnacc	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrcp	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrcp	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrcpit1	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrcpit1	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrcpit2	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrcpit2	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrsqit1	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrsqit1	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrsqrt	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfrsqrt	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfsub	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfsub	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfsubr	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     pfsubr	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     pi2fd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     pi2fd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     pi2fw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     pi2fw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pmulhrw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pmulhrw	(%rax), %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     prefetch	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     prefetchw	(%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pswapd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pswapd	(%rax), %mm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-adx.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-adx.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-adx.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-adx.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 adcx        %ebx, %ecx
 adcx        (%rbx), %ecx
@@ -20,36 +20,48 @@ adox        (%rbx), %rcx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  2      2     0.67                        adcxl	%ebx, %ecx
-# CHECK-NEXT:  3      7     0.67    *                   adcxl	(%rbx), %ecx
-# CHECK-NEXT:  2      2     0.67                        adcxq	%rbx, %rcx
-# CHECK-NEXT:  3      7     0.67    *                   adcxq	(%rbx), %rcx
-# CHECK-NEXT:  2      2     0.67                        adoxl	%ebx, %ecx
-# CHECK-NEXT:  3      7     0.67    *                   adoxl	(%rbx), %ecx
-# CHECK-NEXT:  2      2     0.67                        adoxq	%rbx, %rcx
-# CHECK-NEXT:  3      7     0.67    *                   adoxq	(%rbx), %rcx
+# CHECK-NEXT:  1      1     1.00                        adcxl	%ebx, %ecx
+# CHECK-NEXT:  1      5     1.00    *                   adcxl	(%rbx), %ecx
+# CHECK-NEXT:  1      1     1.00                        adcxq	%rbx, %rcx
+# CHECK-NEXT:  1      5     1.00    *                   adcxq	(%rbx), %rcx
+# CHECK-NEXT:  1      1     1.00                        adoxl	%ebx, %ecx
+# CHECK-NEXT:  1      5     1.00    *                   adoxl	(%rbx), %ecx
+# CHECK-NEXT:  1      1     1.00                        adoxq	%rbx, %rcx
+# CHECK-NEXT:  1      5     1.00    *                   adoxq	(%rbx), %rcx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     6.67   2.67    -     6.67   2.00   2.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 2.00   2.00    -      -      -     8.00   8.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcxl	%ebx, %ecx
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcxl	(%rbx), %ecx
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adcxq	%rbx, %rcx
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adcxq	(%rbx), %rcx
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adoxl	%ebx, %ecx
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adoxl	(%rbx), %ecx
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     adoxq	%rbx, %rcx
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   adoxq	(%rbx), %rcx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     adcxl	%ebx, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     adcxl	(%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     adcxq	%rbx, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     adcxq	(%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     adoxl	%ebx, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     adoxl	(%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     adoxq	%rbx, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     adoxq	(%rbx), %rcx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-aes.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-aes.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-aes.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-aes.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 aesdec          %xmm0, %xmm2
 aesdec          (%rax), %xmm2
@@ -28,44 +28,56 @@ aeskeygenassist $22, (%rax), %xmm2
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  2      7     1.00                        aesdec	%xmm0, %xmm2
-# CHECK-NEXT:  3      13    1.00    *                   aesdec	(%rax), %xmm2
-# CHECK-NEXT:  2      7     1.00                        aesdeclast	%xmm0, %xmm2
-# CHECK-NEXT:  3      13    1.00    *                   aesdeclast	(%rax), %xmm2
-# CHECK-NEXT:  2      7     1.00                        aesenc	%xmm0, %xmm2
-# CHECK-NEXT:  3      13    1.00    *                   aesenc	(%rax), %xmm2
-# CHECK-NEXT:  2      7     1.00                        aesenclast	%xmm0, %xmm2
-# CHECK-NEXT:  3      13    1.00    *                   aesenclast	(%rax), %xmm2
-# CHECK-NEXT:  2      12    2.00                        aesimc	%xmm0, %xmm2
-# CHECK-NEXT:  3      18    2.00    *                   aesimc	(%rax), %xmm2
-# CHECK-NEXT:  1      8     3.67                        aeskeygenassist	$22, %xmm0, %xmm2
-# CHECK-NEXT:  1      8     3.33    *                   aeskeygenassist	$22, (%rax), %xmm2
+# CHECK-NEXT:  2      9     1.00                        aesdec	%xmm0, %xmm2
+# CHECK-NEXT:  2      14    1.00    *                   aesdec	(%rax), %xmm2
+# CHECK-NEXT:  2      9     1.00                        aesdeclast	%xmm0, %xmm2
+# CHECK-NEXT:  2      14    1.00    *                   aesdeclast	(%rax), %xmm2
+# CHECK-NEXT:  2      9     1.00                        aesenc	%xmm0, %xmm2
+# CHECK-NEXT:  2      14    1.00    *                   aesenc	(%rax), %xmm2
+# CHECK-NEXT:  2      9     1.00                        aesenclast	%xmm0, %xmm2
+# CHECK-NEXT:  2      14    1.00    *                   aesenclast	(%rax), %xmm2
+# CHECK-NEXT:  1      5     1.00                        aesimc	%xmm0, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   aesimc	(%rax), %xmm2
+# CHECK-NEXT:  1      5     1.00                        aeskeygenassist	$22, %xmm0, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   aeskeygenassist	$22, (%rax), %xmm2
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     9.67   9.67    -     21.67  3.00   3.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 3.00   3.00    -      -      -      -      -      -      -      -      -      -     12.00   -     12.00   -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33    -      -     aesdec	%xmm0, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33   0.50   0.50   aesdec	(%rax), %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33    -      -     aesdeclast	%xmm0, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33   0.50   0.50   aesdeclast	(%rax), %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33    -      -     aesenc	%xmm0, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33   0.50   0.50   aesenc	(%rax), %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33    -      -     aesenclast	%xmm0, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33   0.50   0.50   aesenclast	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     aesimc	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     2.00   0.50   0.50   aesimc	(%rax), %xmm2
-# CHECK-NEXT:  -      -     3.67   3.67    -     3.67    -      -     aeskeygenassist	$22, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     3.33   3.33    -     3.33   0.50   0.50   aeskeygenassist	$22, (%rax), %xmm2
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesdec	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesdec	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesdeclast	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesdeclast	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesenc	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesenc	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesenclast	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesenclast	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesimc	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aesimc	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aeskeygenassist	$22, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     aeskeygenassist	$22, (%rax), %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 vaddpd            %xmm0, %xmm1, %xmm2
 vaddpd            (%rax), %xmm1, %xmm2
@@ -1030,1402 +1030,1414 @@ vzeroupper
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        vaddpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vaddpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vaddpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vaddps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vaddps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vaddsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vaddsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vaddss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddsubpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vaddsubpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddsubpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vaddsubpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vaddsubps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vaddsubps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vaddsubps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vaddsubps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      7     1.00                        vaesdec	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      13    1.00    *                   vaesdec	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00                        vaesdeclast	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      13    1.00    *                   vaesdeclast	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00                        vaesenc	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      13    1.00    *                   vaesenc	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00                        vaesenclast	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      13    1.00    *                   vaesenclast	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      12    2.00                        vaesimc	%xmm0, %xmm2
-# CHECK-NEXT:  3      18    2.00    *                   vaesimc	(%rax), %xmm2
-# CHECK-NEXT:  1      8     3.67                        vaeskeygenassist	$22, %xmm0, %xmm2
-# CHECK-NEXT:  1      8     3.33    *                   vaeskeygenassist	$22, (%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vandnpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vandnpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vandnpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vandnpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vandnps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vandnps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vandnps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vandnps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vandpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vandpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vandpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vandpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vandps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vandps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vandps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vandps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     0.50                        vblendpd	$11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vblendpd	$11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vblendpd	$11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     0.50    *                   vblendpd	$11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     0.50                        vblendps	$11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vblendps	$11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vblendps	$11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     0.50    *                   vblendps	$11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      2     1.00                        vblendvpd	%xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vblendvpd	%xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vblendvpd	%ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  3      9     1.00    *                   vblendvpd	%ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      2     1.00                        vblendvps	%xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vblendvps	%xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vblendvps	%ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  3      9     1.00    *                   vblendvps	%ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      7     1.00    *                   vbroadcastf128	(%rax), %ymm2
-# CHECK-NEXT:  1      7     0.50    *                   vbroadcastsd	(%rax), %ymm2
-# CHECK-NEXT:  1      6     0.50    *                   vbroadcastss	(%rax), %xmm2
-# CHECK-NEXT:  1      7     0.50    *                   vbroadcastss	(%rax), %ymm2
-# CHECK-NEXT:  1      3     1.00                        vcmppd	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vcmppd	$0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcmppd	$0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vcmppd	$0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vcmpps	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vcmpps	$0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcmpps	$0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vcmpps	$0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vcmpsd	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vcmpsd	$0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcmpss	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vcmpss	$0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vcomisd	%xmm0, %xmm1
-# CHECK-NEXT:  3      8     1.00    *                   vcomisd	(%rax), %xmm1
-# CHECK-NEXT:  2      2     1.00                        vcomiss	%xmm0, %xmm1
-# CHECK-NEXT:  3      8     1.00    *                   vcomiss	(%rax), %xmm1
-# CHECK-NEXT:  2      4     1.00                        vcvtdq2pd	%xmm0, %xmm2
-# CHECK-NEXT:  3      10    1.00    *                   vcvtdq2pd	(%rax), %xmm2
-# CHECK-NEXT:  2      4     1.00                        vcvtdq2pd	%xmm0, %ymm2
-# CHECK-NEXT:  3      10    1.00    *                   vcvtdq2pd	(%rax), %ymm2
-# CHECK-NEXT:  1      3     1.00                        vcvtdq2ps	%xmm0, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vcvtdq2ps	(%rax), %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcvtdq2ps	%ymm0, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vcvtdq2ps	(%rax), %ymm2
-# CHECK-NEXT:  2      4     1.00                        vcvtpd2dq	%xmm0, %xmm2
-# CHECK-NEXT:  3      10    1.00    *                   vcvtpd2dqx	(%rax), %xmm2
-# CHECK-NEXT:  2      4     1.00                        vcvtpd2dq	%ymm0, %xmm2
-# CHECK-NEXT:  3      11    1.00    *                   vcvtpd2dqy	(%rax), %xmm2
-# CHECK-NEXT:  2      4     1.00                        vcvtpd2ps	%xmm0, %xmm2
-# CHECK-NEXT:  3      10    1.00    *                   vcvtpd2psx	(%rax), %xmm2
-# CHECK-NEXT:  2      4     1.00                        vcvtpd2ps	%ymm0, %xmm2
-# CHECK-NEXT:  3      11    1.00    *                   vcvtpd2psy	(%rax), %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcvtps2dq	%xmm0, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vcvtps2dq	(%rax), %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcvtps2dq	%ymm0, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vcvtps2dq	(%rax), %ymm2
-# CHECK-NEXT:  2      2     1.00                        vcvtps2pd	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vcvtps2pd	(%rax), %xmm2
-# CHECK-NEXT:  2      2     1.00                        vcvtps2pd	%xmm0, %ymm2
-# CHECK-NEXT:  2      7     1.00    *                   vcvtps2pd	(%rax), %ymm2
-# CHECK-NEXT:  2      5     1.00                        vcvtsd2si	%xmm0, %ecx
-# CHECK-NEXT:  2      5     1.00                        vcvtsd2si	%xmm0, %rcx
-# CHECK-NEXT:  3      10    1.00    *                   vcvtsd2si	(%rax), %ecx
-# CHECK-NEXT:  3      10    1.00    *                   vcvtsd2si	(%rax), %rcx
-# CHECK-NEXT:  2      4     1.00                        vcvtsd2ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      10    1.00    *                   vcvtsd2ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vaddpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     2.00                        vaddpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vaddpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      5     1.00                        vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vaddps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     2.00                        vaddps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vaddps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      5     1.00                        vaddsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vaddsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vaddss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaddsubpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vaddsubpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     2.00                        vaddsubpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vaddsubpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      5     1.00                        vaddsubps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vaddsubps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     2.00                        vaddsubps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vaddsubps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  2      9     1.00                        vaesdec	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  2      14    1.00    *                   vaesdec	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      9     1.00                        vaesdeclast	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  2      14    1.00    *                   vaesdeclast	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      9     1.00                        vaesenc	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  2      14    1.00    *                   vaesenc	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      9     1.00                        vaesenclast	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  2      14    1.00    *                   vaesenclast	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaesimc	%xmm0, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vaesimc	(%rax), %xmm2
+# CHECK-NEXT:  1      5     1.00                        vaeskeygenassist	$22, %xmm0, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vaeskeygenassist	$22, (%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vandnpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vandnpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vandnpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vandnpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vandnps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vandnps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vandnps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vandnps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vandpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vandpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vandpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vandpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vandps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vandps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vandps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vandps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vblendpd	$11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vblendpd	$11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vblendpd	$11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vblendpd	$11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vblendps	$11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vblendps	$11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vblendps	$11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vblendps	$11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     2.00                        vblendvpd	%xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     2.00    *                   vblendvpd	%xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     3.00                        vblendvpd	%ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     3.00    *                   vblendvpd	%ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     2.00                        vblendvps	%xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     2.00    *                   vblendvps	%xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     3.00                        vblendvps	%ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     3.00    *                   vblendvps	%ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  2      7     0.50    *                   vbroadcastf128	(%rax), %ymm2
+# CHECK-NEXT:  2      6     2.00    *                   vbroadcastsd	(%rax), %ymm2
+# CHECK-NEXT:  1      7     0.50    *                   vbroadcastss	(%rax), %xmm2
+# CHECK-NEXT:  2      6     2.00    *                   vbroadcastss	(%rax), %ymm2
+# CHECK-NEXT:  1      2     1.00                        vcmppd	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vcmppd	$0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     2.00                        vcmppd	$0, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     2.00    *                   vcmppd	$0, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     1.00                        vcmpps	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vcmpps	$0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     2.00                        vcmpps	$0, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     2.00    *                   vcmpps	$0, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     1.00                        vcmpsd	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vcmpsd	$0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     1.00                        vcmpss	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vcmpss	$0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      1     1.00                        vcomisd	%xmm0, %xmm1
+# CHECK-NEXT:  2      6     1.00    *                   vcomisd	(%rax), %xmm1
+# CHECK-NEXT:  2      1     1.00                        vcomiss	%xmm0, %xmm1
+# CHECK-NEXT:  2      6     1.00    *                   vcomiss	(%rax), %xmm1
+# CHECK-NEXT:  2      8     1.00                        vcvtdq2pd	%xmm0, %xmm2
+# CHECK-NEXT:  2      13    1.00    *                   vcvtdq2pd	(%rax), %xmm2
+# CHECK-NEXT:  4      8     2.00                        vcvtdq2pd	%xmm0, %ymm2
+# CHECK-NEXT:  5      13    2.00    *                   vcvtdq2pd	(%rax), %ymm2
+# CHECK-NEXT:  1      4     1.00                        vcvtdq2ps	%xmm0, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vcvtdq2ps	(%rax), %xmm2
+# CHECK-NEXT:  2      4     2.00                        vcvtdq2ps	%ymm0, %ymm2
+# CHECK-NEXT:  2      9     2.00    *                   vcvtdq2ps	(%rax), %ymm2
+# CHECK-NEXT:  2      8     1.00                        vcvtpd2dq	%xmm0, %xmm2
+# CHECK-NEXT:  2      13    1.00    *                   vcvtpd2dqx	(%rax), %xmm2
+# CHECK-NEXT:  4      8     2.00                        vcvtpd2dq	%ymm0, %xmm2
+# CHECK-NEXT:  4      13    2.00    *                   vcvtpd2dqy	(%rax), %xmm2
+# CHECK-NEXT:  2      8     1.00                        vcvtpd2ps	%xmm0, %xmm2
+# CHECK-NEXT:  2      13    1.00    *                   vcvtpd2psx	(%rax), %xmm2
+# CHECK-NEXT:  4      8     2.00                        vcvtpd2ps	%ymm0, %xmm2
+# CHECK-NEXT:  4      13    2.00    *                   vcvtpd2psy	(%rax), %xmm2
+# CHECK-NEXT:  1      4     1.00                        vcvtps2dq	%xmm0, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vcvtps2dq	(%rax), %xmm2
+# CHECK-NEXT:  2      4     2.00                        vcvtps2dq	%ymm0, %ymm2
+# CHECK-NEXT:  2      9     2.00    *                   vcvtps2dq	(%rax), %ymm2
+# CHECK-NEXT:  2      8     1.00                        vcvtps2pd	%xmm0, %xmm2
+# CHECK-NEXT:  2      13    1.00    *                   vcvtps2pd	(%rax), %xmm2
+# CHECK-NEXT:  4      8     2.00                        vcvtps2pd	%xmm0, %ymm2
+# CHECK-NEXT:  5      13    2.00    *                   vcvtps2pd	(%rax), %ymm2
+# CHECK-NEXT:  2      13    1.00                        vcvtsd2si	%xmm0, %ecx
+# CHECK-NEXT:  2      13    1.00                        vcvtsd2si	%xmm0, %rcx
+# CHECK-NEXT:  2      18    1.00    *                   vcvtsd2si	(%rax), %ecx
+# CHECK-NEXT:  2      18    1.00    *                   vcvtsd2si	(%rax), %rcx
+# CHECK-NEXT:  1      4     1.00                        vcvtsd2ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vcvtsd2ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  2      4     1.00                        vcvtsi2sdl	%ecx, %xmm0, %xmm2
 # CHECK-NEXT:  2      4     1.00                        vcvtsi2sdq	%rcx, %xmm0, %xmm2
 # CHECK-NEXT:  2      9     1.00    *                   vcvtsi2sdl	(%rax), %xmm0, %xmm2
 # CHECK-NEXT:  2      9     1.00    *                   vcvtsi2sdq	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  3      5     2.00                        vcvtsi2ssl	%ecx, %xmm0, %xmm2
-# CHECK-NEXT:  3      5     2.00                        vcvtsi2ssq	%rcx, %xmm0, %xmm2
-# CHECK-NEXT:  3      10    1.00    *                   vcvtsi2ssl	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  3      10    1.00    *                   vcvtsi2ssq	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vcvtss2sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vcvtss2sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      5     1.00                        vcvtss2si	%xmm0, %ecx
-# CHECK-NEXT:  2      5     1.00                        vcvtss2si	%xmm0, %rcx
-# CHECK-NEXT:  3      10    1.00    *                   vcvtss2si	(%rax), %ecx
-# CHECK-NEXT:  3      10    1.00    *                   vcvtss2si	(%rax), %rcx
-# CHECK-NEXT:  2      4     1.00                        vcvttpd2dq	%xmm0, %xmm2
-# CHECK-NEXT:  3      10    1.00    *                   vcvttpd2dqx	(%rax), %xmm2
-# CHECK-NEXT:  2      4     1.00                        vcvttpd2dq	%ymm0, %xmm2
-# CHECK-NEXT:  3      11    1.00    *                   vcvttpd2dqy	(%rax), %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcvttps2dq	%xmm0, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vcvttps2dq	(%rax), %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcvttps2dq	%ymm0, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vcvttps2dq	(%rax), %ymm2
-# CHECK-NEXT:  2      5     1.00                        vcvttsd2si	%xmm0, %ecx
-# CHECK-NEXT:  2      5     1.00                        vcvttsd2si	%xmm0, %rcx
-# CHECK-NEXT:  3      10    1.00    *                   vcvttsd2si	(%rax), %ecx
-# CHECK-NEXT:  3      10    1.00    *                   vcvttsd2si	(%rax), %rcx
-# CHECK-NEXT:  2      5     1.00                        vcvttss2si	%xmm0, %ecx
-# CHECK-NEXT:  2      5     1.00                        vcvttss2si	%xmm0, %rcx
-# CHECK-NEXT:  3      10    1.00    *                   vcvttss2si	(%rax), %ecx
-# CHECK-NEXT:  3      10    1.00    *                   vcvttss2si	(%rax), %rcx
-# CHECK-NEXT:  1      22    22.00                       vdivpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      28    22.00   *                   vdivpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      45    44.00                       vdivpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  4      52    44.00   *                   vdivpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      14    14.00                       vdivps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      20    14.00   *                   vdivps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      29    28.00                       vdivps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  4      36    28.00   *                   vdivps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      22    22.00                       vdivsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      28    22.00   *                   vdivsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      14    14.00                       vdivss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      20    14.00   *                   vdivss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      9     1.00                        vdppd	$22, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      15    1.00    *                   vdppd	$22, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  4      12    2.00                        vdpps	$22, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  5      18    2.00    *                   vdpps	$22, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  4      12    2.00                        vdpps	$22, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  5      19    2.00    *                   vdpps	$22, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vextractf128	$1, %ymm0, %xmm2
-# CHECK-NEXT:  1      1     1.00           *            vextractf128	$1, %ymm0, (%rax)
-# CHECK-NEXT:  2      3     1.00                        vextractps	$1, %xmm0, %ecx
-# CHECK-NEXT:  3      5     1.00           *            vextractps	$1, %xmm0, (%rax)
-# CHECK-NEXT:  3      5     2.00                        vhaddpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      11    2.00    *                   vhaddpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      5     2.00                        vhaddpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  4      12    2.00    *                   vhaddpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  3      5     2.00                        vhaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      11    2.00    *                   vhaddps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      5     2.00                        vhaddps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  4      12    2.00    *                   vhaddps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  3      5     2.00                        vhsubpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      11    2.00    *                   vhsubpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      5     2.00                        vhsubpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  4      12    2.00    *                   vhsubpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  3      5     2.00                        vhsubps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      11    2.00    *                   vhsubps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      5     2.00                        vhsubps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  4      12    2.00    *                   vhsubps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vinsertf128	$1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      4     1.00                        vcvtsi2ssl	%ecx, %xmm0, %xmm2
+# CHECK-NEXT:  2      4     1.00                        vcvtsi2ssq	%rcx, %xmm0, %xmm2
+# CHECK-NEXT:  2      9     1.00    *                   vcvtsi2ssl	(%rax), %xmm0, %xmm2
+# CHECK-NEXT:  2      9     1.00    *                   vcvtsi2ssq	(%rax), %xmm0, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vcvtss2sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vcvtss2sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      13    1.00                        vcvtss2si	%xmm0, %ecx
+# CHECK-NEXT:  2      13    1.00                        vcvtss2si	%xmm0, %rcx
+# CHECK-NEXT:  2      18    1.00    *                   vcvtss2si	(%rax), %ecx
+# CHECK-NEXT:  2      18    1.00    *                   vcvtss2si	(%rax), %rcx
+# CHECK-NEXT:  2      8     1.00                        vcvttpd2dq	%xmm0, %xmm2
+# CHECK-NEXT:  2      13    1.00    *                   vcvttpd2dqx	(%rax), %xmm2
+# CHECK-NEXT:  4      8     2.00                        vcvttpd2dq	%ymm0, %xmm2
+# CHECK-NEXT:  4      13    2.00    *                   vcvttpd2dqy	(%rax), %xmm2
+# CHECK-NEXT:  1      4     1.00                        vcvttps2dq	%xmm0, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vcvttps2dq	(%rax), %xmm2
+# CHECK-NEXT:  2      4     2.00                        vcvttps2dq	%ymm0, %ymm2
+# CHECK-NEXT:  2      9     2.00    *                   vcvttps2dq	(%rax), %ymm2
+# CHECK-NEXT:  2      13    1.00                        vcvttsd2si	%xmm0, %ecx
+# CHECK-NEXT:  2      13    1.00                        vcvttsd2si	%xmm0, %rcx
+# CHECK-NEXT:  2      18    1.00    *                   vcvttsd2si	(%rax), %ecx
+# CHECK-NEXT:  2      18    1.00    *                   vcvttsd2si	(%rax), %rcx
+# CHECK-NEXT:  2      13    1.00                        vcvttss2si	%xmm0, %ecx
+# CHECK-NEXT:  2      13    1.00                        vcvttss2si	%xmm0, %rcx
+# CHECK-NEXT:  2      18    1.00    *                   vcvttss2si	(%rax), %ecx
+# CHECK-NEXT:  2      18    1.00    *                   vcvttss2si	(%rax), %rcx
+# CHECK-NEXT:  1      9     9.50                        vdivpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      14    9.50    *                   vdivpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      9     19.00                       vdivpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      14    19.00   *                   vdivpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      9     9.50                        vdivps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      14    9.50    *                   vdivps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      9     19.00                       vdivps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      14    19.00   *                   vdivps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      9     9.50                        vdivsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      14    9.50    *                   vdivsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      9     9.50                        vdivss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      14    9.50    *                   vdivss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  15     15    1.50                        vdppd	$22, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  17     20    1.50    *                   vdppd	$22, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  17     25    1.50                        vdpps	$22, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  18     30    1.50    *                   vdpps	$22, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  25     27    3.00                        vdpps	$22, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  29     32    3.00    *                   vdpps	$22, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vextractf128	$1, %ymm0, %xmm2
+# CHECK-NEXT:  2      7     0.50           *            vextractf128	$1, %ymm0, (%rax)
+# CHECK-NEXT:  2      13    1.00                        vextractps	$1, %xmm0, %ecx
+# CHECK-NEXT:  2      13    1.00           *            vextractps	$1, %xmm0, (%rax)
+# CHECK-NEXT:  3      11    1.00                        vhaddpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      16    1.00    *                   vhaddpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  8      11    2.00                        vhaddpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  10     16    2.00    *                   vhaddpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  3      11    1.00                        vhaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      16    1.00    *                   vhaddps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  8      11    2.00                        vhaddps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  10     16    2.00    *                   vhaddps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  3      11    1.00                        vhsubpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      16    1.00    *                   vhsubpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  8      11    2.00                        vhsubpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  10     16    2.00    *                   vhsubpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  3      11    1.00                        vhsubps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      16    1.00    *                   vhsubps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  8      11    2.00                        vhsubps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  10     16    2.00    *                   vhsubps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  2      2     0.50                        vinsertf128	$1, %xmm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      7     0.50    *                   vinsertf128	$1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vinsertps	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vinsertps	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      6     0.50    *                   vlddqu	(%rax), %xmm2
-# CHECK-NEXT:  1      7     0.50    *                   vlddqu	(%rax), %ymm2
-# CHECK-NEXT:  4      5     1.00    *      *      U     vldmxcsr	(%rax)
+# CHECK-NEXT:  1      2     0.50                        vinsertps	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vinsertps	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vlddqu	(%rax), %xmm2
+# CHECK-NEXT:  2      5     0.50    *                   vlddqu	(%rax), %ymm2
+# CHECK-NEXT:  1      5     0.50    *      *      U     vldmxcsr	(%rax)
 # CHECK-NEXT:  1      1     1.00    *      *      U     vmaskmovdqu	%xmm0, %xmm1
-# CHECK-NEXT:  3      8     1.00    *                   vmaskmovpd	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  3      9     1.00    *                   vmaskmovpd	(%rax), %ymm0, %ymm2
-# CHECK-NEXT:  3      5     1.00    *      *            vmaskmovpd	%xmm0, %xmm1, (%rax)
-# CHECK-NEXT:  3      5     1.00    *      *            vmaskmovpd	%ymm0, %ymm1, (%rax)
-# CHECK-NEXT:  3      8     1.00    *                   vmaskmovps	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  3      9     1.00    *                   vmaskmovps	(%rax), %ymm0, %ymm2
-# CHECK-NEXT:  3      5     1.00    *      *            vmaskmovps	%xmm0, %xmm1, (%rax)
-# CHECK-NEXT:  3      5     1.00    *      *            vmaskmovps	%ymm0, %ymm1, (%rax)
-# CHECK-NEXT:  1      3     1.00                        vmaxpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vmaxpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vmaxpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vmaxpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vmaxps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vmaxps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vmaxps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vmaxps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vmaxsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vmaxsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vmaxss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vmaxss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vminpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vminpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vminpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vminpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vminps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vminps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vminps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vminps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vminsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vminsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vminss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vminss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovapd	%xmm0, %xmm2
+# CHECK-NEXT:  1      6     1.00    *                   vmaskmovpd	(%rax), %xmm0, %xmm2
+# CHECK-NEXT:  2      6     2.00    *                   vmaskmovpd	(%rax), %ymm0, %ymm2
+# CHECK-NEXT:  18     6     2.00    *      *            vmaskmovpd	%xmm0, %xmm1, (%rax)
+# CHECK-NEXT:  34     6     2.00    *      *            vmaskmovpd	%ymm0, %ymm1, (%rax)
+# CHECK-NEXT:  1      6     1.00    *                   vmaskmovps	(%rax), %xmm0, %xmm2
+# CHECK-NEXT:  2      6     2.00    *                   vmaskmovps	(%rax), %ymm0, %ymm2
+# CHECK-NEXT:  18     6     2.00    *      *            vmaskmovps	%xmm0, %xmm1, (%rax)
+# CHECK-NEXT:  34     6     2.00    *      *            vmaskmovps	%ymm0, %ymm1, (%rax)
+# CHECK-NEXT:  1      2     1.00                        vmaxpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vmaxpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     2.00                        vmaxpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     2.00    *                   vmaxpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     1.00                        vmaxps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vmaxps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     2.00                        vmaxps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     2.00    *                   vmaxps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     1.00                        vmaxsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vmaxsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     1.00                        vmaxss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vmaxss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     1.00                        vminpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vminpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     2.00                        vminpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     2.00    *                   vminpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     1.00                        vminps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vminps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     2.00                        vminps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     2.00    *                   vminps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     1.00                        vminsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vminsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     1.00                        vminss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     1.00    *                   vminss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      1     0.50                        vmovapd	%xmm0, %xmm2
 # CHECK-NEXT:  1      1     1.00           *            vmovapd	%xmm0, (%rax)
-# CHECK-NEXT:  1      6     0.50    *                   vmovapd	(%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovapd	%ymm0, %ymm2
-# CHECK-NEXT:  1      1     1.00           *            vmovapd	%ymm0, (%rax)
-# CHECK-NEXT:  1      7     0.50    *                   vmovapd	(%rax), %ymm2
-# CHECK-NEXT:  1      1     1.00                        vmovaps	%xmm0, %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vmovapd	(%rax), %xmm2
+# CHECK-NEXT:  2      2     1.00                        vmovapd	%ymm0, %ymm2
+# CHECK-NEXT:  4      1     1.00           *            vmovapd	%ymm0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                   vmovapd	(%rax), %ymm2
+# CHECK-NEXT:  1      1     0.50                        vmovaps	%xmm0, %xmm2
 # CHECK-NEXT:  1      1     1.00           *            vmovaps	%xmm0, (%rax)
-# CHECK-NEXT:  1      6     0.50    *                   vmovaps	(%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovaps	%ymm0, %ymm2
-# CHECK-NEXT:  1      1     1.00           *            vmovaps	%ymm0, (%rax)
-# CHECK-NEXT:  1      7     0.50    *                   vmovaps	(%rax), %ymm2
-# CHECK-NEXT:  1      1     1.00                        vmovd	%eax, %xmm2
-# CHECK-NEXT:  1      6     0.50    *                   vmovd	(%rax), %xmm2
-# CHECK-NEXT:  1      2     1.00                        vmovd	%xmm0, %ecx
-# CHECK-NEXT:  1      1     1.00           *            vmovd	%xmm0, (%rax)
-# CHECK-NEXT:  1      1     1.00                        vmovddup	%xmm0, %xmm2
-# CHECK-NEXT:  1      6     0.50    *                   vmovddup	(%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovddup	%ymm0, %ymm2
-# CHECK-NEXT:  1      7     0.50    *                   vmovddup	(%rax), %ymm2
-# CHECK-NEXT:  1      1     0.33                        vmovdqa	%xmm0, %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vmovaps	(%rax), %xmm2
+# CHECK-NEXT:  2      2     1.00                        vmovaps	%ymm0, %ymm2
+# CHECK-NEXT:  4      1     1.00           *            vmovaps	%ymm0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                   vmovaps	(%rax), %ymm2
+# CHECK-NEXT:  2      10    0.50                        vmovd	%eax, %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vmovd	(%rax), %xmm2
+# CHECK-NEXT:  1      10    1.00                        vmovd	%xmm0, %ecx
+# CHECK-NEXT:  1      2     1.00           *            vmovd	%xmm0, (%rax)
+# CHECK-NEXT:  1      2     0.50                        vmovddup	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vmovddup	(%rax), %xmm2
+# CHECK-NEXT:  2      2     1.00                        vmovddup	%ymm0, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vmovddup	(%rax), %ymm2
+# CHECK-NEXT:  1      2     0.50                        vmovdqa	%xmm0, %xmm2
 # CHECK-NEXT:  1      1     1.00           *            vmovdqa	%xmm0, (%rax)
-# CHECK-NEXT:  1      6     0.50    *                   vmovdqa	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vmovdqa	%ymm0, %ymm2
-# CHECK-NEXT:  1      1     1.00           *            vmovdqa	%ymm0, (%rax)
-# CHECK-NEXT:  1      7     0.50    *                   vmovdqa	(%rax), %ymm2
-# CHECK-NEXT:  1      1     0.33                        vmovdqu	%xmm0, %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vmovdqa	(%rax), %xmm2
+# CHECK-NEXT:  2      2     1.00                        vmovdqa	%ymm0, %ymm2
+# CHECK-NEXT:  4      1     1.00           *            vmovdqa	%ymm0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                   vmovdqa	(%rax), %ymm2
+# CHECK-NEXT:  1      2     0.50                        vmovdqu	%xmm0, %xmm2
 # CHECK-NEXT:  1      1     1.00           *            vmovdqu	%xmm0, (%rax)
-# CHECK-NEXT:  1      6     0.50    *                   vmovdqu	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vmovdqu	%ymm0, %ymm2
-# CHECK-NEXT:  1      1     1.00           *            vmovdqu	%ymm0, (%rax)
-# CHECK-NEXT:  1      7     0.50    *                   vmovdqu	(%rax), %ymm2
-# CHECK-NEXT:  1      1     1.00                        vmovhlps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovlhps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00           *            vmovhpd	%xmm0, (%rax)
-# CHECK-NEXT:  2      7     1.00    *                   vmovhpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00           *            vmovhps	%xmm0, (%rax)
-# CHECK-NEXT:  2      7     1.00    *                   vmovhps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00           *            vmovlpd	%xmm0, (%rax)
-# CHECK-NEXT:  2      7     1.00    *                   vmovlpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00           *            vmovlps	%xmm0, (%rax)
-# CHECK-NEXT:  2      7     1.00    *                   vmovlps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      2     1.00                        vmovmskpd	%xmm0, %ecx
-# CHECK-NEXT:  1      2     1.00                        vmovmskpd	%ymm0, %ecx
-# CHECK-NEXT:  1      2     1.00                        vmovmskps	%xmm0, %ecx
-# CHECK-NEXT:  1      2     1.00                        vmovmskps	%ymm0, %ecx
-# CHECK-NEXT:  1      1     1.00           *            vmovntdq	%xmm0, (%rax)
-# CHECK-NEXT:  1      1     1.00           *            vmovntdq	%ymm0, (%rax)
-# CHECK-NEXT:  1      6     0.50    *                   vmovntdqa	(%rax), %xmm2
-# CHECK-NEXT:  1      7     0.50    *                   vmovntdqa	(%rax), %ymm2
-# CHECK-NEXT:  1      1     1.00           *            vmovntpd	%xmm0, (%rax)
-# CHECK-NEXT:  1      1     1.00           *            vmovntpd	%ymm0, (%rax)
-# CHECK-NEXT:  1      1     1.00           *            vmovntps	%xmm0, (%rax)
-# CHECK-NEXT:  1      1     1.00           *            vmovntps	%ymm0, (%rax)
-# CHECK-NEXT:  1      1     0.33                        vmovq	%xmm0, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovq	%rax, %xmm2
-# CHECK-NEXT:  1      6     0.50    *                   vmovq	(%rax), %xmm2
-# CHECK-NEXT:  1      2     1.00                        vmovq	%xmm0, %rcx
-# CHECK-NEXT:  1      1     1.00           *            vmovq	%xmm0, (%rax)
-# CHECK-NEXT:  1      1     1.00                        vmovsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00           *            vmovsd	%xmm0, (%rax)
-# CHECK-NEXT:  1      6     0.50    *                   vmovsd	(%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovshdup	%xmm0, %xmm2
-# CHECK-NEXT:  1      6     0.50    *                   vmovshdup	(%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovshdup	%ymm0, %ymm2
-# CHECK-NEXT:  1      7     0.50    *                   vmovshdup	(%rax), %ymm2
-# CHECK-NEXT:  1      1     1.00                        vmovsldup	%xmm0, %xmm2
-# CHECK-NEXT:  1      6     0.50    *                   vmovsldup	(%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovsldup	%ymm0, %ymm2
-# CHECK-NEXT:  1      7     0.50    *                   vmovsldup	(%rax), %ymm2
-# CHECK-NEXT:  1      1     1.00                        vmovss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00           *            vmovss	%xmm0, (%rax)
-# CHECK-NEXT:  1      6     0.50    *                   vmovss	(%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovupd	%xmm0, %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vmovdqu	(%rax), %xmm2
+# CHECK-NEXT:  2      2     1.00                        vmovdqu	%ymm0, %ymm2
+# CHECK-NEXT:  8      1     1.00           *            vmovdqu	%ymm0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                   vmovdqu	(%rax), %ymm2
+# CHECK-NEXT:  1      2     0.50                        vmovhlps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vmovlhps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00           *            vmovhpd	%xmm0, (%rax)
+# CHECK-NEXT:  1      7     0.50    *                   vmovhpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00           *            vmovhps	%xmm0, (%rax)
+# CHECK-NEXT:  1      7     0.50    *                   vmovhps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     1.00           *            vmovlpd	%xmm0, (%rax)
+# CHECK-NEXT:  1      7     0.50    *                   vmovlpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     1.00           *            vmovlps	%xmm0, (%rax)
+# CHECK-NEXT:  1      7     0.50    *                   vmovlps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      10    1.00                        vmovmskpd	%xmm0, %ecx
+# CHECK-NEXT:  2      10    1.00                        vmovmskpd	%ymm0, %ecx
+# CHECK-NEXT:  2      10    1.00                        vmovmskps	%xmm0, %ecx
+# CHECK-NEXT:  2      10    1.00                        vmovmskps	%ymm0, %ecx
+# CHECK-NEXT:  1      2     1.00           *            vmovntdq	%xmm0, (%rax)
+# CHECK-NEXT:  4      2     2.00           *            vmovntdq	%ymm0, (%rax)
+# CHECK-NEXT:  1      5     0.50    *                   vmovntdqa	(%rax), %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vmovntdqa	(%rax), %ymm2
+# CHECK-NEXT:  1      3     1.00           *            vmovntpd	%xmm0, (%rax)
+# CHECK-NEXT:  4      3     2.00           *            vmovntpd	%ymm0, (%rax)
+# CHECK-NEXT:  1      3     1.00           *            vmovntps	%xmm0, (%rax)
+# CHECK-NEXT:  4      3     2.00           *            vmovntps	%ymm0, (%rax)
+# CHECK-NEXT:  1      2     0.50                        vmovq	%xmm0, %xmm2
+# CHECK-NEXT:  2      10    0.50                        vmovq	%rax, %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vmovq	(%rax), %xmm2
+# CHECK-NEXT:  1      10    1.00                        vmovq	%xmm0, %rcx
+# CHECK-NEXT:  1      2     1.00           *            vmovq	%xmm0, (%rax)
+# CHECK-NEXT:  1      2     0.50                        vmovsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      2     1.00           *            vmovsd	%xmm0, (%rax)
+# CHECK-NEXT:  1      5     0.50    *                   vmovsd	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vmovshdup	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vmovshdup	(%rax), %xmm2
+# CHECK-NEXT:  2      2     1.00                        vmovshdup	%ymm0, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vmovshdup	(%rax), %ymm2
+# CHECK-NEXT:  1      2     0.50                        vmovsldup	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vmovsldup	(%rax), %xmm2
+# CHECK-NEXT:  2      2     1.00                        vmovsldup	%ymm0, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vmovsldup	(%rax), %ymm2
+# CHECK-NEXT:  1      2     0.50                        vmovss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      2     1.00           *            vmovss	%xmm0, (%rax)
+# CHECK-NEXT:  1      5     0.50    *                   vmovss	(%rax), %xmm2
+# CHECK-NEXT:  1      1     0.50                        vmovupd	%xmm0, %xmm2
 # CHECK-NEXT:  1      1     1.00           *            vmovupd	%xmm0, (%rax)
-# CHECK-NEXT:  1      6     0.50    *                   vmovupd	(%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovupd	%ymm0, %ymm2
-# CHECK-NEXT:  1      1     1.00           *            vmovupd	%ymm0, (%rax)
-# CHECK-NEXT:  1      7     0.50    *                   vmovupd	(%rax), %ymm2
-# CHECK-NEXT:  1      1     1.00                        vmovups	%xmm0, %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vmovupd	(%rax), %xmm2
+# CHECK-NEXT:  2      2     1.00                        vmovupd	%ymm0, %ymm2
+# CHECK-NEXT:  8      1     1.00           *            vmovupd	%ymm0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                   vmovupd	(%rax), %ymm2
+# CHECK-NEXT:  1      1     0.50                        vmovups	%xmm0, %xmm2
 # CHECK-NEXT:  1      1     1.00           *            vmovups	%xmm0, (%rax)
-# CHECK-NEXT:  1      6     0.50    *                   vmovups	(%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vmovups	%ymm0, %ymm2
-# CHECK-NEXT:  1      1     1.00           *            vmovups	%ymm0, (%rax)
-# CHECK-NEXT:  1      7     0.50    *                   vmovups	(%rax), %ymm2
-# CHECK-NEXT:  3      7     1.00                        vmpsadbw	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      13    1.00    *                   vmpsadbw	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      5     0.50    *                   vmovups	(%rax), %xmm2
+# CHECK-NEXT:  2      2     1.00                        vmovups	%ymm0, %ymm2
+# CHECK-NEXT:  8      1     1.00           *            vmovups	%ymm0, (%rax)
+# CHECK-NEXT:  2      5     0.50    *                   vmovups	(%rax), %ymm2
+# CHECK-NEXT:  9      9     2.00                        vmpsadbw	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  9      14    2.00    *                   vmpsadbw	$1, (%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     1.00                        vmulpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vmulpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vmulpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vmulpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    1.00    *                   vmulpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     2.00                        vmulpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vmulpd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     1.00                        vmulps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vmulps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vmulps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vmulps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    1.00    *                   vmulps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     2.00                        vmulps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vmulps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     1.00                        vmulsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vmulsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vmulsd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     1.00                        vmulss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vmulss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vorpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vorpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vorpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vorpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vorps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vorps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vorps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     0.50                        vpabsb	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpabsb	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpabsd	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpabsd	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpabsw	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpabsw	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpackssdw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpackssdw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpacksswb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpacksswb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpackusdw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpackusdw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpackuswb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpackuswb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpaddb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpaddb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpaddd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpaddd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpaddq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpaddq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpaddsb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpaddsb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpaddsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpaddsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpaddusb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpaddusb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpaddusw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpaddusw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpaddw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpaddw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpalignr	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpalignr	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.33                        vpand	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpand	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.33                        vpandn	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpandn	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpavgb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpavgb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpavgw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpavgw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpblendvb	%xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vpblendvb	%xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpblendw	$11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpblendw	$11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      14    6.00                        vpclmulqdq	$11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      14    5.67    *                   vpclmulqdq	$11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpcmpeqb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpcmpeqd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      4     2.67                        vpcmpestri	$1, %xmm0, %xmm2
-# CHECK-NEXT:  1      4     2.33    *                   vpcmpestri	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      11    2.67                        vpcmpestrm	$1, %xmm0, %xmm2
-# CHECK-NEXT:  1      11    2.33    *                   vpcmpestrm	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpcmpgtb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpcmpgtd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpcmpgtd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpcmpgtq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpcmpgtw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      11    3.00                        vpcmpistri	$1, %xmm0, %xmm2
-# CHECK-NEXT:  4      17    3.00    *                   vpcmpistri	$1, (%rax), %xmm2
-# CHECK-NEXT:  3      11    3.00                        vpcmpistrm	$1, %xmm0, %xmm2
-# CHECK-NEXT:  4      17    3.00    *                   vpcmpistrm	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vpermilpd	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vpermilpd	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpermilpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vpermilpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpermilpd	$1, %ymm0, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vpermilpd	$1, (%rax), %ymm2
-# CHECK-NEXT:  1      1     1.00                        vpermilpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vpermilpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vpermilps	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vpermilps	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpermilps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vpermilps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpermilps	$1, %ymm0, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vpermilps	$1, (%rax), %ymm2
-# CHECK-NEXT:  1      1     1.00                        vpermilps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vpermilps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      3     1.00                        vpextrb	$1, %xmm0, %ecx
-# CHECK-NEXT:  3      5     1.00           *            vpextrb	$1, %xmm0, (%rax)
-# CHECK-NEXT:  2      3     1.00                        vpextrd	$1, %xmm0, %ecx
-# CHECK-NEXT:  4      5     1.00           *            vpextrd	$1, %xmm0, (%rax)
-# CHECK-NEXT:  2      3     1.00                        vpextrq	$1, %xmm0, %rcx
-# CHECK-NEXT:  4      5     1.00           *            vpextrq	$1, %xmm0, (%rax)
-# CHECK-NEXT:  2      3     1.00                        vpextrw	$1, %xmm0, %ecx
-# CHECK-NEXT:  3      5     1.00           *            vpextrw	$1, %xmm0, (%rax)
-# CHECK-NEXT:  3      3     1.50                        vphaddd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      9     1.50    *                   vphaddd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      3     1.50                        vphaddsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      9     1.50    *                   vphaddsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      3     1.50                        vphaddw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      9     1.50    *                   vphaddw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vphminposuw	%xmm0, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vphminposuw	(%rax), %xmm2
-# CHECK-NEXT:  3      3     1.50                        vphsubd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      9     1.50    *                   vphsubd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      3     1.50                        vphsubsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      9     1.50    *                   vphsubsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  3      3     1.50                        vphsubw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  4      9     1.50    *                   vphsubw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpinsrb	$1, %eax, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpinsrb	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpinsrd	$1, %eax, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpinsrd	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpinsrq	$1, %rax, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpinsrq	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpinsrw	$1, %eax, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpinsrw	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpmaddubsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpmaddubsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpmaddwd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpmaddwd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmaxsb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmaxsb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmaxsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmaxsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmaxsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmaxsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmaxub	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmaxub	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmaxud	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmaxud	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmaxuw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmaxuw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpminsb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpminsb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpminsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpminsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpminsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpminsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpminub	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpminub	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpminud	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpminud	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpminuw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpminuw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      2     1.00                        vpmovmskb	%xmm0, %ecx
-# CHECK-NEXT:  1      1     0.50                        vpmovsxbd	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovsxbd	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovsxbq	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovsxbq	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovsxbw	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovsxbw	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovsxdq	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovsxdq	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovsxwd	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovsxwd	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovsxwq	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovsxwq	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovzxbd	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovzxbd	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovzxbq	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovzxbq	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovzxbw	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovzxbw	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovzxdq	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovzxdq	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovzxwd	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovzxwd	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpmovzxwq	%xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpmovzxwq	(%rax), %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpmuldq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpmuldq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpmulhrsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpmulhrsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpmulhuw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpmulhuw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpmulhw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpmulhw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpmulld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpmulld	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpmullw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpmullw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpmuludq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpmuludq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.33                        vpor	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpor	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpsadbw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpsadbw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpshufb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpshufb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpshufd	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpshufd	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpshufhw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpshufhw	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpshuflw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpshuflw	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsignb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsignb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsignd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsignd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsignw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsignw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpslld	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpslld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vpslld	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpslldq	$1, %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpsllq	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpsllq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vpsllq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpsllw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpsllw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vpsllw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpsrad	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpsrad	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vpsrad	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpsraw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpsraw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vpsraw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpsrld	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpsrld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vpsrld	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsrldq	$1, %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpsrlq	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpsrlq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vpsrlq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vpsrlw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vpsrlw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  3      8     1.00    *                   vpsrlw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsubb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsubb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsubd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsubd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsubq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsubq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsubsb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsubsb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsubsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsubsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsubusb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsubusb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsubusw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsubusw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpsubw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpsubw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      2     1.00                        vptest	%xmm0, %xmm1
-# CHECK-NEXT:  3      8     1.00    *                   vptest	(%rax), %xmm1
-# CHECK-NEXT:  2      2     1.00                        vptest	%ymm0, %ymm1
-# CHECK-NEXT:  3      9     1.00    *                   vptest	(%rax), %ymm1
-# CHECK-NEXT:  1      1     0.50                        vpunpckhbw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpunpckhbw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpunpckhdq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpunpckhdq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpunpckhqdq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpunpckhqdq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpunpckhwd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpunpckhwd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpunpcklbw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpunpcklbw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpunpckldq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpunpckldq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpunpcklqdq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpunpcklqdq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.50                        vpunpcklwd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpunpcklwd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     0.33                        vpxor	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     0.50    *                   vpxor	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vmulss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vorpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vorpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vorpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vorpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vorps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vorps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vorps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vorps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vpabsb	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpabsb	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpabsd	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpabsd	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpabsw	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpabsw	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpackssdw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpackssdw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpacksswb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpacksswb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpackusdw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpackusdw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpackuswb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpackuswb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpaddb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpaddb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpaddd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpaddd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpaddq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpaddq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpaddsb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpaddsb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpaddsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpaddsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpaddusb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpaddusb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpaddusw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpaddusw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpaddw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpaddw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpalignr	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpalignr	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpand	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpand	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpandn	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpandn	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpavgb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpavgb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpavgw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpavgw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     2.00                        vpblendvb	%xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     2.00    *                   vpblendvb	%xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpblendw	$11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpblendw	$11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  6      13    1.00                        vpclmulqdq	$11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  6      17    1.00    *                   vpclmulqdq	$11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpcmpeqb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpcmpeqd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpcmpeqq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpeqw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  27     15    4.00                        vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  28     20    4.50    *                   vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT:  27     10    4.00                        vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  28     15    4.50    *                   vpcmpestrm	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpgtb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpcmpgtb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpgtd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpcmpgtd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpgtq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpcmpgtq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpcmpgtw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  7      14    1.00                        vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT:  8      19    1.00    *                   vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  7      6     1.00                        vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT:  9      11    1.00    *                   vpcmpistrm	$1, (%rax), %xmm2
+# CHECK-NEXT:  8      4     0.50                        vperm2f128	$1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  10     8     0.50    *                   vperm2f128	$1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vpermilpd	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpermilpd	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      3     2.00                        vpermilpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     2.00    *                   vpermilpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vpermilpd	$1, %ymm0, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vpermilpd	$1, (%rax), %ymm2
+# CHECK-NEXT:  2      3     3.00                        vpermilpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      8     3.00    *                   vpermilpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vpermilps	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpermilps	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      3     2.00                        vpermilps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     2.00    *                   vpermilps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vpermilps	$1, %ymm0, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vpermilps	$1, (%rax), %ymm2
+# CHECK-NEXT:  2      3     3.00                        vpermilps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      8     3.00    *                   vpermilps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  2      13    1.00                        vpextrb	$1, %xmm0, %ecx
+# CHECK-NEXT:  2      13    1.00           *            vpextrb	$1, %xmm0, (%rax)
+# CHECK-NEXT:  2      13    1.00                        vpextrd	$1, %xmm0, %ecx
+# CHECK-NEXT:  2      13    1.00           *            vpextrd	$1, %xmm0, (%rax)
+# CHECK-NEXT:  2      13    1.00                        vpextrq	$1, %xmm0, %rcx
+# CHECK-NEXT:  2      13    1.00           *            vpextrq	$1, %xmm0, (%rax)
+# CHECK-NEXT:  2      13    1.00                        vpextrw	$1, %xmm0, %ecx
+# CHECK-NEXT:  2      13    1.00           *            vpextrw	$1, %xmm0, (%rax)
+# CHECK-NEXT:  3      5     0.50                        vphaddd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      10    0.50    *                   vphaddd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      5     0.50                        vphaddsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      10    0.50    *                   vphaddsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      5     0.50                        vphaddw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      10    0.50    *                   vphaddw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      4     1.00                        vphminposuw	%xmm0, %xmm2
+# CHECK-NEXT:  2      9     1.00    *                   vphminposuw	(%rax), %xmm2
+# CHECK-NEXT:  3      5     0.50                        vphsubd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      10    0.50    *                   vphsubd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      5     0.50                        vphsubsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      10    0.50    *                   vphsubsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      5     0.50                        vphsubw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  4      10    0.50    *                   vphsubw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     0.50                        vpinsrb	$1, %eax, %xmm1, %xmm2
+# CHECK-NEXT:  2      6     0.50    *                   vpinsrb	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     0.50                        vpinsrd	$1, %eax, %xmm1, %xmm2
+# CHECK-NEXT:  2      6     0.50    *                   vpinsrd	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     0.50                        vpinsrq	$1, %rax, %xmm1, %xmm2
+# CHECK-NEXT:  2      6     0.50    *                   vpinsrq	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     0.50                        vpinsrw	$1, %eax, %xmm1, %xmm2
+# CHECK-NEXT:  2      6     0.50    *                   vpinsrw	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vpmaddubsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vpmaddubsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vpmaddwd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vpmaddwd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmaxsb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmaxsb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmaxsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmaxsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmaxsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmaxsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmaxub	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmaxub	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmaxud	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmaxud	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmaxuw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmaxuw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpminsb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpminsb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpminsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpminsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpminsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpminsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpminub	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpminub	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpminud	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpminud	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpminuw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpminuw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      13    1.00                        vpmovmskb	%xmm0, %ecx
+# CHECK-NEXT:  1      2     0.50                        vpmovsxbd	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovsxbd	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovsxbq	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovsxbq	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovsxbw	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovsxbw	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovsxdq	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovsxdq	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovsxwd	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovsxwd	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovsxwq	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovsxwq	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovzxbd	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovzxbd	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovzxbq	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovzxbq	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovzxbw	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovzxbw	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovzxdq	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovzxdq	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovzxwd	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovzxwd	(%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpmovzxwq	%xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpmovzxwq	(%rax), %xmm2
+# CHECK-NEXT:  1      4     1.00                        vpmuldq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vpmuldq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vpmulhrsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vpmulhrsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vpmulhuw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vpmulhuw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vpmulhw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vpmulhw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      5     2.00                        vpmulld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    2.00    *                   vpmulld	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vpmullw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vpmullw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vpmuludq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vpmuludq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpor	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpor	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      4     0.50                        vpsadbw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  2      9     0.50    *                   vpsadbw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      3     2.00                        vpshufb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     2.00    *                   vpshufb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpshufd	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpshufd	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpshufhw	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpshufhw	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpshuflw	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpshuflw	$1, (%rax), %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsignb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsignb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsignd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsignd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsignw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsignw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpslld	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      3     0.50                        vpslld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     0.50    *                   vpslld	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpslldq	$1, %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsllq	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      3     0.50                        vpsllq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     0.50    *                   vpsllq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsllw	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      3     0.50                        vpsllw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     0.50    *                   vpsllw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsrad	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      3     0.50                        vpsrad	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     0.50    *                   vpsrad	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsraw	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      3     0.50                        vpsraw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     0.50    *                   vpsraw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsrld	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      3     0.50                        vpsrld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     0.50    *                   vpsrld	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsrldq	$1, %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsrlq	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      3     0.50                        vpsrlq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     0.50    *                   vpsrlq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsrlw	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      3     0.50                        vpsrlw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      8     0.50    *                   vpsrlw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsubb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsubb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsubd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsubd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsubq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsubq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsubsb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsubsb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsubsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsubsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsubusb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsubusb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsubusw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsubusw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpsubw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpsubw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      1     1.00                        vptest	%xmm0, %xmm1
+# CHECK-NEXT:  2      6     1.00    *                   vptest	(%rax), %xmm1
+# CHECK-NEXT:  4      1     1.00                        vptest	%ymm0, %ymm1
+# CHECK-NEXT:  6      6     1.00    *                   vptest	(%rax), %ymm1
+# CHECK-NEXT:  1      2     0.50                        vpunpckhbw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpunpckhbw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpunpckhdq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpunpckhdq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpunpckhqdq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpunpckhqdq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpunpckhwd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpunpckhwd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpunpcklbw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpunpcklbw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpunpckldq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpunpckldq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpunpcklqdq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpunpcklqdq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpunpcklwd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpunpcklwd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vpxor	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vpxor	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     1.00                        vrcpps	%xmm0, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vrcpps	(%rax), %xmm2
-# CHECK-NEXT:  3      7     2.00                        vrcpps	%ymm0, %ymm2
-# CHECK-NEXT:  4      14    2.00    *                   vrcpps	(%rax), %ymm2
+# CHECK-NEXT:  1      10    1.00    *                   vrcpps	(%rax), %xmm2
+# CHECK-NEXT:  2      5     2.00                        vrcpps	%ymm0, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vrcpps	(%rax), %ymm2
 # CHECK-NEXT:  1      5     1.00                        vrcpss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vrcpss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vroundpd	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vroundpd	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      3     1.00                        vroundpd	$1, %ymm0, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vroundpd	$1, (%rax), %ymm2
-# CHECK-NEXT:  1      3     1.00                        vroundps	$1, %xmm0, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vroundps	$1, (%rax), %xmm2
-# CHECK-NEXT:  1      3     1.00                        vroundps	$1, %ymm0, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vroundps	$1, (%rax), %ymm2
-# CHECK-NEXT:  1      3     1.00                        vroundsd	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vroundsd	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vroundss	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vroundss	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vrcpss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vroundpd	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vroundpd	$1, (%rax), %xmm2
+# CHECK-NEXT:  2      4     2.00                        vroundpd	$1, %ymm0, %ymm2
+# CHECK-NEXT:  2      9     2.00    *                   vroundpd	$1, (%rax), %ymm2
+# CHECK-NEXT:  1      4     1.00                        vroundps	$1, %xmm0, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vroundps	$1, (%rax), %xmm2
+# CHECK-NEXT:  2      4     2.00                        vroundps	$1, %ymm0, %ymm2
+# CHECK-NEXT:  2      9     2.00    *                   vroundps	$1, (%rax), %ymm2
+# CHECK-NEXT:  1      4     1.00                        vroundsd	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vroundsd	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      4     1.00                        vroundss	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      9     1.00    *                   vroundss	$1, (%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     1.00                        vrsqrtps	%xmm0, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vrsqrtps	(%rax), %xmm2
-# CHECK-NEXT:  3      7     2.00                        vrsqrtps	%ymm0, %ymm2
-# CHECK-NEXT:  4      14    2.00    *                   vrsqrtps	(%rax), %ymm2
+# CHECK-NEXT:  1      10    1.00    *                   vrsqrtps	(%rax), %xmm2
+# CHECK-NEXT:  2      5     2.00                        vrsqrtps	%ymm0, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vrsqrtps	(%rax), %ymm2
 # CHECK-NEXT:  1      5     1.00                        vrsqrtss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vrsqrtss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vshufpd	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vshufpd	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vshufpd	$1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vshufpd	$1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vshufps	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vshufps	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vshufps	$1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vshufps	$1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      21    21.00                       vsqrtpd	%xmm0, %xmm2
-# CHECK-NEXT:  2      27    21.00   *                   vsqrtpd	(%rax), %xmm2
-# CHECK-NEXT:  3      45    44.00                       vsqrtpd	%ymm0, %ymm2
-# CHECK-NEXT:  4      52    44.00   *                   vsqrtpd	(%rax), %ymm2
-# CHECK-NEXT:  1      14    14.00                       vsqrtps	%xmm0, %xmm2
-# CHECK-NEXT:  2      20    14.00   *                   vsqrtps	(%rax), %xmm2
-# CHECK-NEXT:  3      29    28.00                       vsqrtps	%ymm0, %ymm2
-# CHECK-NEXT:  4      36    28.00   *                   vsqrtps	(%rax), %ymm2
-# CHECK-NEXT:  1      21    21.00                       vsqrtsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      27    21.00   *                   vsqrtsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      14    14.00                       vsqrtss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      20    14.00   *                   vsqrtss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  4      5     1.00    *      *      U     vstmxcsr	(%rax)
-# CHECK-NEXT:  1      3     1.00                        vsubpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vsubpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vsubpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vsubpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vsubps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vsubps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vsubps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    1.00    *                   vsubps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      3     1.00                        vsubsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vsubsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      3     1.00                        vsubss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      9     1.00    *                   vsubss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vtestpd	%xmm0, %xmm1
-# CHECK-NEXT:  2      7     1.00    *                   vtestpd	(%rax), %xmm1
-# CHECK-NEXT:  1      1     1.00                        vtestpd	%ymm0, %ymm1
-# CHECK-NEXT:  2      8     1.00    *                   vtestpd	(%rax), %ymm1
-# CHECK-NEXT:  1      1     1.00                        vtestps	%xmm0, %xmm1
-# CHECK-NEXT:  2      7     1.00    *                   vtestps	(%rax), %xmm1
-# CHECK-NEXT:  1      1     1.00                        vtestps	%ymm0, %ymm1
-# CHECK-NEXT:  2      8     1.00    *                   vtestps	(%rax), %ymm1
-# CHECK-NEXT:  2      2     1.00                        vucomisd	%xmm0, %xmm1
-# CHECK-NEXT:  3      8     1.00    *                   vucomisd	(%rax), %xmm1
-# CHECK-NEXT:  2      2     1.00                        vucomiss	%xmm0, %xmm1
-# CHECK-NEXT:  3      8     1.00    *                   vucomiss	(%rax), %xmm1
-# CHECK-NEXT:  1      1     1.00                        vunpckhpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vunpckhpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vunpckhpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vunpckhpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vunpckhps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vunpckhps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vunpckhps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vunpckhps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vunpcklpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vunpcklpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vunpcklpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vunpcklpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vunpcklps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vunpcklps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vunpcklps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vunpcklps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vxorpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vxorpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vxorpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vxorpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      1     1.00                        vxorps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      7     1.00    *                   vxorps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      1     1.00                        vxorps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  20     9     2.00    *      *      U     vzeroall
-# CHECK-NEXT:  1      100   0.33    *      *      U     vzeroupper
+# CHECK-NEXT:  1      10    1.00    *                   vrsqrtss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      2     0.50                        vshufpd	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vshufpd	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vshufpd	$1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vshufpd	$1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vshufps	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vshufps	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vshufps	$1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vshufps	$1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      9     13.50                       vsqrtpd	%xmm0, %xmm2
+# CHECK-NEXT:  1      14    13.50   *                   vsqrtpd	(%rax), %xmm2
+# CHECK-NEXT:  2      9     27.00                       vsqrtpd	%ymm0, %ymm2
+# CHECK-NEXT:  2      14    27.00   *                   vsqrtpd	(%rax), %ymm2
+# CHECK-NEXT:  1      9     10.50                       vsqrtps	%xmm0, %xmm2
+# CHECK-NEXT:  1      14    10.50   *                   vsqrtps	(%rax), %xmm2
+# CHECK-NEXT:  2      9     21.00                       vsqrtps	%ymm0, %ymm2
+# CHECK-NEXT:  2      14    21.00   *                   vsqrtps	(%rax), %ymm2
+# CHECK-NEXT:  1      9     13.50                       vsqrtsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      14    13.50   *                   vsqrtsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      9     10.50                       vsqrtss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      14    10.50   *                   vsqrtss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      1     0.50    *      *      U     vstmxcsr	(%rax)
+# CHECK-NEXT:  1      5     1.00                        vsubpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vsubpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     2.00                        vsubpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vsubpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      5     1.00                        vsubps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vsubps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     2.00                        vsubps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    2.00    *                   vsubps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      5     1.00                        vsubsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vsubsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      5     1.00                        vsubss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      10    1.00    *                   vsubss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      1     1.00                        vtestpd	%xmm0, %xmm1
+# CHECK-NEXT:  2      6     1.00    *                   vtestpd	(%rax), %xmm1
+# CHECK-NEXT:  4      1     1.00                        vtestpd	%ymm0, %ymm1
+# CHECK-NEXT:  6      6     1.00    *                   vtestpd	(%rax), %ymm1
+# CHECK-NEXT:  2      1     1.00                        vtestps	%xmm0, %xmm1
+# CHECK-NEXT:  2      6     1.00    *                   vtestps	(%rax), %xmm1
+# CHECK-NEXT:  4      1     1.00                        vtestps	%ymm0, %ymm1
+# CHECK-NEXT:  6      6     1.00    *                   vtestps	(%rax), %ymm1
+# CHECK-NEXT:  2      1     1.00                        vucomisd	%xmm0, %xmm1
+# CHECK-NEXT:  2      6     1.00    *                   vucomisd	(%rax), %xmm1
+# CHECK-NEXT:  2      1     1.00                        vucomiss	%xmm0, %xmm1
+# CHECK-NEXT:  2      6     1.00    *                   vucomiss	(%rax), %xmm1
+# CHECK-NEXT:  1      2     0.50                        vunpckhpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vunpckhpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vunpckhpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vunpckhpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vunpckhps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vunpckhps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vunpckhps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vunpckhps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vunpcklpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vunpcklpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vunpcklpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vunpcklpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vunpcklps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vunpcklps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vunpcklps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vunpcklps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vxorpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vxorpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vxorpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vxorpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      2     0.50                        vxorps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  1      7     0.50    *                   vxorps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      2     1.00                        vxorps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      7     1.00    *                   vxorps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  32     90    8.00    *      *      U     vzeroall
+# CHECK-NEXT:  16     46    4.00    *      *      U     vzeroupper
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -     572.00 246.83 317.33 39.00  365.83 179.50 179.50
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 229.00 229.00  -      -      -     56.00   -      -     588.00 588.00 127.50 127.50 38.00  107.00 402.50 429.50  -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddsubpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddsubpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddsubpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddsubpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddsubps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddsubps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vaddsubps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vaddsubps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33    -      -     vaesdec	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33   0.50   0.50   vaesdec	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33    -      -     vaesdeclast	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33   0.50   0.50   vaesdeclast	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33    -      -     vaesenc	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33   0.50   0.50   vaesenc	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33    -      -     vaesenclast	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     1.33   0.50   0.50   vaesenclast	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     vaesimc	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     2.00   0.50   0.50   vaesimc	(%rax), %xmm2
-# CHECK-NEXT:  -      -     3.67   3.67    -     3.67    -      -     vaeskeygenassist	$22, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     3.33   3.33    -     3.33   0.50   0.50   vaeskeygenassist	$22, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandnpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vandnpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandnpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vandnpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandnps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vandnps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandnps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vandnps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vandpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vandpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vandps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vandps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vblendpd	$11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50   0.50   0.50   vblendpd	$11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vblendpd	$11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50   0.50   0.50   vblendpd	$11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vblendps	$11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50   0.50   0.50   vblendps	$11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vblendps	$11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50   0.50   0.50   vblendps	$11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     vblendvpd	%xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vblendvpd	%xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     vblendvpd	%ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vblendvpd	%ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     vblendvps	%xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vblendvps	%xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     vblendvps	%ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vblendvps	%ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vbroadcastf128	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vbroadcastsd	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vbroadcastss	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vbroadcastss	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcmppd	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcmppd	$0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcmppd	$0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcmppd	$0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcmpps	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcmpps	$0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcmpps	$0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcmpps	$0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcmpsd	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcmpsd	$0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcmpss	$0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcmpss	$0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcomisd	%xmm0, %xmm1
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcomisd	(%rax), %xmm1
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcomiss	%xmm0, %xmm1
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcomiss	(%rax), %xmm1
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvtdq2pd	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvtdq2pd	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvtdq2pd	%xmm0, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvtdq2pd	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvtdq2ps	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvtdq2ps	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvtdq2ps	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvtdq2ps	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvtpd2dq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvtpd2dqx	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvtpd2dq	%ymm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvtpd2dqy	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvtpd2ps	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvtpd2psx	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvtpd2ps	%ymm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvtpd2psy	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvtps2dq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvtps2dq	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvtps2dq	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvtps2dq	(%rax), %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     vcvtps2pd	%xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vcvtps2pd	(%rax), %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     vcvtps2pd	%xmm0, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vcvtps2pd	(%rax), %ymm2
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcvtsd2si	%xmm0, %ecx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcvtsd2si	%xmm0, %rcx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcvtsd2si	(%rax), %ecx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcvtsd2si	(%rax), %rcx
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvtsd2ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvtsd2ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvtsi2sdl	%ecx, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvtsi2sdq	%rcx, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvtsi2sdl	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvtsi2sdq	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vcvtsi2ssl	%ecx, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vcvtsi2ssq	%rcx, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvtsi2ssl	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvtsi2ssq	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vcvtss2sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vcvtss2sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcvtss2si	%xmm0, %ecx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcvtss2si	%xmm0, %rcx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcvtss2si	(%rax), %ecx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcvtss2si	(%rax), %rcx
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvttpd2dq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvttpd2dqx	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vcvttpd2dq	%ymm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vcvttpd2dqy	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvttps2dq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvttps2dq	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvttps2dq	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvttps2dq	(%rax), %ymm2
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcvttsd2si	%xmm0, %ecx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcvttsd2si	%xmm0, %rcx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcvttsd2si	(%rax), %ecx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcvttsd2si	(%rax), %rcx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcvttss2si	%xmm0, %ecx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vcvttss2si	%xmm0, %rcx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcvttss2si	(%rax), %ecx
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vcvttss2si	(%rax), %rcx
-# CHECK-NEXT:  -     22.00  1.00    -      -      -      -      -     vdivpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -     22.00  1.00    -      -      -     0.50   0.50   vdivpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -     44.00  2.50    -      -     0.50    -      -     vdivpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -     44.00  2.50    -      -     0.50   0.50   0.50   vdivpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     vdivps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -     14.00  1.00    -      -      -     0.50   0.50   vdivps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -     28.00  2.50    -      -     0.50    -      -     vdivps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -     28.00  2.50    -      -     0.50   0.50   0.50   vdivps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -     22.00  1.00    -      -      -      -      -     vdivsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -     22.00  1.00    -      -      -     0.50   0.50   vdivsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     vdivss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -     14.00  1.00    -      -      -     0.50   0.50   vdivss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     vdppd	$22, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00   0.50   0.50   vdppd	$22, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   2.00    -     1.00    -      -     vdpps	$22, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   2.00    -     1.00   0.50   0.50   vdpps	$22, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   2.00    -     1.00    -      -     vdpps	$22, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00   2.00    -     1.00   0.50   0.50   vdpps	$22, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vextractf128	$1, %ymm0, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vextractf128	$1, %ymm0, (%rax)
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     vextractps	$1, %xmm0, %ecx
-# CHECK-NEXT:  -      -      -      -     1.00   1.00   0.50   0.50   vextractps	$1, %xmm0, (%rax)
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhaddpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00   0.50   0.50   vhaddpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhaddpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00   0.50   0.50   vhaddpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhaddps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00   0.50   0.50   vhaddps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhaddps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00   0.50   0.50   vhaddps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhsubpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00   0.50   0.50   vhsubpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhsubpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00   0.50   0.50   vhsubpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhsubps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00   0.50   0.50   vhsubps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     vhsubps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -     2.00   0.50   0.50   vhsubps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vinsertf128	$1, %xmm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50   0.50   0.50   vinsertf128	$1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vinsertps	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vinsertps	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vlddqu	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vlddqu	(%rax), %ymm2
-# CHECK-NEXT:  -      -     1.00    -     1.00   1.00   0.50   0.50   vldmxcsr	(%rax)
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmaskmovdqu	%xmm0, %xmm1
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vmaskmovpd	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vmaskmovpd	(%rax), %ymm0, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   1.00    -     0.50   0.50   vmaskmovpd	%xmm0, %xmm1, (%rax)
-# CHECK-NEXT:  -      -     0.50   0.50   1.00    -     0.50   0.50   vmaskmovpd	%ymm0, %ymm1, (%rax)
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vmaskmovps	(%rax), %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vmaskmovps	(%rax), %ymm0, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   1.00    -     0.50   0.50   vmaskmovps	%xmm0, %xmm1, (%rax)
-# CHECK-NEXT:  -      -     0.50   0.50   1.00    -     0.50   0.50   vmaskmovps	%ymm0, %ymm1, (%rax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vmaxpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vmaxpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vmaxpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vmaxpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vmaxps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vmaxps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vmaxps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vmaxps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vmaxsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vmaxsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vmaxss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vmaxss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vminpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vminpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vminpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vminpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vminps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vminps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vminps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vminps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vminsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vminsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vminss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vminss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovapd	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovapd	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovapd	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovapd	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovapd	%ymm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovapd	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovaps	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovaps	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovaps	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovaps	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovaps	%ymm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovaps	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovd	%eax, %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovd	(%rax), %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmovd	%xmm0, %ecx
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovd	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovddup	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovddup	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovddup	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovddup	(%rax), %ymm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vmovdqa	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovdqa	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovdqa	(%rax), %xmm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vmovdqa	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovdqa	%ymm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovdqa	(%rax), %ymm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vmovdqu	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovdqu	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovdqu	(%rax), %xmm2
-# CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     vmovdqu	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovdqu	%ymm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovdqu	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovhlps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovlhps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovhpd	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vmovhpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovhps	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vmovhps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovlpd	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vmovlpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovlps	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vmovlps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmovmskpd	%xmm0, %ecx
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmovmskpd	%ymm0, %ecx
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmovmskps	%xmm0, %ecx
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmovmskps	%ymm0, %ecx
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovntdq	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovntdq	%ymm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovntdqa	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovntdqa	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovntpd	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovntpd	%ymm0, (%rax)
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovntps	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovntps	%ymm0, (%rax)
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vmovq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovq	%rax, %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovq	(%rax), %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmovq	%xmm0, %rcx
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovq	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovsd	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovsd	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovshdup	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovshdup	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovshdup	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovshdup	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovsldup	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovsldup	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovsldup	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovsldup	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovss	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovss	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovupd	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovupd	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovupd	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovupd	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovupd	%ymm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovupd	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovups	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovups	%xmm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovups	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vmovups	%ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   vmovups	%ymm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   vmovups	(%rax), %ymm2
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     vmpsadbw	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00   0.50   0.50   vmpsadbw	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vmulpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vmulpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vmulps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vmulps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vmulsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vmulss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vmulss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vorpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vorpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vorpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vorpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vorps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vorps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vorps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsb	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsb	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsd	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsd	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsw	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsw	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpackssdw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpackssdw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpacksswb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpacksswb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpackusdw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpackusdw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpackuswb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpackuswb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddusw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddusw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpalignr	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpalignr	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpand	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   vpand	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpandn	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   vpandn	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpavgw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpavgw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     vpblendvb	%xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -     1.00   0.50   0.50   vpblendvb	%xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpblendw	$11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpblendw	$11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     6.00   6.00    -     6.00    -      -     vpclmulqdq	$11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     5.67   5.67    -     5.67   0.50   0.50   vpclmulqdq	$11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpeqw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpeqw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     2.67   2.67    -     2.67    -      -     vpcmpestri	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     2.33   2.33    -     2.33   0.50   0.50   vpcmpestri	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -     2.67   2.67    -     2.67    -      -     vpcmpestrm	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     2.33   2.33    -     2.33   0.50   0.50   vpcmpestrm	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpgtb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpgtb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpgtd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpgtd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpcmpgtq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpcmpgtq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmpgtw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmpgtw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     3.00    -      -      -      -      -     vpcmpistri	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     3.00    -      -      -     0.50   0.50   vpcmpistri	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -     3.00    -      -      -      -      -     vpcmpistrm	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     3.00    -      -      -     0.50   0.50   vpcmpistrm	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vperm2f128	$1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilpd	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermilpd	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermilpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilpd	$1, %ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermilpd	$1, (%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermilpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilps	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermilps	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermilps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilps	$1, %ymm0, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermilps	$1, (%rax), %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermilps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermilps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpextrb	$1, %xmm0, %ecx
-# CHECK-NEXT:  -      -      -     0.50   1.00   0.50   0.50   0.50   vpextrb	$1, %xmm0, (%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpextrd	$1, %xmm0, %ecx
-# CHECK-NEXT:  -      -     1.00   0.50   1.00   0.50   0.50   0.50   vpextrd	$1, %xmm0, (%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpextrq	$1, %xmm0, %rcx
-# CHECK-NEXT:  -      -     1.00   0.50   1.00   0.50   0.50   0.50   vpextrq	$1, %xmm0, (%rax)
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpextrw	$1, %xmm0, %ecx
-# CHECK-NEXT:  -      -      -     0.50   1.00   0.50   0.50   0.50   vpextrw	$1, %xmm0, (%rax)
-# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vphminposuw	%xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vphminposuw	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphsubd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphsubd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphsubsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphsubsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphsubw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphsubw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     1.50    -      -     vpinsrb	$1, %eax, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpinsrb	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     1.50    -      -     vpinsrd	$1, %eax, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpinsrd	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     1.50    -      -     vpinsrq	$1, %rax, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpinsrq	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     1.50    -      -     vpinsrw	$1, %eax, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpinsrw	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddubsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddubsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmaddwd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmaddwd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxub	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxub	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxud	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxud	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmaxuw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmaxuw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminub	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminub	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminud	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminud	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpminuw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpminuw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmovmskb	%xmm0, %ecx
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovsxbd	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovsxbd	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovsxbq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovsxbq	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovsxbw	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovsxbw	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovsxdq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovsxdq	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovsxwd	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovsxwd	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovsxwq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovsxwq	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovzxbd	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovzxbd	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovzxbq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovzxbq	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovzxbw	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovzxbw	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovzxdq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovzxdq	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovzxwd	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovzxwd	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpmovzxwq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpmovzxwq	(%rax), %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmuldq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmuldq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhrsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhrsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhuw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhuw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulhw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulhw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmulld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmulld	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmullw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmullw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmuludq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmuludq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpor	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   vpor	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsadbw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpsadbw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufd	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufd	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufhw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufhw	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshuflw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshuflw	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsignb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsignb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsignd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsignd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsignw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsignw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpslld	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpslld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpslld	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpslldq	$1, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllq	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsllw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsllw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsllw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrad	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrad	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrad	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsraw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsraw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsraw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrld	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrld	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrld	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsrldq	$1, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlq	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpsrlw	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50    -      -     vpsrlw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00   0.50    -     0.50   0.50   0.50   vpsrlw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubsw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubsw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusb	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusb	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubusw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubusw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     vptest	%xmm0, %xmm1
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vptest	(%rax), %xmm1
-# CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     vptest	%ymm0, %ymm1
-# CHECK-NEXT:  -      -     1.00    -      -     1.00   0.50   0.50   vptest	(%rax), %ymm1
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhbw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhbw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhdq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhdq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhqdq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhqdq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhwd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhwd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpcklbw	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpcklbw	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckldq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckldq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpcklqdq	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpcklqdq	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpcklwd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpcklwd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vpxor	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   vpxor	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vrcpps	%xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vrcpps	(%rax), %xmm2
-# CHECK-NEXT:  -      -     2.50    -      -     0.50    -      -     vrcpps	%ymm0, %ymm2
-# CHECK-NEXT:  -      -     2.50    -      -     0.50   0.50   0.50   vrcpps	(%rax), %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vrcpss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vrcpss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vroundpd	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vroundpd	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vroundpd	$1, %ymm0, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vroundpd	$1, (%rax), %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vroundps	$1, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vroundps	$1, (%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vroundps	$1, %ymm0, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vroundps	$1, (%rax), %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vroundsd	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vroundsd	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vroundss	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vroundss	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vrsqrtps	%xmm0, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vrsqrtps	(%rax), %xmm2
-# CHECK-NEXT:  -      -     2.50    -      -     0.50    -      -     vrsqrtps	%ymm0, %ymm2
-# CHECK-NEXT:  -      -     2.50    -      -     0.50   0.50   0.50   vrsqrtps	(%rax), %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vrsqrtss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vrsqrtss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vshufpd	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vshufpd	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vshufpd	$1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vshufpd	$1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vshufps	$1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vshufps	$1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vshufps	$1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vshufps	$1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -     21.00  1.00    -      -      -      -      -     vsqrtpd	%xmm0, %xmm2
-# CHECK-NEXT:  -     21.00  1.00    -      -      -     0.50   0.50   vsqrtpd	(%rax), %xmm2
-# CHECK-NEXT:  -     44.00  2.50    -      -     0.50    -      -     vsqrtpd	%ymm0, %ymm2
-# CHECK-NEXT:  -     44.00  2.50    -      -     0.50   0.50   0.50   vsqrtpd	(%rax), %ymm2
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     vsqrtps	%xmm0, %xmm2
-# CHECK-NEXT:  -     14.00  1.00    -      -      -     0.50   0.50   vsqrtps	(%rax), %xmm2
-# CHECK-NEXT:  -     28.00  2.50    -      -     0.50    -      -     vsqrtps	%ymm0, %ymm2
-# CHECK-NEXT:  -     28.00  2.50    -      -     0.50   0.50   0.50   vsqrtps	(%rax), %ymm2
-# CHECK-NEXT:  -     21.00  1.00    -      -      -      -      -     vsqrtsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -     21.00  1.00    -      -      -     0.50   0.50   vsqrtsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     vsqrtss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -     14.00  1.00    -      -      -     0.50   0.50   vsqrtss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -     1.00   1.00   0.50   0.50   vstmxcsr	(%rax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vsubpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vsubpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vsubpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vsubpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vsubps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vsubps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vsubps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vsubps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vsubsd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vsubsd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vsubss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vsubss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vtestpd	%xmm0, %xmm1
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vtestpd	(%rax), %xmm1
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vtestpd	%ymm0, %ymm1
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vtestpd	(%rax), %ymm1
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vtestps	%xmm0, %xmm1
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vtestps	(%rax), %xmm1
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vtestps	%ymm0, %ymm1
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vtestps	(%rax), %ymm1
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vucomisd	%xmm0, %xmm1
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vucomisd	(%rax), %xmm1
-# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     vucomiss	%xmm0, %xmm1
-# CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   vucomiss	(%rax), %xmm1
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vunpckhpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vunpckhpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vunpckhpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vunpckhpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vunpckhps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vunpckhps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vunpckhps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vunpckhps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vunpcklpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vunpcklpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vunpcklpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vunpcklpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vunpcklps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vunpcklps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vunpcklps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vunpcklps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vxorpd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vxorpd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vxorpd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vxorpd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vxorps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vxorps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vxorps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     vzeroall
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     vzeroupper
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vaddpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vaddpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vaddps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vaddps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddsubpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddsubpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vaddsubpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vaddsubpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddsubps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vaddsubps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vaddsubps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vaddsubps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesdec	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesdec	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesdeclast	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesdeclast	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesenc	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesenc	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesenclast	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesenclast	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesimc	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaesimc	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaeskeygenassist	$22, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vaeskeygenassist	$22, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vandnpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vandnpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vandnpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vandnpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vandnps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vandnps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vandnps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vandnps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vandpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vandpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vandpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vandpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vandps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vandps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vandps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vandps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vblendpd	$11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vblendpd	$11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vblendpd	$11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vblendpd	$11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vblendps	$11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vblendps	$11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vblendps	$11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vblendps	$11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vblendvpd	%xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vblendvpd	%xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     3.00   3.00    -      -      -      -     1.00   1.00    -      -      -      -     vblendvpd	%ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     3.00   3.00    -      -      -      -     1.00   1.00    -      -      -      -     vblendvpd	%ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vblendvps	%xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vblendvps	%xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     3.00   3.00    -      -      -      -     1.00   1.00    -      -      -      -     vblendvps	%ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     3.00   3.00    -      -      -      -     1.00   1.00    -      -      -      -     vblendvps	%ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vbroadcastf128	(%rax), %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     1.00   1.00    -      -      -      -     vbroadcastsd	(%rax), %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vbroadcastss	(%rax), %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     1.00   1.00    -      -      -      -     vbroadcastss	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcmppd	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcmppd	$0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vcmppd	$0, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vcmppd	$0, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcmpps	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcmpps	$0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vcmpps	$0, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vcmpps	$0, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcmpsd	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcmpsd	$0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcmpss	$0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcmpss	$0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcomisd	%xmm0, %xmm1
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcomisd	(%rax), %xmm1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcomiss	%xmm0, %xmm1
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vcomiss	(%rax), %xmm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtdq2pd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtdq2pd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtdq2pd	%xmm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtdq2pd	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtdq2ps	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtdq2ps	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtdq2ps	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtdq2ps	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtpd2dq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtpd2dqx	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -     1.00    -     2.00    -      -      -      -     vcvtpd2dq	%ymm0, %xmm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -     1.00    -     2.00    -      -      -      -     vcvtpd2dqy	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtpd2ps	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtpd2psx	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -     1.00    -     2.00    -      -      -      -     vcvtpd2ps	%ymm0, %xmm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -     1.00    -     2.00    -      -      -      -     vcvtpd2psy	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtps2dq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtps2dq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtps2dq	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtps2dq	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtps2pd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtps2pd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtps2pd	%xmm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtps2pd	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvtsd2si	%xmm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvtsd2si	%xmm0, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvtsd2si	(%rax), %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvtsd2si	(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsd2ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsd2ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsi2sdl	%ecx, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsi2sdq	%rcx, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsi2sdl	(%rax), %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsi2sdq	(%rax), %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsi2ssl	%ecx, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsi2ssq	%rcx, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsi2ssl	(%rax), %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtsi2ssq	(%rax), %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtss2sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtss2sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvtss2si	%xmm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvtss2si	%xmm0, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvtss2si	(%rax), %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvtss2si	(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvttpd2dq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvttpd2dqx	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -     1.00    -     2.00    -      -      -      -     vcvttpd2dq	%ymm0, %xmm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -     1.00    -     2.00    -      -      -      -     vcvttpd2dqy	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvttps2dq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvttps2dq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvttps2dq	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvttps2dq	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvttsd2si	%xmm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvttsd2si	%xmm0, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvttsd2si	(%rax), %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvttsd2si	(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvttss2si	%xmm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvttss2si	%xmm0, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvttss2si	(%rax), %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -     1.00    -     1.00    -      -      -      -     vcvttss2si	(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -     vdivpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -     vdivpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     19.00  19.00   -      -      -      -      -     2.00    -      -      -      -     vdivpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     19.00  19.00   -      -      -      -      -     2.00    -      -      -      -     vdivpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -     vdivps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -     vdivps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     19.00  19.00   -      -      -      -      -     2.00    -      -      -      -     vdivps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     19.00  19.00   -      -      -      -      -     2.00    -      -      -      -     vdivps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -     vdivsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -     vdivsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -     vdivss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -     vdivss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.50   1.50    -      -      -      -      -     1.00    -      -      -      -     vdppd	$22, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     1.50   1.50    -      -      -      -      -     1.00    -      -      -      -     vdppd	$22, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.50   1.50    -      -      -      -      -     1.00    -      -      -      -     vdpps	$22, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     1.50   1.50    -      -      -      -      -     1.00    -      -      -      -     vdpps	$22, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     3.00   3.00    -      -      -      -      -     2.00    -      -      -      -     vdpps	$22, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     3.00   3.00    -      -      -      -      -     2.00    -      -      -      -     vdpps	$22, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vextractf128	$1, %ymm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vextractf128	$1, %ymm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vextractps	$1, %xmm0, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vextractps	$1, %xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vhaddpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vhaddpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vhaddpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vhaddpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vhaddps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vhaddps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vhaddps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vhaddps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vhsubpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vhsubpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vhsubpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vhsubpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vhsubps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vhsubps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vhsubps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vhsubps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vinsertf128	$1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vinsertf128	$1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vinsertps	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vinsertps	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vlddqu	(%rax), %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vlddqu	(%rax), %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     vldmxcsr	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmaskmovdqu	%xmm0, %xmm1
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     1.00   1.00    -      -      -      -     0.50   0.50    -      -      -      -     vmaskmovpd	(%rax), %xmm0, %xmm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     2.00   2.00    -      -      -      -     1.00   1.00    -      -      -      -     vmaskmovpd	(%rax), %ymm0, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vmaskmovpd	%xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     2.00   2.00    -      -      -      -     1.00   1.00    -      -      -      -     vmaskmovpd	%ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     1.00   1.00    -      -      -      -     0.50   0.50    -      -      -      -     vmaskmovps	(%rax), %xmm0, %xmm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     2.00   2.00    -      -      -      -     1.00   1.00    -      -      -      -     vmaskmovps	(%rax), %ymm0, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vmaskmovps	%xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     2.00   2.00    -      -      -      -     1.00   1.00    -      -      -      -     vmaskmovps	%ymm0, %ymm1, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmaxpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmaxpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vmaxpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vmaxpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmaxps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmaxps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vmaxps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vmaxps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmaxsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmaxsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmaxss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmaxss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vminpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vminpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vminpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vminpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vminps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vminps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vminps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vminps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vminsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vminsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vminss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vminss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovapd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovapd	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovapd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovapd	%ymm0, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovapd	%ymm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovapd	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovaps	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovaps	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovaps	%ymm0, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovaps	%ymm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovaps	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovd	%eax, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmovd	%xmm0, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovd	%xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovddup	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovddup	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovddup	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovddup	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovdqa	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovdqa	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovdqa	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00   1.00    -      -     1.00   1.00    -      -      -      -     vmovdqa	%ymm0, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovdqa	%ymm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovdqa	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovdqu	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovdqu	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovdqu	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00   1.00    -      -     1.00   1.00    -      -      -      -     vmovdqu	%ymm0, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovdqu	%ymm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovdqu	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovhlps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovlhps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovhpd	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovhpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovhps	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovhps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovlpd	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovlpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovlps	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovlps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmovmskpd	%xmm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmovmskpd	%ymm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmovmskps	%xmm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmovmskps	%ymm0, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovntdq	%xmm0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     2.00    -     2.00    -      -      -      -     vmovntdq	%ymm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovntdqa	(%rax), %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovntdqa	(%rax), %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovntpd	%xmm0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     2.00    -     2.00    -      -      -      -     vmovntpd	%ymm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovntps	%xmm0, (%rax)
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     2.00    -     2.00    -      -      -      -     vmovntps	%ymm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovq	%xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovq	%rax, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vmovq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vmovq	%xmm0, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovq	%xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovsd	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovsd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovshdup	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovshdup	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovshdup	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovshdup	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovsldup	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovsldup	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovsldup	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovsldup	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovss	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovss	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovupd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovupd	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovupd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovupd	%ymm0, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovupd	%ymm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovupd	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovups	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovups	%xmm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovups	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vmovups	%ymm0, %ymm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vmovups	%ymm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vmovups	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     1.00    -      -      -      -      -     vmpsadbw	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     2.00    -     1.00    -      -      -      -      -     vmpsadbw	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vmulpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vmulpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     2.00    -      -      -      -     vmulpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     2.00    -      -      -      -     vmulpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vmulps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vmulps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     2.00    -      -      -      -     vmulps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     2.00    -      -      -      -     vmulps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vmulsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vmulsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vmulss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vmulss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vorpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vorpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vorpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vorpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vorps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vorps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vorps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vorps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpabsb	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpabsb	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpabsd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpabsd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpabsw	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpabsw	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpackssdw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpackssdw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpacksswb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpacksswb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpackusdw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpackusdw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpackuswb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpackuswb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddsb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddsb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddusb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddusb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddusw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddusw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpaddw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpalignr	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpalignr	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpand	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpand	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpandn	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpandn	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpavgb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpavgb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpavgw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpavgw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     2.00   2.00    -      -     0.50   0.50    -      -      -      -     vpblendvb	%xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     2.00   2.00    -      -     0.50   0.50    -      -      -      -     vpblendvb	%xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpblendw	$11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpblendw	$11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpclmulqdq	$11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpclmulqdq	$11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpeqw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT: 4.00   4.00    -      -      -     1.00    -      -     0.50   0.50   2.00   2.00    -      -      -     1.00    -      -      -      -     vpcmpestri	$1, %xmm0, %xmm2
+# CHECK-NEXT: 4.50   4.50    -      -      -     1.00    -      -     0.50   0.50   2.00   2.00    -      -      -     1.00    -      -      -      -     vpcmpestri	$1, (%rax), %xmm2
+# CHECK-NEXT: 4.00   4.00    -      -      -     1.00    -      -     0.50   0.50   2.00   2.00    -      -      -     1.00    -      -      -      -     vpcmpestrm	$1, %xmm0, %xmm2
+# CHECK-NEXT: 4.50   4.50    -      -      -     1.00    -      -     0.50   0.50   2.00   2.00    -      -      -     1.00    -      -      -      -     vpcmpestrm	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpgtb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpgtb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpgtd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpgtd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpgtq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpgtq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpgtw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpcmpgtw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     1.00   1.00    -      -      -      -      -     1.00    -      -      -      -     vpcmpistri	$1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     1.00   1.00    -      -      -      -      -     1.00    -      -      -      -     vpcmpistri	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     1.00   1.00    -      -      -      -      -     1.00    -      -      -      -     vpcmpistrm	$1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     1.00   1.00    -      -      -      -      -     1.00    -      -      -      -     vpcmpistrm	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vperm2f128	$1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vperm2f128	$1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vpermilpd	$1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vpermilpd	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vpermilpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vpermilpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vpermilpd	$1, %ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vpermilpd	$1, (%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     3.00   3.00    -      -      -      -     1.00   1.00    -      -      -      -     vpermilpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     3.00   3.00    -      -      -      -     1.00   1.00    -      -      -      -     vpermilpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vpermilps	$1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vpermilps	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vpermilps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     2.00   2.00    -      -      -      -     0.50   0.50    -      -      -      -     vpermilps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vpermilps	$1, %ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vpermilps	$1, (%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     3.00   3.00    -      -      -      -     1.00   1.00    -      -      -      -     vpermilps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     3.00   3.00    -      -      -      -     1.00   1.00    -      -      -      -     vpermilps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vpextrb	$1, %xmm0, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vpextrb	$1, %xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vpextrd	$1, %xmm0, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vpextrd	$1, %xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vpextrq	$1, %xmm0, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vpextrq	$1, %xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vpextrw	$1, %xmm0, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vpextrw	$1, %xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphaddd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphaddd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphaddsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphaddsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphaddw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphaddw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     1.00    -      -      -      -      -     vphminposuw	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     1.00    -      -      -      -      -     vphminposuw	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphsubd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphsubd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphsubsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphsubsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphsubw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vphsubw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpinsrb	$1, %eax, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpinsrb	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpinsrd	$1, %eax, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpinsrd	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpinsrq	$1, %rax, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpinsrq	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpinsrw	$1, %eax, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpinsrw	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmaddubsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmaddubsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmaddwd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmaddwd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxsb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxsb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxub	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxub	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxud	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxud	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxuw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmaxuw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminsb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminsb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminub	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminub	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminud	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminud	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminuw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpminuw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vpmovmskb	%xmm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxbd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxbd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxbq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxbq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxbw	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxbw	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxdq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxdq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxwd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxwd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxwq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovsxwq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxbd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxbd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxbq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxbq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxbw	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxbw	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxdq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxdq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxwd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxwd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxwq	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpmovzxwq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmuldq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmuldq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmulhrsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmulhrsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmulhuw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmulhuw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmulhw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmulhw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50   2.00    -     2.50   0.50    -      -      -      -     vpmulld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50   2.00    -     2.50   0.50    -      -      -      -     vpmulld	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmullw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmullw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmuludq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     vpmuludq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpor	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpor	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsadbw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsadbw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     2.00   2.00    -      -     0.50   0.50    -      -      -      -     vpshufb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     2.00   2.00    -      -     0.50   0.50    -      -      -      -     vpshufb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpshufd	$1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpshufd	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpshufhw	$1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpshufhw	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpshuflw	$1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpshuflw	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsignb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsignb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsignd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsignd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsignw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsignw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpslld	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpslld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpslld	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpslldq	$1, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsllq	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsllq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsllq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsllw	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsllw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsllw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrad	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrad	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrad	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsraw	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsraw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsraw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrld	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrld	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrld	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrldq	$1, %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrlq	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrlq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrlq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrlw	$1, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrlw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsrlw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubsb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubsb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubsw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubsw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubusb	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubusb	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubusw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubusw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpsubw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vptest	%xmm0, %xmm1
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vptest	(%rax), %xmm1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vptest	%ymm0, %ymm1
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00    -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vptest	(%rax), %ymm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckhbw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckhbw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckhdq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckhdq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckhqdq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckhqdq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckhwd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckhwd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpcklbw	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpcklbw	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckldq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpckldq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpcklqdq	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpcklqdq	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpcklwd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpunpcklwd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpxor	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     vpxor	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vrcpps	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vrcpps	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     2.00    -      -      -      -     vrcpps	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     2.00    -      -      -      -     vrcpps	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vrcpss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vrcpss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vroundpd	$1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vroundpd	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vroundpd	$1, %ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vroundpd	$1, (%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vroundps	$1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vroundps	$1, (%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vroundps	$1, %ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vroundps	$1, (%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vroundsd	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vroundsd	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vroundss	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vroundss	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vrsqrtps	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vrsqrtps	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     2.00    -      -      -      -     vrsqrtps	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     2.00    -      -      -      -     vrsqrtps	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vrsqrtss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     vrsqrtss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vshufpd	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vshufpd	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vshufpd	$1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vshufpd	$1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vshufps	$1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vshufps	$1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vshufps	$1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vshufps	$1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     13.50  13.50   -      -      -      -      -     1.00    -      -      -      -     vsqrtpd	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     13.50  13.50   -      -      -      -      -     1.00    -      -      -      -     vsqrtpd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     27.00  27.00   -      -      -      -      -     2.00    -      -      -      -     vsqrtpd	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     27.00  27.00   -      -      -      -      -     2.00    -      -      -      -     vsqrtpd	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     10.50  10.50   -      -      -      -      -     1.00    -      -      -      -     vsqrtps	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     10.50  10.50   -      -      -      -      -     1.00    -      -      -      -     vsqrtps	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     21.00  21.00   -      -      -      -      -     2.00    -      -      -      -     vsqrtps	%ymm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     21.00  21.00   -      -      -      -      -     2.00    -      -      -      -     vsqrtps	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     13.50  13.50   -      -      -      -      -     1.00    -      -      -      -     vsqrtsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     13.50  13.50   -      -      -      -      -     1.00    -      -      -      -     vsqrtsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     10.50  10.50   -      -      -      -      -     1.00    -      -      -      -     vsqrtss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     10.50  10.50   -      -      -      -      -     1.00    -      -      -      -     vsqrtss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     vstmxcsr	(%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vsubpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vsubpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vsubpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vsubpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vsubps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vsubps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vsubps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     2.00    -      -      -      -      -     vsubps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vsubsd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vsubsd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vsubss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vsubss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vtestpd	%xmm0, %xmm1
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vtestpd	(%rax), %xmm1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vtestpd	%ymm0, %ymm1
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00    -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vtestpd	(%rax), %ymm1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vtestps	%xmm0, %xmm1
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vtestps	(%rax), %xmm1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vtestps	%ymm0, %ymm1
+# CHECK-NEXT: 1.00   1.00    -      -      -     1.00    -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vtestps	(%rax), %ymm1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vucomisd	%xmm0, %xmm1
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vucomisd	(%rax), %xmm1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vucomiss	%xmm0, %xmm1
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     vucomiss	(%rax), %xmm1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vunpckhpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vunpckhpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vunpckhpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vunpckhpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vunpckhps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vunpckhps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vunpckhps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vunpckhps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vunpcklpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vunpcklpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vunpcklpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vunpcklpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vunpcklps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vunpcklps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vunpcklps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vunpcklps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vxorpd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vxorpd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vxorpd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vxorpd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vxorps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     vxorps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vxorps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     1.00   1.00    -      -      -      -     1.00   1.00    -      -      -      -     vxorps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     vzeroall
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     vzeroupper

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-bmi1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-bmi1.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-bmi1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-bmi1.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 andn        %eax, %ebx, %ecx
 andn        (%rax), %ebx, %ecx
@@ -46,68 +46,80 @@ tzcnt       (%rax), %rcx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     0.33                        andnl	%eax, %ebx, %ecx
-# CHECK-NEXT:  2      6     0.50    *                   andnl	(%rax), %ebx, %ecx
-# CHECK-NEXT:  1      1     0.33                        andnq	%rax, %rbx, %rcx
-# CHECK-NEXT:  2      6     0.50    *                   andnq	(%rax), %rbx, %rcx
-# CHECK-NEXT:  2      2     1.00                        bextrl	%eax, %ebx, %ecx
-# CHECK-NEXT:  3      7     1.00    *                   bextrl	%eax, (%rbx), %ecx
-# CHECK-NEXT:  2      2     1.00                        bextrq	%rax, %rbx, %rcx
-# CHECK-NEXT:  3      7     1.00    *                   bextrq	%rax, (%rbx), %rcx
-# CHECK-NEXT:  1      1     0.33                        blsil	%eax, %ecx
+# CHECK-NEXT:  1      1     0.50                        andnl	%eax, %ebx, %ecx
+# CHECK-NEXT:  1      5     0.50    *                   andnl	(%rax), %ebx, %ecx
+# CHECK-NEXT:  1      1     0.50                        andnq	%rax, %rbx, %rcx
+# CHECK-NEXT:  1      5     0.50    *                   andnq	(%rax), %rbx, %rcx
+# CHECK-NEXT:  2      2     0.50                        bextrl	%eax, %ebx, %ecx
+# CHECK-NEXT:  2      6     0.50    *                   bextrl	%eax, (%rbx), %ecx
+# CHECK-NEXT:  2      2     0.50                        bextrq	%rax, %rbx, %rcx
+# CHECK-NEXT:  2      6     0.50    *                   bextrq	%rax, (%rbx), %rcx
+# CHECK-NEXT:  2      2     0.50                        blsil	%eax, %ecx
 # CHECK-NEXT:  2      6     0.50    *                   blsil	(%rax), %ecx
-# CHECK-NEXT:  1      1     0.33                        blsiq	%rax, %rcx
+# CHECK-NEXT:  2      2     0.50                        blsiq	%rax, %rcx
 # CHECK-NEXT:  2      6     0.50    *                   blsiq	(%rax), %rcx
-# CHECK-NEXT:  1      1     0.33                        blsmskl	%eax, %ecx
+# CHECK-NEXT:  2      2     0.50                        blsmskl	%eax, %ecx
 # CHECK-NEXT:  2      6     0.50    *                   blsmskl	(%rax), %ecx
-# CHECK-NEXT:  1      1     0.33                        blsmskq	%rax, %rcx
+# CHECK-NEXT:  2      2     0.50                        blsmskq	%rax, %rcx
 # CHECK-NEXT:  2      6     0.50    *                   blsmskq	(%rax), %rcx
-# CHECK-NEXT:  1      1     0.33                        blsrl	%eax, %ecx
+# CHECK-NEXT:  2      2     0.50                        blsrl	%eax, %ecx
 # CHECK-NEXT:  2      6     0.50    *                   blsrl	(%rax), %ecx
-# CHECK-NEXT:  1      1     0.33                        blsrq	%rax, %rcx
+# CHECK-NEXT:  2      2     0.50                        blsrq	%rax, %rcx
 # CHECK-NEXT:  2      6     0.50    *                   blsrq	(%rax), %rcx
-# CHECK-NEXT:  1      3     1.00                        tzcntl	%eax, %ecx
-# CHECK-NEXT:  2      8     1.00    *                   tzcntl	(%rax), %ecx
-# CHECK-NEXT:  1      3     1.00                        tzcntq	%rax, %rcx
-# CHECK-NEXT:  2      8     1.00    *                   tzcntq	(%rax), %rcx
+# CHECK-NEXT:  2      2     1.00                        tzcntl	%eax, %ecx
+# CHECK-NEXT:  2      6     1.00    *                   tzcntl	(%rax), %ecx
+# CHECK-NEXT:  2      2     1.00                        tzcntq	%rax, %rcx
+# CHECK-NEXT:  2      6     1.00    *                   tzcntq	(%rax), %rcx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     7.33   13.33   -     7.33   6.00   6.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 6.00   6.00    -      -      -     14.00  14.00   -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andnl	%eax, %ebx, %ecx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andnl	(%rax), %ebx, %ecx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     andnq	%rax, %rbx, %rcx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   andnq	(%rax), %rbx, %rcx
-# CHECK-NEXT:  -      -     0.50   1.00    -     0.50    -      -     bextrl	%eax, %ebx, %ecx
-# CHECK-NEXT:  -      -     0.50   1.00    -     0.50   0.50   0.50   bextrl	%eax, (%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   1.00    -     0.50    -      -     bextrq	%rax, %rbx, %rcx
-# CHECK-NEXT:  -      -     0.50   1.00    -     0.50   0.50   0.50   bextrq	%rax, (%rbx), %rcx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsil	%eax, %ecx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsil	(%rax), %ecx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsiq	%rax, %rcx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsiq	(%rax), %rcx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsmskl	%eax, %ecx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsmskl	(%rax), %ecx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsmskq	%rax, %rcx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsmskq	(%rax), %rcx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsrl	%eax, %ecx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsrl	(%rax), %ecx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsrq	%rax, %rcx
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsrq	(%rax), %rcx
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     tzcntl	%eax, %ecx
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   tzcntl	(%rax), %ecx
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     tzcntq	%rax, %rcx
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   tzcntq	(%rax), %rcx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     andnl	%eax, %ebx, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     andnl	(%rax), %ebx, %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     andnq	%rax, %rbx, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     andnq	(%rax), %rbx, %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     bextrl	%eax, %ebx, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     bextrl	%eax, (%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     bextrq	%rax, %rbx, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     bextrq	%rax, (%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsil	%eax, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsil	(%rax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsiq	%rax, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsiq	(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsmskl	%eax, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsmskl	(%rax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsmskq	%rax, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsmskq	(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsrl	%eax, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsrl	(%rax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsrq	%rax, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     blsrq	(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     tzcntl	%eax, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     tzcntl	(%rax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     tzcntq	%rax, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     tzcntq	(%rax), %rcx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-clflushopt.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-clflushopt.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-clflushopt.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-clflushopt.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 clflushopt (%rax)
 
@@ -12,22 +12,34 @@ clflushopt (%rax)
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  4      5     1.00    *      *      U     clflushopt	(%rax)
+# CHECK-NEXT:  1      5     0.50    *      *      U     clflushopt	(%rax)
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     0.50   0.50   1.00   1.00   0.50   0.50
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.50   0.50   1.00   1.00   0.50   0.50   clflushopt	(%rax)
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     clflushopt	(%rax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmov.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmov.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmov.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmov.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 cmovow    %si, %di
 cmovnow   %si, %di
@@ -112,212 +112,224 @@ cmovgq    (%rax), %rdi
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  2      2     0.67                        cmovow	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovnow	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovbw	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovaew	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovew	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovnew	%si, %di
-# CHECK-NEXT:  3      3     1.00                        cmovbew	%si, %di
-# CHECK-NEXT:  3      3     1.00                        cmovaw	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovsw	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovnsw	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovpw	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovnpw	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovlw	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovgew	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovlew	%si, %di
-# CHECK-NEXT:  2      2     0.67                        cmovgw	%si, %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovow	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovnow	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovbw	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovaew	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovew	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovnew	(%rax), %di
-# CHECK-NEXT:  4      8     1.00    *                   cmovbew	(%rax), %di
-# CHECK-NEXT:  4      8     1.00    *                   cmovaw	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovsw	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovnsw	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovpw	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovnpw	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovlw	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovgew	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovlew	(%rax), %di
-# CHECK-NEXT:  3      7     0.67    *                   cmovgw	(%rax), %di
-# CHECK-NEXT:  2      2     0.67                        cmovol	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovnol	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovbl	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovael	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovel	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovnel	%esi, %edi
-# CHECK-NEXT:  3      3     1.00                        cmovbel	%esi, %edi
-# CHECK-NEXT:  3      3     1.00                        cmoval	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovsl	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovnsl	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovpl	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovnpl	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovll	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovgel	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovlel	%esi, %edi
-# CHECK-NEXT:  2      2     0.67                        cmovgl	%esi, %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovol	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovnol	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovbl	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovael	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovel	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovnel	(%rax), %edi
-# CHECK-NEXT:  4      8     1.00    *                   cmovbel	(%rax), %edi
-# CHECK-NEXT:  4      8     1.00    *                   cmoval	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovsl	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovnsl	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovpl	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovnpl	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovll	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovgel	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovlel	(%rax), %edi
-# CHECK-NEXT:  3      7     0.67    *                   cmovgl	(%rax), %edi
-# CHECK-NEXT:  2      2     0.67                        cmovoq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovnoq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovbq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovaeq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmoveq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovneq	%rsi, %rdi
-# CHECK-NEXT:  3      3     1.00                        cmovbeq	%rsi, %rdi
-# CHECK-NEXT:  3      3     1.00                        cmovaq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovsq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovnsq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovpq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovnpq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovlq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovgeq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovleq	%rsi, %rdi
-# CHECK-NEXT:  2      2     0.67                        cmovgq	%rsi, %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovoq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovnoq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovbq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovaeq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmoveq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovneq	(%rax), %rdi
-# CHECK-NEXT:  4      8     1.00    *                   cmovbeq	(%rax), %rdi
-# CHECK-NEXT:  4      8     1.00    *                   cmovaq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovsq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovnsq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovpq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovnpq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovlq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovgeq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovleq	(%rax), %rdi
-# CHECK-NEXT:  3      7     0.67    *                   cmovgq	(%rax), %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovow	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovnow	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovbw	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovaew	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovew	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovnew	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovbew	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovaw	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovsw	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovnsw	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovpw	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovnpw	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovlw	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovgew	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovlew	%si, %di
+# CHECK-NEXT:  1      1     0.50                        cmovgw	%si, %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovow	(%rax), %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovnow	(%rax), %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovbw	(%rax), %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovaew	(%rax), %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovew	(%rax), %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovnew	(%rax), %di
+# CHECK-NEXT:  2      5     0.50    *                   cmovbew	(%rax), %di
+# CHECK-NEXT:  2      5     0.50    *                   cmovaw	(%rax), %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovsw	(%rax), %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovnsw	(%rax), %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovpw	(%rax), %di
+# CHECK-NEXT:  1      5     0.50    *                   cmovnpw	(%rax), %di
+# CHECK-NEXT:  2      5     0.50    *                   cmovlw	(%rax), %di
+# CHECK-NEXT:  2      5     0.50    *                   cmovgew	(%rax), %di
+# CHECK-NEXT:  2      5     0.50    *                   cmovlew	(%rax), %di
+# CHECK-NEXT:  2      5     0.50    *                   cmovgw	(%rax), %di
+# CHECK-NEXT:  1      1     0.50                        cmovol	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovnol	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovbl	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovael	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovel	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovnel	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovbel	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmoval	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovsl	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovnsl	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovpl	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovnpl	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovll	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovgel	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovlel	%esi, %edi
+# CHECK-NEXT:  1      1     0.50                        cmovgl	%esi, %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovol	(%rax), %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovnol	(%rax), %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovbl	(%rax), %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovael	(%rax), %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovel	(%rax), %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovnel	(%rax), %edi
+# CHECK-NEXT:  2      5     0.50    *                   cmovbel	(%rax), %edi
+# CHECK-NEXT:  2      5     0.50    *                   cmoval	(%rax), %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovsl	(%rax), %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovnsl	(%rax), %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovpl	(%rax), %edi
+# CHECK-NEXT:  1      5     0.50    *                   cmovnpl	(%rax), %edi
+# CHECK-NEXT:  2      5     0.50    *                   cmovll	(%rax), %edi
+# CHECK-NEXT:  2      5     0.50    *                   cmovgel	(%rax), %edi
+# CHECK-NEXT:  2      5     0.50    *                   cmovlel	(%rax), %edi
+# CHECK-NEXT:  2      5     0.50    *                   cmovgl	(%rax), %edi
+# CHECK-NEXT:  1      1     0.50                        cmovoq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovnoq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovbq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovaeq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmoveq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovneq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovbeq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovaq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovsq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovnsq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovpq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovnpq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovlq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovgeq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovleq	%rsi, %rdi
+# CHECK-NEXT:  1      1     0.50                        cmovgq	%rsi, %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmovoq	(%rax), %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmovnoq	(%rax), %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmovbq	(%rax), %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmovaeq	(%rax), %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmoveq	(%rax), %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmovneq	(%rax), %rdi
+# CHECK-NEXT:  2      5     0.50    *                   cmovbeq	(%rax), %rdi
+# CHECK-NEXT:  2      5     0.50    *                   cmovaq	(%rax), %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmovsq	(%rax), %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmovnsq	(%rax), %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmovpq	(%rax), %rdi
+# CHECK-NEXT:  1      5     0.50    *                   cmovnpq	(%rax), %rdi
+# CHECK-NEXT:  2      5     0.50    *                   cmovlq	(%rax), %rdi
+# CHECK-NEXT:  2      5     0.50    *                   cmovgeq	(%rax), %rdi
+# CHECK-NEXT:  2      5     0.50    *                   cmovleq	(%rax), %rdi
+# CHECK-NEXT:  2      5     0.50    *                   cmovgq	(%rax), %rdi
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     86.00  32.00   -     86.00  24.00  24.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 24.00  24.00   -      -      -     48.00  48.00   -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovow	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnow	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovbw	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovaew	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovew	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnew	%si, %di
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     cmovbew	%si, %di
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     cmovaw	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovsw	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnsw	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovpw	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnpw	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovlw	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovgew	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovlew	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovgw	%si, %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovow	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnow	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovbw	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovaew	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovew	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnew	(%rax), %di
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33   0.50   0.50   cmovbew	(%rax), %di
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33   0.50   0.50   cmovaw	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovsw	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnsw	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovpw	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnpw	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovlw	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovgew	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovlew	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovgw	(%rax), %di
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovol	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnol	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovbl	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovael	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovel	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnel	%esi, %edi
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     cmovbel	%esi, %edi
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     cmoval	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovsl	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnsl	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovpl	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnpl	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovll	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovgel	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovlel	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovgl	%esi, %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovol	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnol	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovbl	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovael	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovel	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnel	(%rax), %edi
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33   0.50   0.50   cmovbel	(%rax), %edi
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33   0.50   0.50   cmoval	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovsl	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnsl	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovpl	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnpl	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovll	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovgel	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovlel	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovgl	(%rax), %edi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovoq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnoq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovbq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovaeq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmoveq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovneq	%rsi, %rdi
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     cmovbeq	%rsi, %rdi
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33    -      -     cmovaq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovsq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnsq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovpq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovnpq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovlq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovgeq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovleq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     cmovgq	%rsi, %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovoq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnoq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovbq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovaeq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmoveq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovneq	(%rax), %rdi
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33   0.50   0.50   cmovbeq	(%rax), %rdi
-# CHECK-NEXT:  -      -     1.33   0.33    -     1.33   0.50   0.50   cmovaq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovsq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnsq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovpq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovnpq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovlq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovgeq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovleq	(%rax), %rdi
-# CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   cmovgq	(%rax), %rdi
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovow	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnow	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbw	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovaew	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovew	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnew	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbew	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovaw	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovsw	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnsw	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovpw	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnpw	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovlw	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgew	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovlew	%si, %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgw	%si, %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovow	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnow	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbw	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovaew	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovew	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnew	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbew	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovaw	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovsw	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnsw	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovpw	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnpw	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovlw	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgew	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovlew	(%rax), %di
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgw	(%rax), %di
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovol	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnol	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbl	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovael	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovel	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnel	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbel	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmoval	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovsl	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnsl	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovpl	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnpl	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovll	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgel	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovlel	%esi, %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgl	%esi, %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovol	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnol	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbl	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovael	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovel	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnel	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbel	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmoval	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovsl	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnsl	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovpl	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnpl	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovll	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgel	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovlel	(%rax), %edi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgl	(%rax), %edi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovoq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnoq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovaeq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmoveq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovneq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbeq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovaq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovsq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnsq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovpq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnpq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovlq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgeq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovleq	%rsi, %rdi
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgq	%rsi, %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovoq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnoq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovaeq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmoveq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovneq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovbeq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovaq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovsq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnsq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovpq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovnpq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovlq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgeq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovleq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     cmovgq	(%rax), %rdi

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 cmpxchg8b  (%rax)
 cmpxchg16b (%rax)
@@ -13,24 +13,36 @@ cmpxchg16b (%rax)
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  3      6     1.00    *      *            cmpxchg8b	(%rax)
-# CHECK-NEXT:  3      6     1.00    *      *            cmpxchg16b	(%rax)
+# CHECK-NEXT:  18     3     1.00    *      *            cmpxchg8b	(%rax)
+# CHECK-NEXT:  22     3     1.00    *      *            cmpxchg16b	(%rax)
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     0.67   0.67   2.00   0.67   2.00   2.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -      -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   cmpxchg8b	(%rax)
-# CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   cmpxchg16b	(%rax)
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     cmpxchg8b	(%rax)
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     cmpxchg16b	(%rax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-f16c.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-f16c.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-f16c.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-f16c.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 vcvtph2ps   %xmm0, %xmm2
 vcvtph2ps   (%rax), %xmm2
@@ -22,36 +22,48 @@ vcvtps2ph   $0, %ymm0, (%rax)
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        vcvtph2ps	%xmm0, %xmm2
-# CHECK-NEXT:  2      8     1.00    *                   vcvtph2ps	(%rax), %xmm2
-# CHECK-NEXT:  1      3     1.00                        vcvtph2ps	%xmm0, %ymm2
-# CHECK-NEXT:  2      8     1.00    *                   vcvtph2ps	(%rax), %ymm2
-# CHECK-NEXT:  1      3     1.00                        vcvtps2ph	$0, %xmm0, %xmm2
-# CHECK-NEXT:  1      4     1.00           *            vcvtps2ph	$0, %xmm0, (%rax)
-# CHECK-NEXT:  1      3     1.00                        vcvtps2ph	$0, %ymm0, %xmm2
-# CHECK-NEXT:  1      4     1.00           *            vcvtps2ph	$0, %ymm0, (%rax)
+# CHECK-NEXT:  2      8     1.00                        vcvtph2ps	%xmm0, %xmm2
+# CHECK-NEXT:  3      13    1.00    *                   vcvtph2ps	(%rax), %xmm2
+# CHECK-NEXT:  4      8     2.00                        vcvtph2ps	%xmm0, %ymm2
+# CHECK-NEXT:  7      13    2.00    *                   vcvtph2ps	(%rax), %ymm2
+# CHECK-NEXT:  2      8     1.00                        vcvtps2ph	$0, %xmm0, %xmm2
+# CHECK-NEXT:  3      4     1.00           *            vcvtps2ph	$0, %xmm0, (%rax)
+# CHECK-NEXT:  4      8     2.00                        vcvtps2ph	$0, %ymm0, %xmm2
+# CHECK-NEXT:  4      4     2.00           *            vcvtps2ph	$0, %ymm0, (%rax)
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -     8.00   2.00    -     2.00   2.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 2.50   2.50    -      -      -      -      -      -     1.00   1.00    -      -      -     8.00    -     12.00   -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvtph2ps	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvtph2ps	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvtph2ps	%xmm0, %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vcvtph2ps	(%rax), %ymm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvtps2ph	$0, %xmm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00   1.00    -     0.50   0.50   vcvtps2ph	$0, %xmm0, (%rax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vcvtps2ph	$0, %ymm0, %xmm2
-# CHECK-NEXT:  -      -      -     1.00   1.00    -     0.50   0.50   vcvtps2ph	$0, %ymm0, (%rax)
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtph2ps	%xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtph2ps	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtph2ps	%xmm0, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     1.00    -     2.00    -      -      -      -     vcvtph2ps	(%rax), %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtps2ph	$0, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     vcvtps2ph	$0, %xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -     1.00    -     2.00    -      -      -      -     vcvtps2ph	$0, %ymm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -     1.00    -     2.00    -      -      -      -     vcvtps2ph	$0, %ymm0, (%rax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-fma.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-fma.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-fma.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-fma.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 vfmadd132pd %xmm0, %xmm1, %xmm2
 vfmadd132pd (%rax), %xmm1, %xmm2
@@ -299,403 +299,415 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  1      5     0.50                        vfmadd132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmadd132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmadd132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmadd132pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmadd213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmadd213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmadd213pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmadd231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmadd231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmadd231pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmadd132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmadd132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmadd132ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmadd213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmadd213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmadd213ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmadd231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmadd231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmadd231ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd132sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd132sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd132sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd213sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd213sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd213sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd231sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd231sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd231sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd132ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd132ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd132ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd213ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd213ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd213ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmadd231ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmadd231ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmadd231ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmaddsub132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmaddsub132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsub132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmaddsub132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsub132pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmaddsub213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmaddsub213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsub213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmaddsub213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsub213pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmaddsub231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmaddsub231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsub231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmaddsub231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsub231pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmaddsub132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmaddsub132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsub132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmaddsub132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsub132ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmaddsub213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmaddsub213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsub213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmaddsub213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsub213ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmaddsub231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmaddsub231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsub231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsub231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmaddsub231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsub231ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsub132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsub132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsub132pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsub213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsub213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsub213pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsub231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsub231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsub231pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsub132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsub132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsub132ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsub213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsub213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsub213ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsub231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsub231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsub231ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub132sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub132sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub132sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub213sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub213sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub213sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub231sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub231sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub231sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub132ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub132ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub132ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub213ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub213ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub213ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmsub231ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsub231ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsub231ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfmsubadd132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsubadd132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubadd132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsubadd132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubadd132pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsubadd213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsubadd213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubadd213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsubadd213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubadd213pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsubadd231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsubadd231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubadd231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsubadd231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubadd231pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsubadd132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsubadd132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubadd132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsubadd132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubadd132ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsubadd213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsubadd213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubadd213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsubadd213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubadd213ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfmsubadd231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfmsubadd231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubadd231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubadd231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfmsubadd231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubadd231ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmadd132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmadd132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmadd132pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmadd213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmadd213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmadd213pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmadd231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmadd231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmadd231pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmadd132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmadd132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmadd132ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmadd213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmadd213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmadd213ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmadd231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmadd231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmadd231ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd132sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd132sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd132sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd213sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd213sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd213sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd231sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd231sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd231sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd132ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd132ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd132ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd213ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd213ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd213ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmadd231ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmadd231ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmadd231ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmsub132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmsub132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsub132pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmsub213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmsub213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsub213pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmsub231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmsub231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsub231pd	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmsub132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmsub132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsub132ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmsub213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmsub213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsub213ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vfnmsub231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  2      5     0.50                        vfnmsub231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsub231ps	(%rax), %ymm1, %ymm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub132sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub132sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub132sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub213sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub213sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub213sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub231sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub231sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub231sd	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub132ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub132ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub132ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub213ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub213ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub213ss	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      5     0.50                        vfnmsub231ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsub231ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsub231ss	(%rax), %xmm1, %xmm2
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     96.00  96.00   -      -     48.00  48.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 66.00  66.00   -      -      -      -      -      -     96.00  96.00   -      -      -      -     48.00  48.00  48.00  48.00   -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd132pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd213pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd231pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd132ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd213ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd231ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd132sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd132sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd213sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd213sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd231sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd231sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd132ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd132ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd213ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd213ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmadd231ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmadd231ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub132pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub213pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub231pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub132ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub213ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsub231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsub231ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub132pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub213pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub231pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub132ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub213ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub231ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub132sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub132sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub213sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub213sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub231sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub231sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub132ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub132ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub213ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub213ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsub231ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsub231ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd132pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd213pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd231pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd132ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd213ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubadd231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubadd231ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd132pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd213pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd231pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd132ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd213ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd231ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd132sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd132sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd213sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd213sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd231sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd231sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd132ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd132ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd213ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd213ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmadd231ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmadd231ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub132pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub132pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub132pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub132pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub213pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub213pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub213pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub213pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub231pd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub231pd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub231pd	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub231pd	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub132ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub132ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub132ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub132ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub213ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub213ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub213ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub213ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub231ps	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub231ps	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub231ps	%ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub231ps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub132sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub132sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub213sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub213sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub231sd	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub231sd	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub132ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub132ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub213ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub213ss	(%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsub231ss	%xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsub231ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd132ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd213ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmadd231ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub132pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub213pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub231pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub132ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub213ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub231ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsub231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub132ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub213ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsub231ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd132pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd213pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd231pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd132ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd213ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd231ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubadd231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd132ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd213ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmadd231ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231pd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231pd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231pd	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231pd	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231ps	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231ps	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231ps	%ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231ps	(%rax), %ymm1, %ymm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231sd	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231sd	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub132ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub213ss	(%rax), %xmm1, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231ss	%xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsub231ss	(%rax), %xmm1, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-fma4.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-fma4.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-fma4.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-fma4.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 vfmaddpd    %xmm0, %xmm1, %xmm2, %xmm3
 vfmaddpd    (%rax), %xmm1, %xmm2, %xmm3
@@ -139,211 +139,223 @@ vfnmsubss   %xmm0, (%rax), %xmm2, %xmm3
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  1      5     0.50                        vfmaddpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfmaddpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfmaddpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddpd	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfmaddps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfmaddps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfmaddps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddps	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfmaddsd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsd	%xmm0, (%rax), %xmm2, %xmm3
 # CHECK-NEXT:  1      5     0.50                        vfmaddss	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddss	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddss	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddss	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddss	%xmm0, (%rax), %xmm2, %xmm3
 # CHECK-NEXT:  1      5     0.50                        vfmaddsubpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsubpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsubpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfmaddsubpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsubpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsubpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsubpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsubpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfmaddsubpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsubpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsubpd	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfmaddsubps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsubps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsubps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfmaddsubps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsubps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmaddsubps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsubps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmaddsubps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfmaddsubps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsubps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmaddsubps	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfmsubaddpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubaddpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubaddpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfmsubaddpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubaddpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubaddpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubaddpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubaddpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfmsubaddpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubaddpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubaddpd	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfmsubaddps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubaddps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubaddps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfmsubaddps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubaddps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubaddps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubaddps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubaddps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfmsubaddps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubaddps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubaddps	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfmsubpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfmsubpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfmsubpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubpd	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfmsubps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfmsubps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfmsubps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfmsubps	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfmsubsd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubsd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubsd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubsd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubsd	%xmm0, (%rax), %xmm2, %xmm3
 # CHECK-NEXT:  1      5     0.50                        vfmsubss	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubss	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfmsubss	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubss	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfmsubss	%xmm0, (%rax), %xmm2, %xmm3
 # CHECK-NEXT:  1      5     0.50                        vfnmaddpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfnmaddpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmaddpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmaddpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfnmaddpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfnmaddpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfnmaddpd	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfnmaddps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfnmaddps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmaddps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmaddps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfnmaddps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfnmaddps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfnmaddps	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfnmaddsd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddsd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddsd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmaddsd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmaddsd	%xmm0, (%rax), %xmm2, %xmm3
 # CHECK-NEXT:  1      5     0.50                        vfnmaddss	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddss	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmaddss	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmaddss	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmaddss	%xmm0, (%rax), %xmm2, %xmm3
 # CHECK-NEXT:  1      5     0.50                        vfnmsubpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfnmsubpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsubpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsubpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfnmsubpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsubpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsubpd	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfnmsubps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  1      5     0.50                        vfnmsubps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsubps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsubps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  2      5     0.50                        vfnmsubps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsubps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfnmsubps	%ymm0, (%rax), %ymm2, %ymm3
 # CHECK-NEXT:  1      5     0.50                        vfnmsubsd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubsd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubsd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsubsd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsubsd	%xmm0, (%rax), %xmm2, %xmm3
 # CHECK-NEXT:  1      5     0.50                        vfnmsubss	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubss	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  2      10    0.50    *                   vfnmsubss	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsubss	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  1      10    0.50    *                   vfnmsubss	%xmm0, (%rax), %xmm2, %xmm3
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     48.00  48.00   -      -     32.00  32.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 44.00  44.00   -      -      -      -      -      -     48.00  48.00   -      -      -      -     24.00  24.00  24.00  24.00   -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddpd	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddps	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddss	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddss	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddss	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsubpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsubpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsubpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsubpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsubpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsubpd	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsubps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsubps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsubps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmaddsubps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsubps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmaddsubps	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubaddpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubaddpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubaddpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubaddpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubaddpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubaddpd	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubaddps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubaddps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubaddps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubaddps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubaddps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubaddps	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubpd	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubps	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubsd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubsd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubsd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfmsubss	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubss	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfmsubss	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmaddpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmaddpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddpd	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmaddps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmaddps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddps	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmaddsd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddsd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddsd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmaddss	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddss	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmaddss	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsubpd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubpd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubpd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsubpd	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubpd	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubpd	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsubps	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubps	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubps	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsubps	%ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubps	(%rax), %ymm1, %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubps	%ymm0, (%rax), %ymm2, %ymm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsubsd	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubsd	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubsd	%xmm0, (%rax), %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     vfnmsubss	%xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubss	(%rax), %xmm1, %xmm2, %xmm3
-# CHECK-NEXT:  -      -     0.50   0.50    -      -     0.50   0.50   vfnmsubss	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddpd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddps	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddss	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddss	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddss	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubpd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubps	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmaddsubps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddpd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddps	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubaddps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubpd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubps	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubsd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubsd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubsd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubss	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubss	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfmsubss	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddpd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddps	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddsd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddsd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddsd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddss	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddss	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmaddss	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubpd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubpd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubpd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubpd	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubpd	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubpd	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubps	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubps	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubps	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubps	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubps	(%rax), %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubps	%ymm0, (%rax), %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubsd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubsd	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubsd	%xmm0, (%rax), %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubss	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubss	(%rax), %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.25   0.25   0.25   0.25    -      -     vfnmsubss	%xmm0, (%rax), %xmm2, %xmm3

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-lea.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-lea.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-lea.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-lea.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 lea 0(), %cx
 lea 0(), %ecx
@@ -148,290 +148,302 @@ lea 1024(%rax, %rbx, 2), %rcx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     0.50                        leaw	0, %cx
-# CHECK-NEXT:  1      1     0.50                        leal	0, %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	0, %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(%eax), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(%eax), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(%eax), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(%rax), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(%rax), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(%rax), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(,%ebx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(,%ebx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(,%ebx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(,%rbx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(,%rbx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(,%rbx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(%eax,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(%eax,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(%eax,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(%rax,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(%rax,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(%rax,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(%eax,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(%eax,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(%eax,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(%rax,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(%rax,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(%rax,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(%eax,%ebx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(%eax,%ebx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(%eax,%ebx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	(%rax,%rbx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	(%rax,%rbx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	(%rax,%rbx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16, %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16, %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16, %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(%eax), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(%eax), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(%eax), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(%rax), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(%rax), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(%rax), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%ebx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(,%ebx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%ebx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%rbx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(,%rbx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%rbx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(%eax,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(%eax,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(%eax,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(%rax,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(%rax,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(%rax,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(%eax,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(%eax,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(%eax,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(%rax,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(%rax,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(%rax,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(%eax,%ebx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(%eax,%ebx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(%eax,%ebx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	-16(%rax,%rbx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	-16(%rax,%rbx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	-16(%rax,%rbx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024, %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024, %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024, %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(%eax), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(%eax), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(%eax), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(%rax), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(%rax), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(%rax), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%ebx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(,%ebx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%ebx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%rbx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(,%rbx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%rbx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(%eax,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(%eax,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(%eax,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(%rax,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(%rax,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(%rax,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(%eax,%ebx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(%eax,%ebx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(%eax,%ebx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(%rax,%rbx), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(%rax,%rbx), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(%rax,%rbx), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(%eax,%ebx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(%eax,%ebx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(%eax,%ebx,2), %rcx
-# CHECK-NEXT:  1      1     0.50                        leaw	1024(%rax,%rbx,2), %cx
-# CHECK-NEXT:  1      1     0.50                        leal	1024(%rax,%rbx,2), %ecx
-# CHECK-NEXT:  1      1     0.50                        leaq	1024(%rax,%rbx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	0, %cx
+# CHECK-NEXT:  2      1     0.50                        leal	0, %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	0, %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(%eax), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(%eax), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(%eax), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(%rax), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(%rax), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(%rax), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(,%ebx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(,%ebx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(,%ebx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(,%rbx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(,%rbx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(,%rbx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(%eax,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(%eax,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(%eax,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(%rax,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(%rax,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(%rax,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(%eax,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(%eax,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(%eax,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(%rax,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(%rax,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(%rax,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(%eax,%ebx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(%eax,%ebx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(%eax,%ebx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	(%rax,%rbx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	(%rax,%rbx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	(%rax,%rbx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16, %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16, %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16, %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(%eax), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(%eax), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(%eax), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(%rax), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(%rax), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(%rax), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(,%ebx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(,%ebx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(,%ebx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(,%rbx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(,%rbx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(,%rbx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(%eax,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(%eax,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(%eax,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(%rax,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(%rax,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(%rax,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(%eax,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(%eax,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(%eax,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(%rax,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(%rax,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(%rax,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(%eax,%ebx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(%eax,%ebx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(%eax,%ebx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	-16(%rax,%rbx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	-16(%rax,%rbx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	-16(%rax,%rbx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024, %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024, %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024, %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(%eax), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(%eax), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(%eax), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(%rax), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(%rax), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(%rax), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(,%ebx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(,%ebx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(,%ebx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(,%rbx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(,%rbx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(,%rbx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(%eax,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(%eax,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(%eax,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(%rax,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(%rax,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(%rax,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(%eax,%ebx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(%eax,%ebx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(%eax,%ebx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(%rax,%rbx), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(%rax,%rbx), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(%rax,%rbx), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(%eax,%ebx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(%eax,%ebx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(%eax,%ebx,2), %rcx
+# CHECK-NEXT:  2      1     0.50                        leaw	1024(%rax,%rbx,2), %cx
+# CHECK-NEXT:  2      1     0.50                        leal	1024(%rax,%rbx,2), %ecx
+# CHECK-NEXT:  2      1     0.50                        leaq	1024(%rax,%rbx,2), %rcx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     67.50  67.50   -      -      -      -
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT:  -      -      -      -      -     67.50  67.50   -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	0, %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	0, %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	0, %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%eax), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%eax), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%eax), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%rax), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%rax), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%rax), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%ebx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%ebx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%ebx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%rbx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%rbx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%rbx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%eax,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%eax,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%eax,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%rax,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%rax,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%rax,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%eax,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%eax,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%eax,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%rax,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%rax,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%rax,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%eax,%ebx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%eax,%ebx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%eax,%ebx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%rax,%rbx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%rax,%rbx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%rax,%rbx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16, %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16, %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16, %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%eax), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%eax), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%eax), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%rax), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%rax), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%rax), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%ebx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%ebx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%ebx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%rbx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%rbx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%rbx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%eax,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%eax,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%eax,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%rax,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%rax,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%rax,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%eax,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%eax,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%eax,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%rax,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%rax,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%rax,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%eax,%ebx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%eax,%ebx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%eax,%ebx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%rax,%rbx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%rax,%rbx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%rax,%rbx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024, %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024, %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024, %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%eax), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%eax), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%eax), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%rax), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%rax), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%rax), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%ebx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%ebx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%ebx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%rbx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%rbx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%rbx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%eax,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%eax,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%eax,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%rax,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%rax,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%rax,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%eax,%ebx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%eax,%ebx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%eax,%ebx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%rax,%rbx), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%rax,%rbx), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%rax,%rbx), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%eax,%ebx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%eax,%ebx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%eax,%ebx,2), %rcx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%rax,%rbx,2), %cx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%rax,%rbx,2), %ecx
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%rax,%rbx,2), %rcx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	0, %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	0, %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(%eax), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(%eax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(%eax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(%rax), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(%rax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(,%ebx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(,%ebx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(,%ebx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(,%rbx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(,%rbx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(,%rbx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(%eax,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(%eax,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(%eax,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(%rax,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(%rax,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(%rax,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(%eax,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(%eax,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(%eax,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(%rax,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(%rax,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(%rax,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(%eax,%ebx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(%eax,%ebx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(%eax,%ebx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	(%rax,%rbx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	(%rax,%rbx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	(%rax,%rbx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16, %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16, %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16, %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(%eax), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(%eax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(%eax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(%rax), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(%rax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(,%ebx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(,%ebx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(,%ebx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(,%rbx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(,%rbx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(,%rbx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(%eax,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(%eax,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(%eax,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(%rax,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(%rax,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(%rax,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(%eax,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(%eax,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(%eax,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(%rax,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(%rax,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(%rax,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(%eax,%ebx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(%eax,%ebx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(%eax,%ebx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	-16(%rax,%rbx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	-16(%rax,%rbx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	-16(%rax,%rbx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024, %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024, %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024, %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(%eax), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(%eax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(%eax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(%rax), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(%rax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(,%ebx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(,%ebx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(,%ebx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(,%rbx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(,%rbx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(,%rbx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(%eax,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(%eax,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(%eax,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(%rax,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(%rax,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(%rax,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(%eax,%ebx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(%eax,%ebx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(%eax,%ebx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(%rax,%rbx), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(%rax,%rbx), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(%rax,%rbx), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(%eax,%ebx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(%eax,%ebx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(%eax,%ebx,2), %rcx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaw	1024(%rax,%rbx,2), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leal	1024(%rax,%rbx,2), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     leaq	1024(%rax,%rbx,2), %rcx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-lzcnt.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-lzcnt.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-lzcnt.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-lzcnt.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 lzcntw      %cx, %cx
 lzcntw      (%rax), %cx
@@ -19,32 +19,44 @@ lzcntq      (%rax), %rcx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        lzcntw	%cx, %cx
-# CHECK-NEXT:  2      8     1.00    *                   lzcntw	(%rax), %cx
-# CHECK-NEXT:  1      3     1.00                        lzcntl	%eax, %ecx
-# CHECK-NEXT:  2      8     1.00    *                   lzcntl	(%rax), %ecx
-# CHECK-NEXT:  1      3     1.00                        lzcntq	%rax, %rcx
-# CHECK-NEXT:  2      8     1.00    *                   lzcntq	(%rax), %rcx
+# CHECK-NEXT:  2      2     0.50                        lzcntw	%cx, %cx
+# CHECK-NEXT:  2      6     0.50    *                   lzcntw	(%rax), %cx
+# CHECK-NEXT:  2      2     0.50                        lzcntl	%eax, %ecx
+# CHECK-NEXT:  2      6     0.50    *                   lzcntl	(%rax), %ecx
+# CHECK-NEXT:  2      2     0.50                        lzcntq	%rax, %rcx
+# CHECK-NEXT:  2      6     0.50    *                   lzcntq	(%rax), %rcx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -     6.00    -      -     1.50   1.50
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 1.50   1.50    -      -      -     3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     lzcntw	%cx, %cx
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   lzcntw	(%rax), %cx
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     lzcntl	%eax, %ecx
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   lzcntl	(%rax), %ecx
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     lzcntq	%rax, %rcx
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   lzcntq	(%rax), %rcx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntw	%cx, %cx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntw	(%rax), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntl	%eax, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntl	(%rax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntq	%rax, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     lzcntq	(%rax), %rcx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-mmx.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-mmx.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-mmx.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-mmx.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 emms
 
@@ -164,230 +164,242 @@ pxor        (%rax), %mm2
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  31     31    10.33   *      *      U     emms
-# CHECK-NEXT:  1      1     1.00                        movd	%eax, %mm2
+# CHECK-NEXT:  1      2     0.50    *      *      U     emms
+# CHECK-NEXT:  2      10    0.50                        movd	%eax, %mm2
 # CHECK-NEXT:  1      5     0.50    *                   movd	(%rax), %mm2
-# CHECK-NEXT:  1      2     1.00                        movd	%mm0, %ecx
-# CHECK-NEXT:  1      1     1.00           *      U     movd	%mm0, (%rax)
-# CHECK-NEXT:  1      1     1.00                        movq	%rax, %mm2
+# CHECK-NEXT:  1      10    1.00                        movd	%mm0, %ecx
+# CHECK-NEXT:  1      2     1.00           *      U     movd	%mm0, (%rax)
+# CHECK-NEXT:  2      10    0.50                        movq	%rax, %mm2
 # CHECK-NEXT:  1      5     0.50    *                   movq	(%rax), %mm2
-# CHECK-NEXT:  1      2     1.00                        movq	%mm0, %rcx
-# CHECK-NEXT:  1      1     1.00           *            movq	%mm0, (%rax)
-# CHECK-NEXT:  1      1     1.00                        packsswb	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   packsswb	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        packssdw	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   packssdw	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        packuswb	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   packuswb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        paddb	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   paddb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        paddd	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   paddd	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        paddsb	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   paddsb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        paddsw	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   paddsw	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        paddusb	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   paddusb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        paddusw	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   paddusw	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        paddw	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   paddw	(%rax), %mm2
-# CHECK-NEXT:  1      1     0.33                        pand	%mm0, %mm2
-# CHECK-NEXT:  2      6     0.50    *                   pand	(%rax), %mm2
-# CHECK-NEXT:  1      1     0.33                        pandn	%mm0, %mm2
-# CHECK-NEXT:  2      6     0.50    *                   pandn	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pcmpeqb	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   pcmpeqb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pcmpeqd	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   pcmpeqd	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pcmpeqw	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   pcmpeqw	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pcmpgtb	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   pcmpgtb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pcmpgtd	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   pcmpgtd	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        pcmpgtw	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   pcmpgtw	(%rax), %mm2
-# CHECK-NEXT:  1      5     1.00                        pmaddwd	%mm0, %mm2
-# CHECK-NEXT:  2      10    1.00    *                   pmaddwd	(%rax), %mm2
-# CHECK-NEXT:  1      5     1.00                        pmulhw	%mm0, %mm2
-# CHECK-NEXT:  2      10    1.00    *                   pmulhw	(%rax), %mm2
-# CHECK-NEXT:  1      5     1.00                        pmullw	%mm0, %mm2
-# CHECK-NEXT:  2      10    1.00    *                   pmullw	(%rax), %mm2
-# CHECK-NEXT:  1      1     0.33                        por	%mm0, %mm2
-# CHECK-NEXT:  2      6     0.50    *                   por	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        pslld	$1, %mm2
-# CHECK-NEXT:  1      1     1.00                        pslld	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   pslld	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        psllq	$1, %mm2
-# CHECK-NEXT:  1      1     1.00                        psllq	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   psllq	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        psllw	$1, %mm2
-# CHECK-NEXT:  1      1     1.00                        psllw	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   psllw	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        psrad	$1, %mm2
-# CHECK-NEXT:  1      1     1.00                        psrad	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   psrad	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        psraw	$1, %mm2
-# CHECK-NEXT:  1      1     1.00                        psraw	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   psraw	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        psrld	$1, %mm2
-# CHECK-NEXT:  1      1     1.00                        psrld	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   psrld	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        psrlq	$1, %mm2
-# CHECK-NEXT:  1      1     1.00                        psrlq	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   psrlq	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        psrlw	$1, %mm2
-# CHECK-NEXT:  1      1     1.00                        psrlw	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   psrlw	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        psubb	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   psubb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        psubd	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   psubd	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        psubsb	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   psubsb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        psubsw	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   psubsw	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        psubusb	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   psubusb	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        psubusw	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   psubusw	(%rax), %mm2
-# CHECK-NEXT:  1      3     1.00                        psubw	%mm0, %mm2
-# CHECK-NEXT:  2      8     1.00    *                   psubw	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        punpckhbw	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   punpckhbw	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        punpckhdq	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   punpckhdq	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        punpckhwd	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   punpckhwd	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        punpcklbw	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   punpcklbw	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        punpckldq	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   punpckldq	(%rax), %mm2
-# CHECK-NEXT:  1      1     1.00                        punpcklwd	%mm0, %mm2
-# CHECK-NEXT:  2      6     1.00    *                   punpcklwd	(%rax), %mm2
-# CHECK-NEXT:  1      1     0.33                        pxor	%mm0, %mm2
-# CHECK-NEXT:  2      6     0.50    *                   pxor	(%rax), %mm2
+# CHECK-NEXT:  1      10    1.00                        movq	%mm0, %rcx
+# CHECK-NEXT:  1      2     1.00           *            movq	%mm0, (%rax)
+# CHECK-NEXT:  1      2     0.50                        packsswb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   packsswb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        packssdw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   packssdw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        packuswb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   packuswb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        paddb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   paddb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        paddd	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   paddd	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        paddsb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   paddsb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        paddsw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   paddsw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        paddusb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   paddusb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        paddusw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   paddusw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        paddw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   paddw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pand	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pand	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pandn	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pandn	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pcmpeqb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pcmpeqb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pcmpeqd	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pcmpeqd	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pcmpeqw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pcmpeqw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pcmpgtb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pcmpgtb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pcmpgtd	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pcmpgtd	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pcmpgtw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pcmpgtw	(%rax), %mm2
+# CHECK-NEXT:  1      4     1.00                        pmaddwd	%mm0, %mm2
+# CHECK-NEXT:  1      9     1.00    *                   pmaddwd	(%rax), %mm2
+# CHECK-NEXT:  1      4     1.00                        pmulhw	%mm0, %mm2
+# CHECK-NEXT:  1      9     1.00    *                   pmulhw	(%rax), %mm2
+# CHECK-NEXT:  1      4     1.00                        pmullw	%mm0, %mm2
+# CHECK-NEXT:  1      9     1.00    *                   pmullw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        por	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   por	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pslld	$1, %mm2
+# CHECK-NEXT:  1      3     0.50                        pslld	%mm0, %mm2
+# CHECK-NEXT:  1      8     0.50    *                   pslld	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psllq	$1, %mm2
+# CHECK-NEXT:  1      3     0.50                        psllq	%mm0, %mm2
+# CHECK-NEXT:  1      8     0.50    *                   psllq	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psllw	$1, %mm2
+# CHECK-NEXT:  1      3     0.50                        psllw	%mm0, %mm2
+# CHECK-NEXT:  1      8     0.50    *                   psllw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psrad	$1, %mm2
+# CHECK-NEXT:  1      3     0.50                        psrad	%mm0, %mm2
+# CHECK-NEXT:  1      8     0.50    *                   psrad	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psraw	$1, %mm2
+# CHECK-NEXT:  1      3     0.50                        psraw	%mm0, %mm2
+# CHECK-NEXT:  1      8     0.50    *                   psraw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psrld	$1, %mm2
+# CHECK-NEXT:  1      3     0.50                        psrld	%mm0, %mm2
+# CHECK-NEXT:  1      8     0.50    *                   psrld	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psrlq	$1, %mm2
+# CHECK-NEXT:  1      3     0.50                        psrlq	%mm0, %mm2
+# CHECK-NEXT:  1      8     0.50    *                   psrlq	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psrlw	$1, %mm2
+# CHECK-NEXT:  1      3     0.50                        psrlw	%mm0, %mm2
+# CHECK-NEXT:  1      8     0.50    *                   psrlw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psubb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   psubb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psubd	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   psubd	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psubsb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   psubsb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psubsw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   psubsw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psubusb	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   psubusb	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psubusw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   psubusw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        psubw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   psubw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        punpckhbw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   punpckhbw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        punpckhdq	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   punpckhdq	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        punpckhwd	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   punpckhwd	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        punpcklbw	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   punpcklbw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        punpckldq	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   punpckldq	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        punpcklwd	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   punpcklwd	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                        pxor	%mm0, %mm2
+# CHECK-NEXT:  1      7     0.50    *                   pxor	(%rax), %mm2
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     21.00  53.00  2.00   57.00  24.00  24.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 24.00  24.00   -      -      -     2.00    -      -     2.50   2.50   46.00  46.00  6.00   2.00   55.50  49.50   -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     10.33  10.33   -     10.33   -      -     emms
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movd	%eax, %mm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   movd	(%rax), %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     movd	%mm0, %ecx
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   movd	%mm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movq	%rax, %mm2
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   movq	(%rax), %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     movq	%mm0, %rcx
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   movq	%mm0, (%rax)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     packsswb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   packsswb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     packssdw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   packssdw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     packuswb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   packuswb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     paddb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   paddb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     paddd	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   paddd	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     paddsb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   paddsb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     paddsw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   paddsw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     paddusb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   paddusb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     paddusw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   paddusw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     paddw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   paddw	(%rax), %mm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     pand	%mm0, %mm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   pand	(%rax), %mm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     pandn	%mm0, %mm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   pandn	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpeqb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pcmpeqb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpeqd	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pcmpeqd	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpeqw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pcmpeqw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpgtb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pcmpgtb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpgtd	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pcmpgtd	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpgtw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   pcmpgtw	(%rax), %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     pmaddwd	%mm0, %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   pmaddwd	(%rax), %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     pmulhw	%mm0, %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   pmulhw	(%rax), %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     pmullw	%mm0, %mm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   pmullw	(%rax), %mm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     por	%mm0, %mm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   por	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     pslld	$1, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     pslld	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   pslld	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psllq	$1, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psllq	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   psllq	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psllw	$1, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psllw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   psllw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psrad	$1, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psrad	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   psrad	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psraw	$1, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psraw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   psraw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psrld	$1, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psrld	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   psrld	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psrlq	$1, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psrlq	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   psrlq	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psrlw	$1, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     psrlw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   psrlw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   psubb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubd	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   psubd	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubsb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   psubsb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubsw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   psubsw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubusb	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   psubusb	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubusw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   psubusw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   psubw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     punpckhbw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   punpckhbw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     punpckhdq	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   punpckhdq	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     punpckhwd	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   punpckhwd	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     punpcklbw	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   punpcklbw	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     punpckldq	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   punpckldq	(%rax), %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     punpcklwd	%mm0, %mm2
-# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   punpcklwd	(%rax), %mm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     pxor	%mm0, %mm2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   pxor	(%rax), %mm2
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     emms
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     movd	%eax, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     movd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     movd	%mm0, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     movd	%mm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -      -      -      -     movq	%rax, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     movq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -     movq	%mm0, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -     movq	%mm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     packsswb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     packsswb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     packssdw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     packssdw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     packuswb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     packuswb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddsb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddsb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddsw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddsw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddusb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddusb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddusw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddusw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     paddw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pand	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pand	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pandn	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pandn	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpeqw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpgtb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpgtb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpgtd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpgtd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpgtw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pcmpgtw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pmaddwd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pmaddwd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pmulhw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pmulhw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pmullw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pmullw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     por	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     por	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pslld	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pslld	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pslld	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psllq	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psllq	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psllq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psllw	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psllw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psllw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrad	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrad	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrad	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psraw	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psraw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psraw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrld	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrld	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrld	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrlq	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrlq	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrlq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrlw	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrlw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psrlw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubsb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubsb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubsw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubsw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubusb	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubusb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubusw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubusw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     psubw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpckhbw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpckhbw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpckhdq	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpckhdq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpckhwd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpckhwd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpcklbw	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpcklbw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpckldq	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpckldq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpcklwd	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     punpcklwd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pxor	%mm0, %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     0.50   0.50    -      -     0.50   0.50    -      -      -      -     pxor	(%rax), %mm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-movbe.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-movbe.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-movbe.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-movbe.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 movbe  %cx, (%rax)
 movbe  (%rax), %cx
@@ -19,32 +19,44 @@ movbe  (%rax), %rcx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      1     1.00           *            movbew	%cx, (%rax)
-# CHECK-NEXT:  2      6     0.50    *                   movbew	(%rax), %cx
-# CHECK-NEXT:  1      1     1.00           *            movbel	%ecx, (%rax)
-# CHECK-NEXT:  2      6     0.50    *                   movbel	(%rax), %ecx
-# CHECK-NEXT:  1      1     1.00           *            movbeq	%rcx, (%rax)
-# CHECK-NEXT:  2      6     0.50    *                   movbeq	(%rax), %rcx
+# CHECK-NEXT:  1      1     0.50           *            movbew	%cx, (%rax)
+# CHECK-NEXT:  1      5     0.50    *                   movbew	(%rax), %cx
+# CHECK-NEXT:  1      1     0.50           *            movbel	%ecx, (%rax)
+# CHECK-NEXT:  1      5     0.50    *                   movbel	(%rax), %ecx
+# CHECK-NEXT:  1      1     0.50           *            movbeq	%rcx, (%rax)
+# CHECK-NEXT:  1      5     0.50    *                   movbeq	(%rax), %rcx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     1.00   1.00   3.00   1.00   3.00   3.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 3.00   3.00    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   movbew	%cx, (%rax)
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   movbew	(%rax), %cx
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   movbel	%ecx, (%rax)
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   movbel	(%rax), %ecx
-# CHECK-NEXT:  -      -      -      -     1.00    -     0.50   0.50   movbeq	%rcx, (%rax)
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   movbeq	(%rax), %rcx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     movbew	%cx, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     movbew	(%rax), %cx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     movbel	%ecx, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     movbel	(%rax), %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     movbeq	%rcx, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     movbeq	(%rax), %rcx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-pclmul.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-pclmul.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-pclmul.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-pclmul.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 pclmulqdq     $11, %xmm0, %xmm2
 pclmulqdq     $11, (%rax), %xmm2
@@ -13,24 +13,36 @@ pclmulqdq     $11, (%rax), %xmm2
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      14    6.00                        pclmulqdq	$11, %xmm0, %xmm2
-# CHECK-NEXT:  1      14    5.67    *                   pclmulqdq	$11, (%rax), %xmm2
+# CHECK-NEXT:  5      12    1.00                        pclmulqdq	$11, %xmm0, %xmm2
+# CHECK-NEXT:  6      17    1.00    *                   pclmulqdq	$11, (%rax), %xmm2
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -     11.67  11.67   -     11.67  0.50   0.50
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     2.00    -     2.00    -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     6.00   6.00    -     6.00    -      -     pclmulqdq	$11, %xmm0, %xmm2
-# CHECK-NEXT:  -      -     5.67   5.67    -     5.67   0.50   0.50   pclmulqdq	$11, (%rax), %xmm2
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pclmulqdq	$11, %xmm0, %xmm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     pclmulqdq	$11, (%rax), %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-popcnt.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-popcnt.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-popcnt.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-popcnt.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 popcntw     %cx, %cx
 popcntw     (%rax), %cx
@@ -19,32 +19,44 @@ popcntq     (%rax), %rcx
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      3     1.00                        popcntw	%cx, %cx
-# CHECK-NEXT:  2      9     1.00    *                   popcntw	(%rax), %cx
-# CHECK-NEXT:  1      3     1.00                        popcntl	%eax, %ecx
-# CHECK-NEXT:  2      9     1.00    *                   popcntl	(%rax), %ecx
-# CHECK-NEXT:  1      3     1.00                        popcntq	%rax, %rcx
-# CHECK-NEXT:  2      9     1.00    *                   popcntq	(%rax), %rcx
+# CHECK-NEXT:  1      4     0.50                        popcntw	%cx, %cx
+# CHECK-NEXT:  1      8     0.50    *                   popcntw	(%rax), %cx
+# CHECK-NEXT:  1      4     0.50                        popcntl	%eax, %ecx
+# CHECK-NEXT:  1      8     0.50    *                   popcntl	(%rax), %ecx
+# CHECK-NEXT:  1      4     0.50                        popcntq	%rax, %rcx
+# CHECK-NEXT:  1      8     0.50    *                   popcntq	(%rax), %rcx
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -     6.00    -      -     1.50   1.50
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 1.50   1.50    -      -      -     3.00   3.00    -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     popcntw	%cx, %cx
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   popcntw	(%rax), %cx
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     popcntl	%eax, %ecx
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   popcntl	(%rax), %ecx
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     popcntq	%rax, %rcx
-# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   popcntq	(%rax), %rcx
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     popcntw	%cx, %cx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     popcntw	(%rax), %cx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     popcntl	%eax, %ecx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     popcntl	(%rax), %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     popcntq	%rax, %rcx
+# CHECK-NEXT: 0.50   0.50    -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -     popcntq	(%rax), %rcx

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-prefetchw.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-prefetchw.s?rev=345463&r1=345462&r2=345463&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-prefetchw.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-prefetchw.s Sat Oct 27 13:46:30 2018
@@ -1,5 +1,5 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
 
 prefetch    (%rax)
 prefetchw   (%rax)
@@ -17,20 +17,32 @@ prefetchw   (%rax)
 # CHECK-NEXT:  1      5     0.50    *      *            prefetchw	(%rax)
 
 # CHECK:      Resources:
-# CHECK-NEXT: [0]   - SBDivider
-# CHECK-NEXT: [1]   - SBFPDivider
-# CHECK-NEXT: [2]   - SBPort0
-# CHECK-NEXT: [3]   - SBPort1
-# CHECK-NEXT: [4]   - SBPort4
-# CHECK-NEXT: [5]   - SBPort5
-# CHECK-NEXT: [6.0] - SBPort23
-# CHECK-NEXT: [6.1] - SBPort23
+# CHECK-NEXT: [0.0] - PdAGLU01
+# CHECK-NEXT: [0.1] - PdAGLU01
+# CHECK-NEXT: [1]   - PdBranch
+# CHECK-NEXT: [2]   - PdCount
+# CHECK-NEXT: [3]   - PdDiv
+# CHECK-NEXT: [4]   - PdEX0
+# CHECK-NEXT: [5]   - PdEX1
+# CHECK-NEXT: [6]   - PdFPCVT
+# CHECK-NEXT: [7.0] - PdFPFMA
+# CHECK-NEXT: [7.1] - PdFPFMA
+# CHECK-NEXT: [8.0] - PdFPMAL
+# CHECK-NEXT: [8.1] - PdFPMAL
+# CHECK-NEXT: [9]   - PdFPMMA
+# CHECK-NEXT: [10]  - PdFPSTO
+# CHECK-NEXT: [11]  - PdFPU0
+# CHECK-NEXT: [12]  - PdFPU1
+# CHECK-NEXT: [13]  - PdFPU2
+# CHECK-NEXT: [14]  - PdFPU3
+# CHECK-NEXT: [15]  - PdFPXBR
+# CHECK-NEXT: [16]  - PdMul
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   prefetch	(%rax)
-# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   prefetchw	(%rax)
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   Instructions:
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     prefetch	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     prefetchw	(%rax)




More information about the llvm-commits mailing list