From 45ccdd178504809201a68057105b8ebbc8aa7568 Mon Sep 17 00:00:00 2001 From: Andrea Di Biagio Date: Wed, 16 May 2018 10:12:06 +0000 Subject: [PATCH] [llvm-mca] Regenerate tests after r332381 and r332361. NFC llvm-svn: 332447 --- .../llvm-mca/AArch64/CortexA57/direct-branch.s | 32 +- .../tools/llvm-mca/AArch64/Exynos/direct-branch.s | 14 +- .../llvm-mca/AArch64/Falkor/zero-latency-store.s | 32 +- llvm/test/tools/llvm-mca/X86/Atom/resources-mmx.s | 428 +-- llvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s | 504 ++-- llvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s | 1064 ++++---- llvm/test/tools/llvm-mca/X86/Atom/resources-sse3.s | 84 +- .../test/tools/llvm-mca/X86/Atom/resources-ssse3.s | 264 +- .../tools/llvm-mca/X86/Atom/resources-x86_64.s | 2164 +++++++-------- llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s | 600 ++--- .../tools/llvm-mca/X86/Broadwell/resources-avx1.s | 2756 +++++++++---------- .../tools/llvm-mca/X86/Broadwell/resources-avx2.s | 1220 ++++----- .../tools/llvm-mca/X86/Broadwell/resources-bmi1.s | 120 +- .../tools/llvm-mca/X86/Broadwell/resources-bmi2.s | 152 +- .../tools/llvm-mca/X86/Broadwell/resources-f16c.s | 56 +- .../tools/llvm-mca/X86/Broadwell/resources-fma.s | 792 +++--- .../tools/llvm-mca/X86/Broadwell/resources-lzcnt.s | 48 +- .../tools/llvm-mca/X86/Broadwell/resources-mmx.s | 444 ++-- .../llvm-mca/X86/Broadwell/resources-popcnt.s | 48 +- .../tools/llvm-mca/X86/Broadwell/resources-sse1.s | 520 ++-- .../tools/llvm-mca/X86/Broadwell/resources-sse2.s | 1080 ++++---- .../tools/llvm-mca/X86/Broadwell/resources-sse3.s | 100 +- .../tools/llvm-mca/X86/Broadwell/resources-sse41.s | 408 +-- .../tools/llvm-mca/X86/Broadwell/resources-sse42.s | 104 +- .../tools/llvm-mca/X86/Broadwell/resources-ssse3.s | 280 +- .../llvm-mca/X86/Broadwell/resources-x86_64.s | 2180 +++++++-------- .../tools/llvm-mca/X86/Broadwell/resources-x87.s | 616 ++--- llvm/test/tools/llvm-mca/X86/BtVer2/dot-product.s | 72 +- .../llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s | 18 +- .../llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s | 18 +- .../llvm-mca/X86/BtVer2/instruction-info-view.s | 8 +- .../tools/llvm-mca/X86/BtVer2/load-store-alias.s | 100 +- .../tools/llvm-mca/X86/BtVer2/memcpy-like-test.s | 100 +- llvm/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s | 110 +- .../tools/llvm-mca/X86/BtVer2/rcu-statistics.s | 34 +- .../tools/llvm-mca/X86/BtVer2/read-advance-1.s | 16 +- .../tools/llvm-mca/X86/BtVer2/read-advance-2.s | 16 +- .../tools/llvm-mca/X86/BtVer2/read-advance-3.s | 22 +- .../tools/llvm-mca/X86/BtVer2/register-files-1.s | 62 +- .../tools/llvm-mca/X86/BtVer2/register-files-2.s | 62 +- .../tools/llvm-mca/X86/BtVer2/register-files-3.s | 46 +- .../tools/llvm-mca/X86/BtVer2/register-files-4.s | 16 +- .../tools/llvm-mca/X86/BtVer2/register-files-5.s | 136 +- .../test/tools/llvm-mca/X86/BtVer2/resources-aes.s | 80 +- .../tools/llvm-mca/X86/BtVer2/resources-avx1.s | 2764 ++++++++++---------- .../tools/llvm-mca/X86/BtVer2/resources-bmi1.s | 128 +- .../tools/llvm-mca/X86/BtVer2/resources-clmul.s | 40 +- .../tools/llvm-mca/X86/BtVer2/resources-f16c.s | 64 +- .../tools/llvm-mca/X86/BtVer2/resources-lzcnt.s | 56 +- .../test/tools/llvm-mca/X86/BtVer2/resources-mmx.s | 452 ++-- .../tools/llvm-mca/X86/BtVer2/resources-popcnt.s | 56 +- .../tools/llvm-mca/X86/BtVer2/resources-sse1.s | 528 ++-- .../tools/llvm-mca/X86/BtVer2/resources-sse2.s | 1088 ++++---- .../tools/llvm-mca/X86/BtVer2/resources-sse3.s | 108 +- .../tools/llvm-mca/X86/BtVer2/resources-sse41.s | 416 +-- .../tools/llvm-mca/X86/BtVer2/resources-sse42.s | 112 +- .../tools/llvm-mca/X86/BtVer2/resources-sse4a.s | 56 +- .../tools/llvm-mca/X86/BtVer2/resources-ssse3.s | 288 +- .../tools/llvm-mca/X86/BtVer2/resources-x86_64.s | 2188 ++++++++-------- .../test/tools/llvm-mca/X86/BtVer2/resources-x87.s | 624 ++--- .../llvm-mca/X86/BtVer2/scheduler-queue-usage.s | 40 +- llvm/test/tools/llvm-mca/X86/BtVer2/simple-test.s | 36 +- .../X86/BtVer2/vec-logic-read-after-ld-1.s | 16 +- .../X86/BtVer2/vec-logic-read-after-ld-2.s | 16 +- .../tools/llvm-mca/X86/Haswell/resources-avx1.s | 2756 +++++++++---------- .../tools/llvm-mca/X86/Haswell/resources-avx2.s | 1220 ++++----- .../tools/llvm-mca/X86/Haswell/resources-bmi1.s | 120 +- .../tools/llvm-mca/X86/Haswell/resources-bmi2.s | 152 +- .../tools/llvm-mca/X86/Haswell/resources-f16c.s | 56 +- .../tools/llvm-mca/X86/Haswell/resources-fma.s | 792 +++--- .../tools/llvm-mca/X86/Haswell/resources-lzcnt.s | 48 +- .../tools/llvm-mca/X86/Haswell/resources-mmx.s | 444 ++-- .../tools/llvm-mca/X86/Haswell/resources-popcnt.s | 48 +- .../tools/llvm-mca/X86/Haswell/resources-sse1.s | 520 ++-- .../tools/llvm-mca/X86/Haswell/resources-sse2.s | 1080 ++++---- .../tools/llvm-mca/X86/Haswell/resources-sse3.s | 100 +- .../tools/llvm-mca/X86/Haswell/resources-sse41.s | 408 +-- .../tools/llvm-mca/X86/Haswell/resources-sse42.s | 104 +- .../tools/llvm-mca/X86/Haswell/resources-ssse3.s | 280 +- .../tools/llvm-mca/X86/Haswell/resources-x86_64.s | 2180 +++++++-------- .../tools/llvm-mca/X86/Haswell/resources-x87.s | 616 ++--- llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s | 440 ++-- .../test/tools/llvm-mca/X86/SLM/resources-popcnt.s | 44 +- llvm/test/tools/llvm-mca/X86/SLM/resources-sse1.s | 516 ++-- llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s | 1076 ++++---- llvm/test/tools/llvm-mca/X86/SLM/resources-sse3.s | 96 +- llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s | 404 +-- llvm/test/tools/llvm-mca/X86/SLM/resources-sse42.s | 100 +- llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s | 276 +- .../test/tools/llvm-mca/X86/SLM/resources-x86_64.s | 2176 +++++++-------- llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s | 612 ++--- .../tools/llvm-mca/X86/SandyBridge/resources-aes.s | 64 +- .../llvm-mca/X86/SandyBridge/resources-avx1.s | 2748 +++++++++---------- .../llvm-mca/X86/SandyBridge/resources-clmul.s | 24 +- .../llvm-mca/X86/SandyBridge/resources-f16c.s | 48 +- .../tools/llvm-mca/X86/SandyBridge/resources-mmx.s | 436 +-- .../llvm-mca/X86/SandyBridge/resources-popcnt.s | 40 +- .../llvm-mca/X86/SandyBridge/resources-sse1.s | 512 ++-- .../llvm-mca/X86/SandyBridge/resources-sse2.s | 1072 ++++---- .../llvm-mca/X86/SandyBridge/resources-sse3.s | 92 +- .../llvm-mca/X86/SandyBridge/resources-sse41.s | 400 +-- .../llvm-mca/X86/SandyBridge/resources-sse42.s | 96 +- .../llvm-mca/X86/SandyBridge/resources-ssse3.s | 272 +- .../llvm-mca/X86/SandyBridge/resources-x86_64.s | 2172 +++++++-------- .../tools/llvm-mca/X86/SandyBridge/resources-x87.s | 608 ++--- .../llvm-mca/X86/SkylakeClient/resources-avx1.s | 2756 +++++++++---------- .../llvm-mca/X86/SkylakeClient/resources-avx2.s | 1220 ++++----- .../llvm-mca/X86/SkylakeClient/resources-bmi1.s | 120 +- .../llvm-mca/X86/SkylakeClient/resources-bmi2.s | 152 +- .../llvm-mca/X86/SkylakeClient/resources-f16c.s | 56 +- .../llvm-mca/X86/SkylakeClient/resources-fma.s | 792 +++--- .../llvm-mca/X86/SkylakeClient/resources-lzcnt.s | 48 +- .../llvm-mca/X86/SkylakeClient/resources-mmx.s | 444 ++-- .../llvm-mca/X86/SkylakeClient/resources-popcnt.s | 48 +- .../llvm-mca/X86/SkylakeClient/resources-sse1.s | 520 ++-- .../llvm-mca/X86/SkylakeClient/resources-sse2.s | 1080 ++++---- .../llvm-mca/X86/SkylakeClient/resources-sse3.s | 100 +- .../llvm-mca/X86/SkylakeClient/resources-sse41.s | 408 +-- .../llvm-mca/X86/SkylakeClient/resources-sse42.s | 104 +- .../llvm-mca/X86/SkylakeClient/resources-ssse3.s | 280 +- .../llvm-mca/X86/SkylakeClient/resources-x86_64.s | 2180 +++++++-------- .../llvm-mca/X86/SkylakeClient/resources-x87.s | 616 ++--- .../llvm-mca/X86/SkylakeServer/resources-avx1.s | 2756 +++++++++---------- .../llvm-mca/X86/SkylakeServer/resources-avx2.s | 1220 ++++----- .../llvm-mca/X86/SkylakeServer/resources-bmi1.s | 120 +- .../llvm-mca/X86/SkylakeServer/resources-bmi2.s | 152 +- .../llvm-mca/X86/SkylakeServer/resources-f16c.s | 56 +- .../llvm-mca/X86/SkylakeServer/resources-fma.s | 792 +++--- .../llvm-mca/X86/SkylakeServer/resources-lzcnt.s | 48 +- .../llvm-mca/X86/SkylakeServer/resources-mmx.s | 444 ++-- .../llvm-mca/X86/SkylakeServer/resources-popcnt.s | 48 +- .../llvm-mca/X86/SkylakeServer/resources-sse1.s | 520 ++-- .../llvm-mca/X86/SkylakeServer/resources-sse2.s | 1080 ++++---- .../llvm-mca/X86/SkylakeServer/resources-sse3.s | 100 +- .../llvm-mca/X86/SkylakeServer/resources-sse41.s | 408 +-- .../llvm-mca/X86/SkylakeServer/resources-sse42.s | 104 +- .../llvm-mca/X86/SkylakeServer/resources-ssse3.s | 280 +- .../llvm-mca/X86/SkylakeServer/resources-x86_64.s | 2180 +++++++-------- .../llvm-mca/X86/SkylakeServer/resources-x87.s | 616 ++--- .../tools/llvm-mca/X86/Znver1/resources-avx1.s | 2760 +++++++++---------- .../tools/llvm-mca/X86/Znver1/resources-avx2.s | 1224 ++++----- .../tools/llvm-mca/X86/Znver1/resources-bmi1.s | 124 +- .../tools/llvm-mca/X86/Znver1/resources-bmi2.s | 156 +- .../tools/llvm-mca/X86/Znver1/resources-f16c.s | 60 +- .../test/tools/llvm-mca/X86/Znver1/resources-fma.s | 796 +++--- .../tools/llvm-mca/X86/Znver1/resources-lzcnt.s | 52 +- .../test/tools/llvm-mca/X86/Znver1/resources-mmx.s | 448 ++-- .../tools/llvm-mca/X86/Znver1/resources-popcnt.s | 52 +- .../tools/llvm-mca/X86/Znver1/resources-sse1.s | 524 ++-- .../tools/llvm-mca/X86/Znver1/resources-sse2.s | 1084 ++++---- .../tools/llvm-mca/X86/Znver1/resources-sse3.s | 104 +- .../tools/llvm-mca/X86/Znver1/resources-sse41.s | 412 +-- .../tools/llvm-mca/X86/Znver1/resources-sse42.s | 108 +- .../tools/llvm-mca/X86/Znver1/resources-sse4a.s | 52 +- .../tools/llvm-mca/X86/Znver1/resources-ssse3.s | 284 +- .../tools/llvm-mca/X86/Znver1/resources-x86_64.s | 2184 ++++++++-------- .../test/tools/llvm-mca/X86/Znver1/resources-x87.s | 620 ++--- 157 files changed, 42121 insertions(+), 42121 deletions(-) diff --git a/llvm/test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s b/llvm/test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s index 46bc3cc..2669fb6 100644 --- a/llvm/test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s +++ b/llvm/test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s @@ -17,35 +17,35 @@ # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 1.00 b t +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 1.00 b t # CHECK: Resources: -# CHECK-NEXT: [0] - A57UnitB +# CHECK-NEXT: [0] - A57UnitB # CHECK-NEXT: [1.0] - A57UnitI # CHECK-NEXT: [1.1] - A57UnitI -# CHECK-NEXT: [2] - A57UnitL -# CHECK-NEXT: [3] - A57UnitM -# CHECK-NEXT: [4] - A57UnitS -# CHECK-NEXT: [5] - A57UnitW -# CHECK-NEXT: [6] - A57UnitX +# CHECK-NEXT: [2] - A57UnitL +# CHECK-NEXT: [3] - A57UnitM +# CHECK-NEXT: [4] - A57UnitS +# CHECK-NEXT: [5] - A57UnitW +# CHECK-NEXT: [6] - A57UnitX # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] # CHECK-NEXT: 1.00 - - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1.00 - - - - - - - b t +# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1.00 - - - - - - - b t # CHECK: Timeline view: -# CHECK: Index 0123456 +# CHECK: Index 0123456 -# CHECK: [0,0] DeER .. b t -# CHECK-NEXT: [1,0] D=eER.. b t -# CHECK-NEXT: [2,0] D==eER. b t -# CHECK-NEXT: [3,0] .D==eER b t +# CHECK: [0,0] DeER .. b t +# CHECK-NEXT: [1,0] D=eER.. b t +# CHECK-NEXT: [2,0] D==eER. b t +# CHECK-NEXT: [3,0] .D==eER b t # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -54,5 +54,5 @@ # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 4 2.3 2.3 0.0 b t +# CHECK-NEXT: 0. 4 2.3 2.3 0.0 b t diff --git a/llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s b/llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s index 7ea561b..0e15525 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s +++ b/llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s @@ -24,16 +24,16 @@ # ALL-NEXT: [5]: MayStore # ALL-NEXT: [6]: HasSideEffects -# ALL: [1] [2] [3] [4] [5] [6] Instructions: -# ALL-NEXT: 1 0 - b t +# ALL: [1] [2] [3] [4] [5] [6] Instructions: +# ALL-NEXT: 1 0 - b t # ALL: Timeline view: -# ALL: Index 01 +# ALL: Index 01 -# ALL: [0,0] DR b t -# ALL-NEXT: [1,0] DR b t -# ALL-NEXT: [2,0] DR b t +# ALL: [0,0] DR b t +# ALL-NEXT: [1,0] DR b t +# ALL-NEXT: [2,0] DR b t # ALL: Average Wait times (based on the timeline view): # ALL-NEXT: [0]: Executions @@ -42,5 +42,5 @@ # ALL-NEXT: [3]: Average time elapsed from WB until retire stage # ALL: [0] [1] [2] [3] -# ALL-NEXT: 0. 3 0.0 0.0 0.0 b t +# ALL-NEXT: 0. 3 0.0 0.0 0.0 b t diff --git a/llvm/test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s b/llvm/test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s index 4108d0d..fa47681 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s +++ b/llvm/test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s @@ -17,28 +17,28 @@ # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 0 1.00 * stp d0, d1, [x0] +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 0 1.00 * stp d0, d1, [x0] # CHECK: Resources: -# CHECK-NEXT: [0] - FalkorUnitB -# CHECK-NEXT: [1] - FalkorUnitGTOV -# CHECK-NEXT: [2] - FalkorUnitLD -# CHECK-NEXT: [3] - FalkorUnitSD -# CHECK-NEXT: [4] - FalkorUnitST -# CHECK-NEXT: [5] - FalkorUnitVSD -# CHECK-NEXT: [6] - FalkorUnitVTOG -# CHECK-NEXT: [7] - FalkorUnitVX -# CHECK-NEXT: [8] - FalkorUnitVY -# CHECK-NEXT: [9] - FalkorUnitX -# CHECK-NEXT: [10] - FalkorUnitY -# CHECK-NEXT: [11] - FalkorUnitZ +# CHECK-NEXT: [0] - FalkorUnitB +# CHECK-NEXT: [1] - FalkorUnitGTOV +# CHECK-NEXT: [2] - FalkorUnitLD +# CHECK-NEXT: [3] - FalkorUnitSD +# CHECK-NEXT: [4] - FalkorUnitST +# CHECK-NEXT: [5] - FalkorUnitVSD +# CHECK-NEXT: [6] - FalkorUnitVTOG +# CHECK-NEXT: [7] - FalkorUnitVX +# CHECK-NEXT: [8] - FalkorUnitVY +# CHECK-NEXT: [9] - FalkorUnitX +# CHECK-NEXT: [10] - FalkorUnitY +# CHECK-NEXT: [11] - FalkorUnitZ # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: - - - - 1.00 1.00 - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - stp d0, d1, [x0] +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - stp d0, d1, [x0] diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-mmx.s index 55b437e..be92866 100644 --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-mmx.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-mmx.s @@ -163,226 +163,226 @@ pxor (%rax), %mm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 5 2.50 * * * emms -# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 -# CHECK-NEXT: 1 1 1.00 * movd (%rax), %mm2 -# CHECK-NEXT: 1 3 3.00 movd %mm0, %ecx -# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 -# CHECK-NEXT: 1 1 1.00 * movq (%rax), %mm2 -# CHECK-NEXT: 1 3 3.00 movq %mm0, %rcx -# CHECK-NEXT: 1 1 1.00 * movq %mm0, (%rax) -# CHECK-NEXT: 1 1 0.50 packsswb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * packsswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 packssdw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * packssdw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 packuswb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * packuswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * paddb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * paddd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * paddsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * paddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * paddusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * paddusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * paddw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pand (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pandn (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pcmpeqb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pcmpeqd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pcmpeqw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pcmpgtb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pcmpgtd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pcmpgtw (%rax), %mm2 -# CHECK-NEXT: 1 4 4.00 pmaddwd %mm0, %mm2 -# CHECK-NEXT: 1 4 4.00 * pmaddwd (%rax), %mm2 -# CHECK-NEXT: 1 4 4.00 pmulhw %mm0, %mm2 -# CHECK-NEXT: 1 4 4.00 * pmulhw (%rax), %mm2 -# CHECK-NEXT: 1 4 4.00 pmullw %mm0, %mm2 -# CHECK-NEXT: 1 4 4.00 * pmullw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 por %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * por (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pslld $1, %mm2 -# CHECK-NEXT: 1 2 1.00 pslld %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * pslld (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psllq $1, %mm2 -# CHECK-NEXT: 1 2 1.00 psllq %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * psllq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psllw $1, %mm2 -# CHECK-NEXT: 1 2 1.00 psllw %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * psllw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psrad $1, %mm2 -# CHECK-NEXT: 1 2 1.00 psrad %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * psrad (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psraw $1, %mm2 -# CHECK-NEXT: 1 2 1.00 psraw %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * psraw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psrld $1, %mm2 -# CHECK-NEXT: 1 2 1.00 psrld %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * psrld (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psrlq $1, %mm2 -# CHECK-NEXT: 1 2 1.00 psrlq %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * psrlq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psrlw $1, %mm2 -# CHECK-NEXT: 1 2 1.00 psrlw %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * psrlw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psubb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psubd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psubsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psubusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psubusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psubw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 punpckhbw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * punpckhbw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 punpckhdq %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * punpckhdq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 punpckhwd %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * punpckhwd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 punpcklbw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * punpcklbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 punpckldq %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * punpckldq (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 punpcklwd %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * punpcklwd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pxor %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pxor (%rax), %mm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 5 2.50 * * * emms +# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 +# CHECK-NEXT: 1 1 1.00 * movd (%rax), %mm2 +# CHECK-NEXT: 1 3 3.00 movd %mm0, %ecx +# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 +# CHECK-NEXT: 1 1 1.00 * movq (%rax), %mm2 +# CHECK-NEXT: 1 3 3.00 movq %mm0, %rcx +# CHECK-NEXT: 1 1 1.00 * movq %mm0, (%rax) +# CHECK-NEXT: 1 1 0.50 packsswb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * packsswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 packssdw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * packssdw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 packuswb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * packuswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * paddb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * paddd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * paddsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * paddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * paddusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * paddusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * paddw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pand (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pandn (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pcmpeqb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pcmpeqd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pcmpeqw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pcmpgtb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pcmpgtd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pcmpgtw (%rax), %mm2 +# CHECK-NEXT: 1 4 4.00 pmaddwd %mm0, %mm2 +# CHECK-NEXT: 1 4 4.00 * pmaddwd (%rax), %mm2 +# CHECK-NEXT: 1 4 4.00 pmulhw %mm0, %mm2 +# CHECK-NEXT: 1 4 4.00 * pmulhw (%rax), %mm2 +# CHECK-NEXT: 1 4 4.00 pmullw %mm0, %mm2 +# CHECK-NEXT: 1 4 4.00 * pmullw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 por %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * por (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pslld $1, %mm2 +# CHECK-NEXT: 1 2 1.00 pslld %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * pslld (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psllq $1, %mm2 +# CHECK-NEXT: 1 2 1.00 psllq %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * psllq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psllw $1, %mm2 +# CHECK-NEXT: 1 2 1.00 psllw %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * psllw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psrad $1, %mm2 +# CHECK-NEXT: 1 2 1.00 psrad %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * psrad (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psraw $1, %mm2 +# CHECK-NEXT: 1 2 1.00 psraw %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * psraw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psrld $1, %mm2 +# CHECK-NEXT: 1 2 1.00 psrld %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * psrld (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psrlq $1, %mm2 +# CHECK-NEXT: 1 2 1.00 psrlq %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * psrlq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psrlw $1, %mm2 +# CHECK-NEXT: 1 2 1.00 psrlw %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * psrlw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psubb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psubd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psubsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psubusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psubusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psubw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 punpckhbw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * punpckhbw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 punpckhdq %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * punpckhdq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 punpckhwd %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * punpckhwd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 punpcklbw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * punpcklbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 punpckldq %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * punpckldq (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 punpcklwd %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * punpcklwd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pxor %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pxor (%rax), %mm2 # CHECK: Resources: -# CHECK-NEXT: [0] - AtomPort0 -# CHECK-NEXT: [1] - AtomPort1 +# CHECK-NEXT: [0] - AtomPort0 +# CHECK-NEXT: [1] - AtomPort1 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] # CHECK-NEXT: 113.50 41.50 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] Instructions: -# CHECK-NEXT: 2.50 2.50 emms -# CHECK-NEXT: 1.00 - movd %eax, %mm2 -# CHECK-NEXT: 1.00 - movd (%rax), %mm2 -# CHECK-NEXT: 3.00 - movd %mm0, %ecx -# CHECK-NEXT: 1.00 - movd %mm0, (%rax) -# CHECK-NEXT: 1.00 - movq %rax, %mm2 -# CHECK-NEXT: 1.00 - movq (%rax), %mm2 -# CHECK-NEXT: 3.00 - movq %mm0, %rcx -# CHECK-NEXT: 1.00 - movq %mm0, (%rax) -# CHECK-NEXT: 0.50 0.50 packsswb %mm0, %mm2 -# CHECK-NEXT: 1.00 - packsswb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 packssdw %mm0, %mm2 -# CHECK-NEXT: 1.00 - packssdw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 packuswb %mm0, %mm2 -# CHECK-NEXT: 1.00 - packuswb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 paddb %mm0, %mm2 -# CHECK-NEXT: 1.00 - paddb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 paddd %mm0, %mm2 -# CHECK-NEXT: 1.00 - paddd (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 paddsb %mm0, %mm2 -# CHECK-NEXT: 1.00 - paddsb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 paddsw %mm0, %mm2 -# CHECK-NEXT: 1.00 - paddsw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 paddusb %mm0, %mm2 -# CHECK-NEXT: 1.00 - paddusb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 paddusw %mm0, %mm2 -# CHECK-NEXT: 1.00 - paddusw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 paddw %mm0, %mm2 -# CHECK-NEXT: 1.00 - paddw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pand %mm0, %mm2 -# CHECK-NEXT: 1.00 - pand (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pandn %mm0, %mm2 -# CHECK-NEXT: 1.00 - pandn (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 1.00 - pcmpeqb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 1.00 - pcmpeqd (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 1.00 - pcmpeqw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 1.00 - pcmpgtb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 1.00 - pcmpgtd (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 1.00 - pcmpgtw (%rax), %mm2 -# CHECK-NEXT: 4.00 - pmaddwd %mm0, %mm2 -# CHECK-NEXT: 4.00 - pmaddwd (%rax), %mm2 -# CHECK-NEXT: 4.00 - pmulhw %mm0, %mm2 -# CHECK-NEXT: 4.00 - pmulhw (%rax), %mm2 -# CHECK-NEXT: 4.00 - pmullw %mm0, %mm2 -# CHECK-NEXT: 4.00 - pmullw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 por %mm0, %mm2 -# CHECK-NEXT: 1.00 - por (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pslld $1, %mm2 -# CHECK-NEXT: 1.00 1.00 pslld %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 pslld (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psllq $1, %mm2 -# CHECK-NEXT: 1.00 1.00 psllq %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 psllq (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psllw $1, %mm2 -# CHECK-NEXT: 1.00 1.00 psllw %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 psllw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psrad $1, %mm2 -# CHECK-NEXT: 1.00 1.00 psrad %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 psrad (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psraw $1, %mm2 -# CHECK-NEXT: 1.00 1.00 psraw %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 psraw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psrld $1, %mm2 -# CHECK-NEXT: 1.00 1.00 psrld %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 psrld (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psrlq $1, %mm2 -# CHECK-NEXT: 1.00 1.00 psrlq %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 psrlq (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psrlw $1, %mm2 -# CHECK-NEXT: 1.00 1.00 psrlw %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 psrlw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psubb %mm0, %mm2 -# CHECK-NEXT: 1.00 - psubb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psubd %mm0, %mm2 -# CHECK-NEXT: 1.00 - psubd (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psubsb %mm0, %mm2 -# CHECK-NEXT: 1.00 - psubsb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psubsw %mm0, %mm2 -# CHECK-NEXT: 1.00 - psubsw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psubusb %mm0, %mm2 -# CHECK-NEXT: 1.00 - psubusb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psubusw %mm0, %mm2 -# CHECK-NEXT: 1.00 - psubusw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psubw %mm0, %mm2 -# CHECK-NEXT: 1.00 - psubw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 punpckhbw %mm0, %mm2 -# CHECK-NEXT: 1.00 - punpckhbw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 punpckhdq %mm0, %mm2 -# CHECK-NEXT: 1.00 - punpckhdq (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 punpckhwd %mm0, %mm2 -# CHECK-NEXT: 1.00 - punpckhwd (%rax), %mm2 -# CHECK-NEXT: 1.00 - punpcklbw %mm0, %mm2 -# CHECK-NEXT: 1.00 - punpcklbw (%rax), %mm2 -# CHECK-NEXT: 1.00 - punpckldq %mm0, %mm2 -# CHECK-NEXT: 1.00 - punpckldq (%rax), %mm2 -# CHECK-NEXT: 1.00 - punpcklwd %mm0, %mm2 -# CHECK-NEXT: 1.00 - punpcklwd (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pxor %mm0, %mm2 -# CHECK-NEXT: 1.00 - pxor (%rax), %mm2 +# CHECK-NEXT: [0] [1] Instructions: +# CHECK-NEXT: 2.50 2.50 emms +# CHECK-NEXT: 1.00 - movd %eax, %mm2 +# CHECK-NEXT: 1.00 - movd (%rax), %mm2 +# CHECK-NEXT: 3.00 - movd %mm0, %ecx +# CHECK-NEXT: 1.00 - movd %mm0, (%rax) +# CHECK-NEXT: 1.00 - movq %rax, %mm2 +# CHECK-NEXT: 1.00 - movq (%rax), %mm2 +# CHECK-NEXT: 3.00 - movq %mm0, %rcx +# CHECK-NEXT: 1.00 - movq %mm0, (%rax) +# CHECK-NEXT: 0.50 0.50 packsswb %mm0, %mm2 +# CHECK-NEXT: 1.00 - packsswb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 packssdw %mm0, %mm2 +# CHECK-NEXT: 1.00 - packssdw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 packuswb %mm0, %mm2 +# CHECK-NEXT: 1.00 - packuswb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 paddb %mm0, %mm2 +# CHECK-NEXT: 1.00 - paddb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 paddd %mm0, %mm2 +# CHECK-NEXT: 1.00 - paddd (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 paddsb %mm0, %mm2 +# CHECK-NEXT: 1.00 - paddsb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 paddsw %mm0, %mm2 +# CHECK-NEXT: 1.00 - paddsw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 paddusb %mm0, %mm2 +# CHECK-NEXT: 1.00 - paddusb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 paddusw %mm0, %mm2 +# CHECK-NEXT: 1.00 - paddusw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 paddw %mm0, %mm2 +# CHECK-NEXT: 1.00 - paddw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pand %mm0, %mm2 +# CHECK-NEXT: 1.00 - pand (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pandn %mm0, %mm2 +# CHECK-NEXT: 1.00 - pandn (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 1.00 - pcmpeqb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 1.00 - pcmpeqd (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 1.00 - pcmpeqw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 1.00 - pcmpgtb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 1.00 - pcmpgtd (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 1.00 - pcmpgtw (%rax), %mm2 +# CHECK-NEXT: 4.00 - pmaddwd %mm0, %mm2 +# CHECK-NEXT: 4.00 - pmaddwd (%rax), %mm2 +# CHECK-NEXT: 4.00 - pmulhw %mm0, %mm2 +# CHECK-NEXT: 4.00 - pmulhw (%rax), %mm2 +# CHECK-NEXT: 4.00 - pmullw %mm0, %mm2 +# CHECK-NEXT: 4.00 - pmullw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 por %mm0, %mm2 +# CHECK-NEXT: 1.00 - por (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pslld $1, %mm2 +# CHECK-NEXT: 1.00 1.00 pslld %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 pslld (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psllq $1, %mm2 +# CHECK-NEXT: 1.00 1.00 psllq %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 psllq (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psllw $1, %mm2 +# CHECK-NEXT: 1.00 1.00 psllw %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 psllw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psrad $1, %mm2 +# CHECK-NEXT: 1.00 1.00 psrad %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 psrad (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psraw $1, %mm2 +# CHECK-NEXT: 1.00 1.00 psraw %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 psraw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psrld $1, %mm2 +# CHECK-NEXT: 1.00 1.00 psrld %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 psrld (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psrlq $1, %mm2 +# CHECK-NEXT: 1.00 1.00 psrlq %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 psrlq (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psrlw $1, %mm2 +# CHECK-NEXT: 1.00 1.00 psrlw %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 psrlw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psubb %mm0, %mm2 +# CHECK-NEXT: 1.00 - psubb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psubd %mm0, %mm2 +# CHECK-NEXT: 1.00 - psubd (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psubsb %mm0, %mm2 +# CHECK-NEXT: 1.00 - psubsb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psubsw %mm0, %mm2 +# CHECK-NEXT: 1.00 - psubsw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psubusb %mm0, %mm2 +# CHECK-NEXT: 1.00 - psubusb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psubusw %mm0, %mm2 +# CHECK-NEXT: 1.00 - psubusw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psubw %mm0, %mm2 +# CHECK-NEXT: 1.00 - psubw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 punpckhbw %mm0, %mm2 +# CHECK-NEXT: 1.00 - punpckhbw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 punpckhdq %mm0, %mm2 +# CHECK-NEXT: 1.00 - punpckhdq (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 punpckhwd %mm0, %mm2 +# CHECK-NEXT: 1.00 - punpckhwd (%rax), %mm2 +# CHECK-NEXT: 1.00 - punpcklbw %mm0, %mm2 +# CHECK-NEXT: 1.00 - punpcklbw (%rax), %mm2 +# CHECK-NEXT: 1.00 - punpckldq %mm0, %mm2 +# CHECK-NEXT: 1.00 - punpckldq (%rax), %mm2 +# CHECK-NEXT: 1.00 - punpcklwd %mm0, %mm2 +# CHECK-NEXT: 1.00 - punpcklwd (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pxor %mm0, %mm2 +# CHECK-NEXT: 1.00 - pxor (%rax), %mm2 diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s index cdf5365..89f2d32 100644 --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s @@ -193,264 +193,264 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 5 5.00 addps %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 addss %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * addss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andnps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * andnps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * andps (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 1 9 4.50 comiss %xmm0, %xmm1 -# CHECK-NEXT: 1 10 5.00 * comiss (%rax), %xmm1 -# CHECK-NEXT: 1 5 5.00 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 1 5 5.00 * cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 1 6 3.00 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 1 6 3.00 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 1 7 3.50 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 1 7 3.50 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 1 8 4.00 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 1 9 4.50 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 1 9 4.50 * cvtss2si (%rax), %ecx -# CHECK-NEXT: 1 10 5.00 * cvtss2si (%rax), %rcx -# CHECK-NEXT: 1 5 5.00 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 1 5 5.00 * cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 1 8 4.00 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 1 9 4.50 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 1 9 4.50 * cvttss2si (%rax), %ecx -# CHECK-NEXT: 1 10 5.00 * cvttss2si (%rax), %rcx -# CHECK-NEXT: 1 70 35.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 1 70 35.00 * divps (%rax), %xmm2 -# CHECK-NEXT: 1 34 17.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 1 34 17.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 1 5 2.50 * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 5 5.00 maxps %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * maxps (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 maxss %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 minps %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * minps (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 minss %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * minss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movaps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movlps (%rax), %xmm2 -# CHECK-NEXT: 1 3 3.00 movmskps %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movups %xmm0, %xmm2 -# CHECK-NEXT: 1 2 1.00 * movups %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.50 * movups (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 mulps %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * mulps (%rax), %xmm2 -# CHECK-NEXT: 1 4 4.00 mulss %xmm0, %xmm2 -# CHECK-NEXT: 1 4 4.00 * mulss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 orps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * orps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pavgb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pavgw (%rax), %mm2 -# CHECK-NEXT: 1 4 2.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 1 1 1.00 pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 1 1 1.00 * pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pmaxsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pmaxub (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pminsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pminub (%rax), %mm2 -# CHECK-NEXT: 1 3 3.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 4 4.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: 1 4 4.00 * pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 * * prefetcht0 (%rax) -# CHECK-NEXT: 1 1 1.00 * * prefetcht1 (%rax) -# CHECK-NEXT: 1 1 1.00 * * prefetcht2 (%rax) -# CHECK-NEXT: 1 1 1.00 * * prefetchnta (%rax) -# CHECK-NEXT: 1 4 2.00 psadbw %mm0, %mm2 -# CHECK-NEXT: 1 4 2.00 * psadbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 1 9 4.50 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 1 10 5.00 * rcpps (%rax), %xmm2 -# CHECK-NEXT: 1 4 4.00 rcpss %xmm0, %xmm2 -# CHECK-NEXT: 1 4 4.00 * rcpss (%rax), %xmm2 -# CHECK-NEXT: 1 9 4.50 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 10 5.00 * rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 4 4.00 rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 1 4 4.00 * rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * sfence -# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 70 35.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 70 35.00 * sqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 34 17.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 1 34 17.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 15 7.50 * * * stmxcsr (%rax) -# CHECK-NEXT: 1 5 5.00 subps %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * subps (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 subss %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * subss (%rax), %xmm2 -# CHECK-NEXT: 1 9 4.50 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 1 10 5.00 * ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * unpcklps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 xorps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * xorps (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 5 5.00 addps %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 addss %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andnps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * andnps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * andps (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 1 9 4.50 comiss %xmm0, %xmm1 +# CHECK-NEXT: 1 10 5.00 * comiss (%rax), %xmm1 +# CHECK-NEXT: 1 5 5.00 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 1 5 5.00 * cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 1 6 3.00 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 1 6 3.00 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 1 7 3.50 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 1 7 3.50 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 1 8 4.00 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 1 9 4.50 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 1 9 4.50 * cvtss2si (%rax), %ecx +# CHECK-NEXT: 1 10 5.00 * cvtss2si (%rax), %rcx +# CHECK-NEXT: 1 5 5.00 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 1 5 5.00 * cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 1 8 4.00 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 1 9 4.50 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 1 9 4.50 * cvttss2si (%rax), %ecx +# CHECK-NEXT: 1 10 5.00 * cvttss2si (%rax), %rcx +# CHECK-NEXT: 1 70 35.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 1 70 35.00 * divps (%rax), %xmm2 +# CHECK-NEXT: 1 34 17.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 1 34 17.00 * divss (%rax), %xmm2 +# CHECK-NEXT: 1 5 2.50 * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 5 5.00 maxps %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 maxss %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * maxss (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 minps %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 minss %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * minss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movaps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movlps (%rax), %xmm2 +# CHECK-NEXT: 1 3 3.00 movmskps %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movups %xmm0, %xmm2 +# CHECK-NEXT: 1 2 1.00 * movups %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.50 * movups (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 mulps %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * mulps (%rax), %xmm2 +# CHECK-NEXT: 1 4 4.00 mulss %xmm0, %xmm2 +# CHECK-NEXT: 1 4 4.00 * mulss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 orps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * orps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pavgb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pavgw (%rax), %mm2 +# CHECK-NEXT: 1 4 2.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 1 1 1.00 pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 1 1 1.00 * pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pmaxsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pmaxub (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pminsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pminub (%rax), %mm2 +# CHECK-NEXT: 1 3 3.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 4 4.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: 1 4 4.00 * pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 * * prefetcht0 (%rax) +# CHECK-NEXT: 1 1 1.00 * * prefetcht1 (%rax) +# CHECK-NEXT: 1 1 1.00 * * prefetcht2 (%rax) +# CHECK-NEXT: 1 1 1.00 * * prefetchnta (%rax) +# CHECK-NEXT: 1 4 2.00 psadbw %mm0, %mm2 +# CHECK-NEXT: 1 4 2.00 * psadbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 1 9 4.50 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 5.00 * rcpps (%rax), %xmm2 +# CHECK-NEXT: 1 4 4.00 rcpss %xmm0, %xmm2 +# CHECK-NEXT: 1 4 4.00 * rcpss (%rax), %xmm2 +# CHECK-NEXT: 1 9 4.50 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 5.00 * rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 4 4.00 rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 1 4 4.00 * rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * sfence +# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 70 35.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 70 35.00 * sqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 34 17.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 1 34 17.00 * sqrtss (%rax), %xmm2 +# CHECK-NEXT: 1 15 7.50 * * * stmxcsr (%rax) +# CHECK-NEXT: 1 5 5.00 subps %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 subss %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 9 4.50 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 1 10 5.00 * ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * unpcklps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 xorps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * xorps (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - AtomPort0 -# CHECK-NEXT: [1] - AtomPort1 +# CHECK-NEXT: [0] - AtomPort0 +# CHECK-NEXT: [1] - AtomPort1 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] # CHECK-NEXT: 516.00 350.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] Instructions: -# CHECK-NEXT: 5.00 - addps %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - addps (%rax), %xmm2 -# CHECK-NEXT: 5.00 - addss %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - addss (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 andnps %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - andnps (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 andps %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - andps (%rax), %xmm2 -# CHECK-NEXT: 5.00 - cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 5.00 - cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 4.50 4.50 comiss %xmm0, %xmm1 -# CHECK-NEXT: 5.00 5.00 comiss (%rax), %xmm1 -# CHECK-NEXT: - 5.00 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: - 5.00 cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - 5.00 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 5.00 5.00 cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 3.00 3.00 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 3.00 3.00 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 4.00 4.00 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 4.50 4.50 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 4.50 4.50 cvtss2si (%rax), %ecx -# CHECK-NEXT: 5.00 5.00 cvtss2si (%rax), %rcx -# CHECK-NEXT: - 5.00 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 5.00 5.00 cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 4.00 4.00 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 4.50 4.50 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 4.50 4.50 cvttss2si (%rax), %ecx -# CHECK-NEXT: 5.00 5.00 cvttss2si (%rax), %rcx -# CHECK-NEXT: 35.00 35.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 35.00 35.00 divps (%rax), %xmm2 -# CHECK-NEXT: 17.00 17.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 17.00 17.00 divss (%rax), %xmm2 -# CHECK-NEXT: 2.50 2.50 ldmxcsr (%rax) -# CHECK-NEXT: 1.00 - maskmovq %mm0, %mm1 -# CHECK-NEXT: 5.00 - maxps %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - maxps (%rax), %xmm2 -# CHECK-NEXT: 5.00 - maxss %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - maxss (%rax), %xmm2 -# CHECK-NEXT: 5.00 - minps %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - minps (%rax), %xmm2 -# CHECK-NEXT: 5.00 - minss %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - minss (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 movaps %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movaps %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movaps (%rax), %xmm2 -# CHECK-NEXT: 1.00 - movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movlhps %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movhps %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movhps (%rax), %xmm2 -# CHECK-NEXT: 1.00 - movlps %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movlps (%rax), %xmm2 -# CHECK-NEXT: 3.00 - movmskps %xmm0, %ecx -# CHECK-NEXT: 1.00 - movntps %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movntq %mm0, (%rax) -# CHECK-NEXT: 0.50 0.50 movss %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movss %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movss (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 movups %xmm0, %xmm2 -# CHECK-NEXT: 1.00 1.00 movups %xmm0, (%rax) -# CHECK-NEXT: 1.50 1.50 movups (%rax), %xmm2 -# CHECK-NEXT: 5.00 - mulps %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - mulps (%rax), %xmm2 -# CHECK-NEXT: 4.00 - mulss %xmm0, %xmm2 -# CHECK-NEXT: 4.00 - mulss (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 orps %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - orps (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pavgb %mm0, %mm2 -# CHECK-NEXT: 1.00 - pavgb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pavgw %mm0, %mm2 -# CHECK-NEXT: 1.00 - pavgw (%rax), %mm2 -# CHECK-NEXT: 2.00 2.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 1.00 - pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 1.00 - pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 1.00 - pmaxsw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pmaxub %mm0, %mm2 -# CHECK-NEXT: 1.00 - pmaxub (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pminsw %mm0, %mm2 -# CHECK-NEXT: 1.00 - pminsw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pminub %mm0, %mm2 -# CHECK-NEXT: 1.00 - pminub (%rax), %mm2 -# CHECK-NEXT: 3.00 - pmovmskb %xmm0, %ecx -# CHECK-NEXT: 4.00 - pmulhuw %mm0, %mm2 -# CHECK-NEXT: 4.00 - pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1.00 - prefetcht0 (%rax) -# CHECK-NEXT: 1.00 - prefetcht1 (%rax) -# CHECK-NEXT: 1.00 - prefetcht2 (%rax) -# CHECK-NEXT: 1.00 - prefetchnta (%rax) -# CHECK-NEXT: 2.00 2.00 psadbw %mm0, %mm2 -# CHECK-NEXT: 2.00 2.00 psadbw (%rax), %mm2 -# CHECK-NEXT: 1.00 - pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 1.00 - pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 4.50 4.50 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 5.00 5.00 rcpps (%rax), %xmm2 -# CHECK-NEXT: 4.00 - rcpss %xmm0, %xmm2 -# CHECK-NEXT: 4.00 - rcpss (%rax), %xmm2 -# CHECK-NEXT: 4.50 4.50 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 5.00 5.00 rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 4.00 - rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 4.00 - rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 1.00 - sfence -# CHECK-NEXT: 1.00 - shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 35.00 35.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 35.00 35.00 sqrtps (%rax), %xmm2 -# CHECK-NEXT: 17.00 17.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 17.00 17.00 sqrtss (%rax), %xmm2 -# CHECK-NEXT: 7.50 7.50 stmxcsr (%rax) -# CHECK-NEXT: 5.00 - subps %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - subps (%rax), %xmm2 -# CHECK-NEXT: 5.00 - subss %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - subss (%rax), %xmm2 -# CHECK-NEXT: 4.50 4.50 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 5.00 5.00 ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1.00 - unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1.00 - unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - unpcklps (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 xorps %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - xorps (%rax), %xmm2 +# CHECK-NEXT: [0] [1] Instructions: +# CHECK-NEXT: 5.00 - addps %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - addps (%rax), %xmm2 +# CHECK-NEXT: 5.00 - addss %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - addss (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 andnps %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - andnps (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 andps %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - andps (%rax), %xmm2 +# CHECK-NEXT: 5.00 - cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 5.00 - cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 4.50 4.50 comiss %xmm0, %xmm1 +# CHECK-NEXT: 5.00 5.00 comiss (%rax), %xmm1 +# CHECK-NEXT: - 5.00 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: - 5.00 cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: - 5.00 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 5.00 5.00 cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 3.00 3.00 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 3.00 3.00 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 4.00 4.00 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 4.50 4.50 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 4.50 4.50 cvtss2si (%rax), %ecx +# CHECK-NEXT: 5.00 5.00 cvtss2si (%rax), %rcx +# CHECK-NEXT: - 5.00 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 5.00 5.00 cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 4.00 4.00 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 4.50 4.50 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 4.50 4.50 cvttss2si (%rax), %ecx +# CHECK-NEXT: 5.00 5.00 cvttss2si (%rax), %rcx +# CHECK-NEXT: 35.00 35.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 35.00 35.00 divps (%rax), %xmm2 +# CHECK-NEXT: 17.00 17.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 17.00 17.00 divss (%rax), %xmm2 +# CHECK-NEXT: 2.50 2.50 ldmxcsr (%rax) +# CHECK-NEXT: 1.00 - maskmovq %mm0, %mm1 +# CHECK-NEXT: 5.00 - maxps %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - maxps (%rax), %xmm2 +# CHECK-NEXT: 5.00 - maxss %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - maxss (%rax), %xmm2 +# CHECK-NEXT: 5.00 - minps %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - minps (%rax), %xmm2 +# CHECK-NEXT: 5.00 - minss %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - minss (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 movaps %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movaps %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movaps (%rax), %xmm2 +# CHECK-NEXT: 1.00 - movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movlhps %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movhps %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movhps (%rax), %xmm2 +# CHECK-NEXT: 1.00 - movlps %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movlps (%rax), %xmm2 +# CHECK-NEXT: 3.00 - movmskps %xmm0, %ecx +# CHECK-NEXT: 1.00 - movntps %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movntq %mm0, (%rax) +# CHECK-NEXT: 0.50 0.50 movss %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movss %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movss (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 movups %xmm0, %xmm2 +# CHECK-NEXT: 1.00 1.00 movups %xmm0, (%rax) +# CHECK-NEXT: 1.50 1.50 movups (%rax), %xmm2 +# CHECK-NEXT: 5.00 - mulps %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - mulps (%rax), %xmm2 +# CHECK-NEXT: 4.00 - mulss %xmm0, %xmm2 +# CHECK-NEXT: 4.00 - mulss (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 orps %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - orps (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pavgb %mm0, %mm2 +# CHECK-NEXT: 1.00 - pavgb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pavgw %mm0, %mm2 +# CHECK-NEXT: 1.00 - pavgw (%rax), %mm2 +# CHECK-NEXT: 2.00 2.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 1.00 - pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 1.00 - pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 1.00 - pmaxsw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pmaxub %mm0, %mm2 +# CHECK-NEXT: 1.00 - pmaxub (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pminsw %mm0, %mm2 +# CHECK-NEXT: 1.00 - pminsw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pminub %mm0, %mm2 +# CHECK-NEXT: 1.00 - pminub (%rax), %mm2 +# CHECK-NEXT: 3.00 - pmovmskb %xmm0, %ecx +# CHECK-NEXT: 4.00 - pmulhuw %mm0, %mm2 +# CHECK-NEXT: 4.00 - pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1.00 - prefetcht0 (%rax) +# CHECK-NEXT: 1.00 - prefetcht1 (%rax) +# CHECK-NEXT: 1.00 - prefetcht2 (%rax) +# CHECK-NEXT: 1.00 - prefetchnta (%rax) +# CHECK-NEXT: 2.00 2.00 psadbw %mm0, %mm2 +# CHECK-NEXT: 2.00 2.00 psadbw (%rax), %mm2 +# CHECK-NEXT: 1.00 - pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 1.00 - pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 4.50 4.50 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 5.00 5.00 rcpps (%rax), %xmm2 +# CHECK-NEXT: 4.00 - rcpss %xmm0, %xmm2 +# CHECK-NEXT: 4.00 - rcpss (%rax), %xmm2 +# CHECK-NEXT: 4.50 4.50 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 5.00 5.00 rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 4.00 - rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 4.00 - rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 1.00 - sfence +# CHECK-NEXT: 1.00 - shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 35.00 35.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 35.00 35.00 sqrtps (%rax), %xmm2 +# CHECK-NEXT: 17.00 17.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 17.00 17.00 sqrtss (%rax), %xmm2 +# CHECK-NEXT: 7.50 7.50 stmxcsr (%rax) +# CHECK-NEXT: 5.00 - subps %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - subps (%rax), %xmm2 +# CHECK-NEXT: 5.00 - subss %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - subss (%rax), %xmm2 +# CHECK-NEXT: 4.50 4.50 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 5.00 5.00 ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1.00 - unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1.00 - unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - unpcklps (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 xorps %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - xorps (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s index d78f9c1d..17625b6 100644 --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s @@ -401,544 +401,544 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 6 3.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 addsd %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * addsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * andnpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * andpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * clflush (%rax) -# CHECK-NEXT: 1 6 3.00 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 9 4.50 comisd %xmm0, %xmm1 -# CHECK-NEXT: 1 10 5.00 * comisd (%rax), %xmm1 -# CHECK-NEXT: 1 7 3.50 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 6 3.00 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 1 7 3.50 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 1 7 3.50 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 1 8 4.00 * cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 7 3.50 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 1 7 3.50 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 1 6 3.00 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 7 3.50 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 1 8 4.00 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 1 8 4.00 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 1 9 4.50 * cvtsd2si (%rax), %ecx -# CHECK-NEXT: 1 9 4.50 * cvtsd2si (%rax), %rcx -# CHECK-NEXT: 1 6 3.00 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 1 6 3.00 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 1 6 3.00 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 1 7 3.50 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 1 7 3.50 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 1 6 3.00 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 1 7 3.50 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 1 7 3.50 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 1 8 4.00 * cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 6 3.00 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 8 4.00 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 1 8 4.00 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 1 9 4.50 * cvttsd2si (%rax), %ecx -# CHECK-NEXT: 1 9 4.50 * cvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 125 62.50 divpd %xmm0, %xmm2 -# CHECK-NEXT: 1 125 62.50 * divpd (%rax), %xmm2 -# CHECK-NEXT: 1 62 31.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 1 62 31.00 * divsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 * * * lfence -# CHECK-NEXT: 1 2 1.00 * * * maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 6 3.00 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * maxpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 maxsd %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * maxsd (%rax), %xmm2 -# CHECK-NEXT: 1 6 3.00 minpd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * minpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 minsd %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * minsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movapd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movd (%rax), %xmm2 -# CHECK-NEXT: 1 3 3.00 movd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 1 2 1.00 * movdqu %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.50 * movdqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * movhpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movlpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 3.00 movmskpd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movq (%rax), %xmm2 -# CHECK-NEXT: 1 3 3.00 movq %xmm0, %rcx -# CHECK-NEXT: 1 1 1.00 * movq %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movupd %xmm0, %xmm2 -# CHECK-NEXT: 1 2 1.00 * movupd %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.50 * movupd (%rax), %xmm2 -# CHECK-NEXT: 1 9 4.50 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 5.00 * mulpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 mulsd %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * mulsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 orpd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * orpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * packssdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * packsswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * packuswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * paddb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * paddd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 paddq %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * paddq (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 paddq %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * paddq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * paddsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * paddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * paddusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * paddusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * paddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pand %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pand (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pandn %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pandn (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pavgb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pavgw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 1 4 2.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 5 5.00 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pmaxub (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pminsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pminub (%rax), %xmm2 -# CHECK-NEXT: 1 3 3.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 5 5.00 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * pmulhw (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 pmullw %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * pmullw (%rax), %xmm2 -# CHECK-NEXT: 1 4 4.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: 1 4 4.00 * pmuludq (%rax), %mm2 -# CHECK-NEXT: 1 5 5.00 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * pmuludq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 por %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * por (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 psadbw %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * psadbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pslld $1, %xmm2 -# CHECK-NEXT: 1 2 1.00 pslld %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * pslld (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psllq $1, %xmm2 -# CHECK-NEXT: 1 2 1.00 psllq %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * psllq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psllw $1, %xmm2 -# CHECK-NEXT: 1 2 1.00 psllw %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * psllw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrad $1, %xmm2 -# CHECK-NEXT: 1 2 1.00 psrad %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * psrad (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psraw $1, %xmm2 -# CHECK-NEXT: 1 2 1.00 psraw %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * psraw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrld $1, %xmm2 -# CHECK-NEXT: 1 2 1.00 psrld %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * psrld (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlq $1, %xmm2 -# CHECK-NEXT: 1 2 1.00 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * psrlq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlw $1, %xmm2 -# CHECK-NEXT: 1 2 1.00 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * psrlw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psubb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psubd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 psubq %mm0, %mm2 -# CHECK-NEXT: 1 3 1.50 * psubq (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 psubq %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.50 * psubq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psubsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psubusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psubusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psubw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pxor %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pxor (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 125 62.50 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 1 125 62.50 * sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 62 31.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 1 62 31.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 6 3.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 subsd %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * subsd (%rax), %xmm2 -# CHECK-NEXT: 1 9 4.50 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 1 10 5.00 * ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * xorpd (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 6 3.00 addpd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 addsd %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * andnpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * andpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * clflush (%rax) +# CHECK-NEXT: 1 6 3.00 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 9 4.50 comisd %xmm0, %xmm1 +# CHECK-NEXT: 1 10 5.00 * comisd (%rax), %xmm1 +# CHECK-NEXT: 1 7 3.50 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 6 3.00 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 1 7 3.50 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 1 7 3.50 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 1 8 4.00 * cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 7 3.50 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 1 7 3.50 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 1 6 3.00 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 7 3.50 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 1 8 4.00 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 1 8 4.00 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 1 9 4.50 * cvtsd2si (%rax), %ecx +# CHECK-NEXT: 1 9 4.50 * cvtsd2si (%rax), %rcx +# CHECK-NEXT: 1 6 3.00 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 1 6 3.00 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 1 6 3.00 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 1 7 3.50 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 1 7 3.50 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 1 6 3.00 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 1 7 3.50 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 1 7 3.50 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 1 8 4.00 * cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 6 3.00 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 8 4.00 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 1 8 4.00 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 1 9 4.50 * cvttsd2si (%rax), %ecx +# CHECK-NEXT: 1 9 4.50 * cvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 125 62.50 divpd %xmm0, %xmm2 +# CHECK-NEXT: 1 125 62.50 * divpd (%rax), %xmm2 +# CHECK-NEXT: 1 62 31.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 1 62 31.00 * divsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 * * * lfence +# CHECK-NEXT: 1 2 1.00 * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 6 3.00 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 maxsd %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * maxsd (%rax), %xmm2 +# CHECK-NEXT: 1 6 3.00 minpd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 minsd %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * minsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movapd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movd (%rax), %xmm2 +# CHECK-NEXT: 1 3 3.00 movd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 1 2 1.00 * movdqu %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.50 * movdqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * movhpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movlpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 3.00 movmskpd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movq (%rax), %xmm2 +# CHECK-NEXT: 1 3 3.00 movq %xmm0, %rcx +# CHECK-NEXT: 1 1 1.00 * movq %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movupd %xmm0, %xmm2 +# CHECK-NEXT: 1 2 1.00 * movupd %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.50 * movupd (%rax), %xmm2 +# CHECK-NEXT: 1 9 4.50 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 5.00 * mulpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 mulsd %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * mulsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 orpd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * orpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * packssdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * packsswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * packuswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * paddb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * paddd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 paddq %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * paddq (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 paddq %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * paddq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * paddsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * paddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * paddusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * paddusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * paddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pand %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pand (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pandn %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pandn (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pavgb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pavgw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 1 4 2.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 5 5.00 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pmaxub (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pminsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pminub (%rax), %xmm2 +# CHECK-NEXT: 1 3 3.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 5 5.00 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * pmulhw (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 pmullw %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * pmullw (%rax), %xmm2 +# CHECK-NEXT: 1 4 4.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: 1 4 4.00 * pmuludq (%rax), %mm2 +# CHECK-NEXT: 1 5 5.00 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * pmuludq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 por %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * por (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 psadbw %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * psadbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pslld $1, %xmm2 +# CHECK-NEXT: 1 2 1.00 pslld %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * pslld (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psllq $1, %xmm2 +# CHECK-NEXT: 1 2 1.00 psllq %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * psllq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psllw $1, %xmm2 +# CHECK-NEXT: 1 2 1.00 psllw %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * psllw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrad $1, %xmm2 +# CHECK-NEXT: 1 2 1.00 psrad %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * psrad (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psraw $1, %xmm2 +# CHECK-NEXT: 1 2 1.00 psraw %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * psraw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrld $1, %xmm2 +# CHECK-NEXT: 1 2 1.00 psrld %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * psrld (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlq $1, %xmm2 +# CHECK-NEXT: 1 2 1.00 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * psrlq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlw $1, %xmm2 +# CHECK-NEXT: 1 2 1.00 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * psrlw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psubb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psubd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 psubq %mm0, %mm2 +# CHECK-NEXT: 1 3 1.50 * psubq (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 psubq %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.50 * psubq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psubsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psubusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psubusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psubw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pxor %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pxor (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 125 62.50 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 1 125 62.50 * sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 62 31.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 1 62 31.00 * sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 1 6 3.00 subpd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 subsd %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 9 4.50 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 1 10 5.00 * ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * xorpd (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - AtomPort0 -# CHECK-NEXT: [1] - AtomPort1 +# CHECK-NEXT: [0] - AtomPort0 +# CHECK-NEXT: [1] - AtomPort1 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] # CHECK-NEXT: 868.50 638.50 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] Instructions: -# CHECK-NEXT: 3.00 3.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 addpd (%rax), %xmm2 -# CHECK-NEXT: 5.00 - addsd %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - addsd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - andnpd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 andpd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - andpd (%rax), %xmm2 -# CHECK-NEXT: 1.00 - clflush (%rax) -# CHECK-NEXT: 3.00 3.00 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 5.00 - cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 4.50 4.50 comisd %xmm0, %xmm1 -# CHECK-NEXT: 5.00 5.00 comisd (%rax), %xmm1 -# CHECK-NEXT: 3.50 3.50 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 3.00 3.00 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 4.00 4.00 cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 3.50 3.50 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 3.00 3.00 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 4.00 4.00 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 4.00 4.00 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 4.50 4.50 cvtsd2si (%rax), %ecx -# CHECK-NEXT: 4.50 4.50 cvtsd2si (%rax), %rcx -# CHECK-NEXT: 3.00 3.00 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 3.00 3.00 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 3.00 3.00 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 3.00 3.00 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 3.50 3.50 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 3.50 3.50 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 4.00 4.00 cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 3.00 3.00 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 4.00 4.00 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 4.00 4.00 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 4.50 4.50 cvttsd2si (%rax), %ecx -# CHECK-NEXT: 4.50 4.50 cvttsd2si (%rax), %rcx -# CHECK-NEXT: 62.50 62.50 divpd %xmm0, %xmm2 -# CHECK-NEXT: 62.50 62.50 divpd (%rax), %xmm2 -# CHECK-NEXT: 31.00 31.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 31.00 31.00 divsd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 lfence -# CHECK-NEXT: 1.00 1.00 maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 3.00 3.00 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 maxpd (%rax), %xmm2 -# CHECK-NEXT: 5.00 - maxsd %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - maxsd (%rax), %xmm2 -# CHECK-NEXT: 3.00 3.00 minpd %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 minpd (%rax), %xmm2 -# CHECK-NEXT: 5.00 - minsd %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - minsd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 movapd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movapd %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movapd (%rax), %xmm2 -# CHECK-NEXT: 1.00 - movd %eax, %xmm2 -# CHECK-NEXT: 1.00 - movd (%rax), %xmm2 -# CHECK-NEXT: 3.00 - movd %xmm0, %ecx -# CHECK-NEXT: 1.00 - movd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movdqa %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movdqa (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 1.00 1.00 movdqu %xmm0, (%rax) -# CHECK-NEXT: 1.50 1.50 movdqu (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 1.00 - movhpd %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movhpd (%rax), %xmm2 -# CHECK-NEXT: 1.00 - movlpd %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movlpd (%rax), %xmm2 -# CHECK-NEXT: 3.00 - movmskpd %xmm0, %ecx -# CHECK-NEXT: 1.00 - movntil %eax, (%rax) -# CHECK-NEXT: 1.00 - movntiq %rax, (%rax) -# CHECK-NEXT: 1.00 - movntdq %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movntpd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 movq %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movq %rax, %xmm2 -# CHECK-NEXT: 1.00 - movq (%rax), %xmm2 -# CHECK-NEXT: 3.00 - movq %xmm0, %rcx -# CHECK-NEXT: 1.00 - movq %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1.00 - movsd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movsd %xmm0, (%rax) -# CHECK-NEXT: 1.00 - movsd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 movupd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 1.00 movupd %xmm0, (%rax) -# CHECK-NEXT: 1.50 1.50 movupd (%rax), %xmm2 -# CHECK-NEXT: 4.50 4.50 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 5.00 5.00 mulpd (%rax), %xmm2 -# CHECK-NEXT: 5.00 - mulsd %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - mulsd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 orpd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - orpd (%rax), %xmm2 -# CHECK-NEXT: 1.00 - packssdw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - packssdw (%rax), %xmm2 -# CHECK-NEXT: 1.00 - packsswb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - packsswb (%rax), %xmm2 -# CHECK-NEXT: 1.00 - packuswb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - packuswb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 paddb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - paddb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 paddd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - paddd (%rax), %xmm2 -# CHECK-NEXT: 1.00 1.00 paddq %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 paddq (%rax), %mm2 -# CHECK-NEXT: 1.00 1.00 paddq %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 paddq (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - paddsb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - paddsw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - paddusb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - paddusw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 paddw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - paddw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pand %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pand (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pandn %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pandn (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pavgb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pavgw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 2.00 2.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 5.00 - pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pmaxub (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pminsw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pminub %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pminub (%rax), %xmm2 -# CHECK-NEXT: 3.00 - pmovmskb %xmm0, %ecx -# CHECK-NEXT: 5.00 - pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 5.00 - pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - pmulhw (%rax), %xmm2 -# CHECK-NEXT: 5.00 - pmullw %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - pmullw (%rax), %xmm2 -# CHECK-NEXT: 4.00 - pmuludq %mm0, %mm2 -# CHECK-NEXT: 4.00 - pmuludq (%rax), %mm2 -# CHECK-NEXT: 5.00 - pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - pmuludq (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 por %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - por (%rax), %xmm2 -# CHECK-NEXT: 5.00 - psadbw %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - psadbw (%rax), %xmm2 -# CHECK-NEXT: 1.00 - pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1.00 - pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1.00 - pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pslld $1, %xmm2 -# CHECK-NEXT: 1.00 1.00 pslld %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 pslld (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pslldq $1, %xmm2 -# CHECK-NEXT: 0.50 0.50 psllq $1, %xmm2 -# CHECK-NEXT: 1.00 1.00 psllq %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 psllq (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psllw $1, %xmm2 -# CHECK-NEXT: 1.00 1.00 psllw %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 psllw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psrad $1, %xmm2 -# CHECK-NEXT: 1.00 1.00 psrad %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 psrad (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psraw $1, %xmm2 -# CHECK-NEXT: 1.00 1.00 psraw %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 psraw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psrld $1, %xmm2 -# CHECK-NEXT: 1.00 1.00 psrld %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 psrld (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psrldq $1, %xmm2 -# CHECK-NEXT: 0.50 0.50 psrlq $1, %xmm2 -# CHECK-NEXT: 1.00 1.00 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 psrlq (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psrlw $1, %xmm2 -# CHECK-NEXT: 1.00 1.00 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 psrlw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psubb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psubb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psubd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psubd (%rax), %xmm2 -# CHECK-NEXT: 1.00 1.00 psubq %mm0, %mm2 -# CHECK-NEXT: 1.50 1.50 psubq (%rax), %mm2 -# CHECK-NEXT: 1.00 1.00 psubq %xmm0, %xmm2 -# CHECK-NEXT: 1.50 1.50 psubq (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psubsb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psubsw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psubusb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psubusw (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psubw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psubw (%rax), %xmm2 -# CHECK-NEXT: 1.00 - punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1.00 - punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1.00 - punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1.00 - punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1.00 - punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1.00 - punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1.00 - punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1.00 - punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pxor %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pxor (%rax), %xmm2 -# CHECK-NEXT: 1.00 - shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 62.50 62.50 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 62.50 62.50 sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 31.00 31.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 31.00 31.00 sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 3.00 3.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 subpd (%rax), %xmm2 -# CHECK-NEXT: 5.00 - subsd %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - subsd (%rax), %xmm2 -# CHECK-NEXT: 4.50 4.50 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 5.00 5.00 ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1.00 - unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1.00 - unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - xorpd (%rax), %xmm2 +# CHECK-NEXT: [0] [1] Instructions: +# CHECK-NEXT: 3.00 3.00 addpd %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 addpd (%rax), %xmm2 +# CHECK-NEXT: 5.00 - addsd %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - addsd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - andnpd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 andpd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - andpd (%rax), %xmm2 +# CHECK-NEXT: 1.00 - clflush (%rax) +# CHECK-NEXT: 3.00 3.00 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 5.00 - cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 4.50 4.50 comisd %xmm0, %xmm1 +# CHECK-NEXT: 5.00 5.00 comisd (%rax), %xmm1 +# CHECK-NEXT: 3.50 3.50 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 3.00 3.00 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 4.00 4.00 cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 3.50 3.50 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 3.00 3.00 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 4.00 4.00 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 4.00 4.00 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 4.50 4.50 cvtsd2si (%rax), %ecx +# CHECK-NEXT: 4.50 4.50 cvtsd2si (%rax), %rcx +# CHECK-NEXT: 3.00 3.00 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 3.00 3.00 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 3.00 3.00 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 3.00 3.00 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 3.50 3.50 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 3.50 3.50 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 4.00 4.00 cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 3.00 3.00 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 4.00 4.00 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 4.00 4.00 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 4.50 4.50 cvttsd2si (%rax), %ecx +# CHECK-NEXT: 4.50 4.50 cvttsd2si (%rax), %rcx +# CHECK-NEXT: 62.50 62.50 divpd %xmm0, %xmm2 +# CHECK-NEXT: 62.50 62.50 divpd (%rax), %xmm2 +# CHECK-NEXT: 31.00 31.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 31.00 31.00 divsd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 lfence +# CHECK-NEXT: 1.00 1.00 maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 3.00 3.00 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 maxpd (%rax), %xmm2 +# CHECK-NEXT: 5.00 - maxsd %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - maxsd (%rax), %xmm2 +# CHECK-NEXT: 3.00 3.00 minpd %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 minpd (%rax), %xmm2 +# CHECK-NEXT: 5.00 - minsd %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - minsd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 movapd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movapd %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movapd (%rax), %xmm2 +# CHECK-NEXT: 1.00 - movd %eax, %xmm2 +# CHECK-NEXT: 1.00 - movd (%rax), %xmm2 +# CHECK-NEXT: 3.00 - movd %xmm0, %ecx +# CHECK-NEXT: 1.00 - movd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movdqa %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movdqa (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 1.00 1.00 movdqu %xmm0, (%rax) +# CHECK-NEXT: 1.50 1.50 movdqu (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 1.00 - movhpd %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movhpd (%rax), %xmm2 +# CHECK-NEXT: 1.00 - movlpd %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movlpd (%rax), %xmm2 +# CHECK-NEXT: 3.00 - movmskpd %xmm0, %ecx +# CHECK-NEXT: 1.00 - movntil %eax, (%rax) +# CHECK-NEXT: 1.00 - movntiq %rax, (%rax) +# CHECK-NEXT: 1.00 - movntdq %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movntpd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 movq %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movq %rax, %xmm2 +# CHECK-NEXT: 1.00 - movq (%rax), %xmm2 +# CHECK-NEXT: 3.00 - movq %xmm0, %rcx +# CHECK-NEXT: 1.00 - movq %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1.00 - movsd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movsd %xmm0, (%rax) +# CHECK-NEXT: 1.00 - movsd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 movupd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 1.00 movupd %xmm0, (%rax) +# CHECK-NEXT: 1.50 1.50 movupd (%rax), %xmm2 +# CHECK-NEXT: 4.50 4.50 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 5.00 5.00 mulpd (%rax), %xmm2 +# CHECK-NEXT: 5.00 - mulsd %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - mulsd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 orpd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - orpd (%rax), %xmm2 +# CHECK-NEXT: 1.00 - packssdw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - packssdw (%rax), %xmm2 +# CHECK-NEXT: 1.00 - packsswb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - packsswb (%rax), %xmm2 +# CHECK-NEXT: 1.00 - packuswb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - packuswb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 paddb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - paddb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 paddd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - paddd (%rax), %xmm2 +# CHECK-NEXT: 1.00 1.00 paddq %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 paddq (%rax), %mm2 +# CHECK-NEXT: 1.00 1.00 paddq %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 paddq (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - paddsb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - paddsw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - paddusb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - paddusw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 paddw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - paddw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pand %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pand (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pandn %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pandn (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pavgb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pavgw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 2.00 2.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 5.00 - pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pmaxub (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pminsw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pminub %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pminub (%rax), %xmm2 +# CHECK-NEXT: 3.00 - pmovmskb %xmm0, %ecx +# CHECK-NEXT: 5.00 - pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 5.00 - pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - pmulhw (%rax), %xmm2 +# CHECK-NEXT: 5.00 - pmullw %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - pmullw (%rax), %xmm2 +# CHECK-NEXT: 4.00 - pmuludq %mm0, %mm2 +# CHECK-NEXT: 4.00 - pmuludq (%rax), %mm2 +# CHECK-NEXT: 5.00 - pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - pmuludq (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 por %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - por (%rax), %xmm2 +# CHECK-NEXT: 5.00 - psadbw %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - psadbw (%rax), %xmm2 +# CHECK-NEXT: 1.00 - pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pslld $1, %xmm2 +# CHECK-NEXT: 1.00 1.00 pslld %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 pslld (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pslldq $1, %xmm2 +# CHECK-NEXT: 0.50 0.50 psllq $1, %xmm2 +# CHECK-NEXT: 1.00 1.00 psllq %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 psllq (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psllw $1, %xmm2 +# CHECK-NEXT: 1.00 1.00 psllw %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 psllw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psrad $1, %xmm2 +# CHECK-NEXT: 1.00 1.00 psrad %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 psrad (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psraw $1, %xmm2 +# CHECK-NEXT: 1.00 1.00 psraw %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 psraw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psrld $1, %xmm2 +# CHECK-NEXT: 1.00 1.00 psrld %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 psrld (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psrldq $1, %xmm2 +# CHECK-NEXT: 0.50 0.50 psrlq $1, %xmm2 +# CHECK-NEXT: 1.00 1.00 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 psrlq (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psrlw $1, %xmm2 +# CHECK-NEXT: 1.00 1.00 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 psrlw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psubb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psubb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psubd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psubd (%rax), %xmm2 +# CHECK-NEXT: 1.00 1.00 psubq %mm0, %mm2 +# CHECK-NEXT: 1.50 1.50 psubq (%rax), %mm2 +# CHECK-NEXT: 1.00 1.00 psubq %xmm0, %xmm2 +# CHECK-NEXT: 1.50 1.50 psubq (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psubsb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psubsw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psubusb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psubusw (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psubw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psubw (%rax), %xmm2 +# CHECK-NEXT: 1.00 - punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1.00 - punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1.00 - punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1.00 - punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1.00 - punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1.00 - punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1.00 - punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1.00 - punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pxor %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pxor (%rax), %xmm2 +# CHECK-NEXT: 1.00 - shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 62.50 62.50 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 62.50 62.50 sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 31.00 31.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 31.00 31.00 sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 3.00 3.00 subpd %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 subpd (%rax), %xmm2 +# CHECK-NEXT: 5.00 - subsd %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - subsd (%rax), %xmm2 +# CHECK-NEXT: 4.50 4.50 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 5.00 5.00 ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1.00 - unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1.00 - unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - xorpd (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-sse3.s index f70b171..72859a7 100644 --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-sse3.s @@ -38,54 +38,54 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 6 3.00 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 3.50 * addsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 5.00 addsubps %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 1 8 4.00 haddpd %xmm0, %xmm2 -# CHECK-NEXT: 1 9 4.50 * haddpd (%rax), %xmm2 -# CHECK-NEXT: 1 8 4.00 haddps %xmm0, %xmm2 -# CHECK-NEXT: 1 9 4.50 * haddps (%rax), %xmm2 -# CHECK-NEXT: 1 8 4.00 hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 1 9 4.50 * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 8 4.00 hsubps %xmm0, %xmm2 -# CHECK-NEXT: 1 9 4.50 * hsubps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.50 * lddqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movsldup (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 6 3.00 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 3.50 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 5.00 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * addsubps (%rax), %xmm2 +# CHECK-NEXT: 1 8 4.00 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 1 9 4.50 * haddpd (%rax), %xmm2 +# CHECK-NEXT: 1 8 4.00 haddps %xmm0, %xmm2 +# CHECK-NEXT: 1 9 4.50 * haddps (%rax), %xmm2 +# CHECK-NEXT: 1 8 4.00 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 9 4.50 * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 8 4.00 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 9 4.50 * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.50 * lddqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movsldup (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - AtomPort0 -# CHECK-NEXT: [1] - AtomPort1 +# CHECK-NEXT: [0] - AtomPort0 +# CHECK-NEXT: [1] - AtomPort1 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] # CHECK-NEXT: 58.00 42.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] Instructions: -# CHECK-NEXT: 3.00 3.00 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 3.50 3.50 addsubpd (%rax), %xmm2 -# CHECK-NEXT: 5.00 - addsubps %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - addsubps (%rax), %xmm2 -# CHECK-NEXT: 4.00 4.00 haddpd %xmm0, %xmm2 -# CHECK-NEXT: 4.50 4.50 haddpd (%rax), %xmm2 -# CHECK-NEXT: 4.00 4.00 haddps %xmm0, %xmm2 -# CHECK-NEXT: 4.50 4.50 haddps (%rax), %xmm2 -# CHECK-NEXT: 4.00 4.00 hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 4.50 4.50 hsubpd (%rax), %xmm2 -# CHECK-NEXT: 4.00 4.00 hsubps %xmm0, %xmm2 -# CHECK-NEXT: 4.50 4.50 hsubps (%rax), %xmm2 -# CHECK-NEXT: 1.50 1.50 lddqu (%rax), %xmm2 -# CHECK-NEXT: 1.00 - movddup %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movddup (%rax), %xmm2 -# CHECK-NEXT: 1.00 - movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movshdup (%rax), %xmm2 -# CHECK-NEXT: 1.00 - movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - movsldup (%rax), %xmm2 +# CHECK-NEXT: [0] [1] Instructions: +# CHECK-NEXT: 3.00 3.00 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 3.50 3.50 addsubpd (%rax), %xmm2 +# CHECK-NEXT: 5.00 - addsubps %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - addsubps (%rax), %xmm2 +# CHECK-NEXT: 4.00 4.00 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 4.50 4.50 haddpd (%rax), %xmm2 +# CHECK-NEXT: 4.00 4.00 haddps %xmm0, %xmm2 +# CHECK-NEXT: 4.50 4.50 haddps (%rax), %xmm2 +# CHECK-NEXT: 4.00 4.00 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 4.50 4.50 hsubpd (%rax), %xmm2 +# CHECK-NEXT: 4.00 4.00 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 4.50 4.50 hsubps (%rax), %xmm2 +# CHECK-NEXT: 1.50 1.50 lddqu (%rax), %xmm2 +# CHECK-NEXT: 1.00 - movddup %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movddup (%rax), %xmm2 +# CHECK-NEXT: 1.00 - movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movshdup (%rax), %xmm2 +# CHECK-NEXT: 1.00 - movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - movsldup (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-ssse3.s index b33391c..6e97c56 100644 --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-ssse3.s @@ -105,144 +105,144 @@ psignw (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pabsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pabsd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pabsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * pabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.50 phaddd %mm0, %mm2 -# CHECK-NEXT: 1 4 2.00 * phaddd (%rax), %mm2 -# CHECK-NEXT: 1 3 1.50 phaddd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 2.00 * phaddd (%rax), %xmm2 -# CHECK-NEXT: 1 5 2.50 phaddsw %mm0, %mm2 -# CHECK-NEXT: 1 6 3.00 * phaddsw (%rax), %mm2 -# CHECK-NEXT: 1 7 3.50 phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 1 5 2.50 phaddw %mm0, %mm2 -# CHECK-NEXT: 1 6 3.00 * phaddw (%rax), %mm2 -# CHECK-NEXT: 1 7 3.50 phaddw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * phaddw (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.50 phsubd %mm0, %mm2 -# CHECK-NEXT: 1 4 2.00 * phsubd (%rax), %mm2 -# CHECK-NEXT: 1 3 1.50 phsubd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 2.00 * phsubd (%rax), %xmm2 -# CHECK-NEXT: 1 5 2.50 phsubsw %mm0, %mm2 -# CHECK-NEXT: 1 6 3.00 * phsubsw (%rax), %mm2 -# CHECK-NEXT: 1 7 3.50 phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 1 5 2.50 phsubw %mm0, %mm2 -# CHECK-NEXT: 1 6 3.00 * phsubw (%rax), %mm2 -# CHECK-NEXT: 1 7 3.50 phsubw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 4.00 * phsubw (%rax), %xmm2 -# CHECK-NEXT: 1 4 4.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 1 4 4.00 * pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 1 5 5.00 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 1 4 4.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 1 4 4.00 * pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 1 5 5.00 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 1 5 5.00 * pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * pshufb (%rax), %mm2 -# CHECK-NEXT: 1 4 2.00 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 1 5 2.50 * pshufb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psignb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psignb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psignd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psignd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * psignw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * psignw (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pabsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pabsd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pabsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * pabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.50 phaddd %mm0, %mm2 +# CHECK-NEXT: 1 4 2.00 * phaddd (%rax), %mm2 +# CHECK-NEXT: 1 3 1.50 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 2.00 * phaddd (%rax), %xmm2 +# CHECK-NEXT: 1 5 2.50 phaddsw %mm0, %mm2 +# CHECK-NEXT: 1 6 3.00 * phaddsw (%rax), %mm2 +# CHECK-NEXT: 1 7 3.50 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 1 5 2.50 phaddw %mm0, %mm2 +# CHECK-NEXT: 1 6 3.00 * phaddw (%rax), %mm2 +# CHECK-NEXT: 1 7 3.50 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * phaddw (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.50 phsubd %mm0, %mm2 +# CHECK-NEXT: 1 4 2.00 * phsubd (%rax), %mm2 +# CHECK-NEXT: 1 3 1.50 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 2.00 * phsubd (%rax), %xmm2 +# CHECK-NEXT: 1 5 2.50 phsubsw %mm0, %mm2 +# CHECK-NEXT: 1 6 3.00 * phsubsw (%rax), %mm2 +# CHECK-NEXT: 1 7 3.50 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 1 5 2.50 phsubw %mm0, %mm2 +# CHECK-NEXT: 1 6 3.00 * phsubw (%rax), %mm2 +# CHECK-NEXT: 1 7 3.50 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 4.00 * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 4 4.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 1 4 4.00 * pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 1 5 5.00 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 1 4 4.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 1 4 4.00 * pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 1 5 5.00 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 1 5 5.00 * pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * pshufb (%rax), %mm2 +# CHECK-NEXT: 1 4 2.00 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 1 5 2.50 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psignb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psignb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psignd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psignd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * psignw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * psignw (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - AtomPort0 -# CHECK-NEXT: [1] - AtomPort1 +# CHECK-NEXT: [0] - AtomPort0 +# CHECK-NEXT: [1] - AtomPort1 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] # CHECK-NEXT: 130.50 76.50 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] Instructions: -# CHECK-NEXT: 0.50 0.50 pabsb %mm0, %mm2 -# CHECK-NEXT: 1.00 - pabsb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pabsb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pabsd %mm0, %mm2 -# CHECK-NEXT: 1.00 - pabsd (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pabsd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 pabsw %mm0, %mm2 -# CHECK-NEXT: 1.00 - pabsw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - pabsw (%rax), %xmm2 -# CHECK-NEXT: 1.00 - palignr $1, %mm0, %mm2 -# CHECK-NEXT: 1.00 - palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1.00 - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 1.50 1.50 phaddd %mm0, %mm2 -# CHECK-NEXT: 2.00 2.00 phaddd (%rax), %mm2 -# CHECK-NEXT: 1.50 1.50 phaddd %xmm0, %xmm2 -# CHECK-NEXT: 2.00 2.00 phaddd (%rax), %xmm2 -# CHECK-NEXT: 2.50 2.50 phaddsw %mm0, %mm2 -# CHECK-NEXT: 3.00 3.00 phaddsw (%rax), %mm2 -# CHECK-NEXT: 3.50 3.50 phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 phaddsw (%rax), %xmm2 -# CHECK-NEXT: 2.50 2.50 phaddw %mm0, %mm2 -# CHECK-NEXT: 3.00 3.00 phaddw (%rax), %mm2 -# CHECK-NEXT: 3.50 3.50 phaddw %xmm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 phaddw (%rax), %xmm2 -# CHECK-NEXT: 1.50 1.50 phsubd %mm0, %mm2 -# CHECK-NEXT: 2.00 2.00 phsubd (%rax), %mm2 -# CHECK-NEXT: 1.50 1.50 phsubd %xmm0, %xmm2 -# CHECK-NEXT: 2.00 2.00 phsubd (%rax), %xmm2 -# CHECK-NEXT: 2.50 2.50 phsubsw %mm0, %mm2 -# CHECK-NEXT: 3.00 3.00 phsubsw (%rax), %mm2 -# CHECK-NEXT: 3.50 3.50 phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 phsubsw (%rax), %xmm2 -# CHECK-NEXT: 2.50 2.50 phsubw %mm0, %mm2 -# CHECK-NEXT: 3.00 3.00 phsubw (%rax), %mm2 -# CHECK-NEXT: 3.50 3.50 phsubw %xmm0, %xmm2 -# CHECK-NEXT: 4.00 4.00 phsubw (%rax), %xmm2 -# CHECK-NEXT: 4.00 - pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 4.00 - pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 5.00 - pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 4.00 - pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 4.00 - pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 5.00 - pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 5.00 - pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 1.00 - pshufb %mm0, %mm2 -# CHECK-NEXT: 1.00 - pshufb (%rax), %mm2 -# CHECK-NEXT: 2.00 2.00 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 2.50 2.50 pshufb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psignb %mm0, %mm2 -# CHECK-NEXT: 1.00 - psignb (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psignb %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psignb (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psignd %mm0, %mm2 -# CHECK-NEXT: 1.00 - psignd (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psignd %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psignd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 psignw %mm0, %mm2 -# CHECK-NEXT: 1.00 - psignw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 psignw %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - psignw (%rax), %xmm2 +# CHECK-NEXT: [0] [1] Instructions: +# CHECK-NEXT: 0.50 0.50 pabsb %mm0, %mm2 +# CHECK-NEXT: 1.00 - pabsb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pabsb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pabsd %mm0, %mm2 +# CHECK-NEXT: 1.00 - pabsd (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pabsd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 pabsw %mm0, %mm2 +# CHECK-NEXT: 1.00 - pabsw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - pabsw (%rax), %xmm2 +# CHECK-NEXT: 1.00 - palignr $1, %mm0, %mm2 +# CHECK-NEXT: 1.00 - palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1.00 - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 1.50 1.50 phaddd %mm0, %mm2 +# CHECK-NEXT: 2.00 2.00 phaddd (%rax), %mm2 +# CHECK-NEXT: 1.50 1.50 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 2.00 2.00 phaddd (%rax), %xmm2 +# CHECK-NEXT: 2.50 2.50 phaddsw %mm0, %mm2 +# CHECK-NEXT: 3.00 3.00 phaddsw (%rax), %mm2 +# CHECK-NEXT: 3.50 3.50 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 phaddsw (%rax), %xmm2 +# CHECK-NEXT: 2.50 2.50 phaddw %mm0, %mm2 +# CHECK-NEXT: 3.00 3.00 phaddw (%rax), %mm2 +# CHECK-NEXT: 3.50 3.50 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 phaddw (%rax), %xmm2 +# CHECK-NEXT: 1.50 1.50 phsubd %mm0, %mm2 +# CHECK-NEXT: 2.00 2.00 phsubd (%rax), %mm2 +# CHECK-NEXT: 1.50 1.50 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 2.00 2.00 phsubd (%rax), %xmm2 +# CHECK-NEXT: 2.50 2.50 phsubsw %mm0, %mm2 +# CHECK-NEXT: 3.00 3.00 phsubsw (%rax), %mm2 +# CHECK-NEXT: 3.50 3.50 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 phsubsw (%rax), %xmm2 +# CHECK-NEXT: 2.50 2.50 phsubw %mm0, %mm2 +# CHECK-NEXT: 3.00 3.00 phsubw (%rax), %mm2 +# CHECK-NEXT: 3.50 3.50 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 4.00 4.00 phsubw (%rax), %xmm2 +# CHECK-NEXT: 4.00 - pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 4.00 - pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 5.00 - pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 4.00 - pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 4.00 - pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 5.00 - pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 5.00 - pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 1.00 - pshufb %mm0, %mm2 +# CHECK-NEXT: 1.00 - pshufb (%rax), %mm2 +# CHECK-NEXT: 2.00 2.00 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 2.50 2.50 pshufb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psignb %mm0, %mm2 +# CHECK-NEXT: 1.00 - psignb (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psignb %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psignb (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psignd %mm0, %mm2 +# CHECK-NEXT: 1.00 - psignd (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psignd %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psignd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 psignw %mm0, %mm2 +# CHECK-NEXT: 1.00 - psignw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 psignw %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - psignw (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s index c1314ad..9528e1b 100644 --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s @@ -606,1094 +606,1094 @@ xorq (%rax), %rdi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 adcb $7, %al -# CHECK-NEXT: 1 1 0.50 adcb $7, %dil -# CHECK-NEXT: 1 1 1.00 * * adcb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil -# CHECK-NEXT: 1 1 1.00 * * adcb %dil, (%rax) -# CHECK-NEXT: 1 1 1.00 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 adcw $511, %ax -# CHECK-NEXT: 1 1 0.50 adcw $511, %di -# CHECK-NEXT: 1 1 1.00 * * adcw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw $7, %di -# CHECK-NEXT: 1 1 1.00 * * adcw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw %di, %di -# CHECK-NEXT: 1 1 1.00 * * adcw %di, (%rax) -# CHECK-NEXT: 1 1 1.00 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax -# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi -# CHECK-NEXT: 1 1 1.00 * * adcl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl $7, %edi -# CHECK-NEXT: 1 1 1.00 * * adcl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi -# CHECK-NEXT: 1 1 1.00 * * adcl %edi, (%rax) -# CHECK-NEXT: 1 1 1.00 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi -# CHECK-NEXT: 1 1 1.00 * * adcq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * * adcq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi -# CHECK-NEXT: 1 1 1.00 * * adcq %rdi, (%rax) -# CHECK-NEXT: 1 1 1.00 * adcq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 addb $7, %al -# CHECK-NEXT: 1 1 0.50 addb $7, %dil -# CHECK-NEXT: 1 1 1.00 * * addb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addb %dil, %dil -# CHECK-NEXT: 1 1 1.00 * * addb %dil, (%rax) -# CHECK-NEXT: 1 1 1.00 * addb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 addw $511, %ax -# CHECK-NEXT: 1 1 0.50 addw $511, %di -# CHECK-NEXT: 1 1 1.00 * * addw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 addw $7, %di -# CHECK-NEXT: 1 1 1.00 * * addw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addw %di, %di -# CHECK-NEXT: 1 1 1.00 * * addw %di, (%rax) -# CHECK-NEXT: 1 1 1.00 * addw (%rax), %di -# CHECK-NEXT: 1 1 0.50 addl $665536, %eax -# CHECK-NEXT: 1 1 0.50 addl $665536, %edi -# CHECK-NEXT: 1 1 1.00 * * addl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 addl $7, %edi -# CHECK-NEXT: 1 1 1.00 * * addl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addl %edi, %edi -# CHECK-NEXT: 1 1 1.00 * * addl %edi, (%rax) -# CHECK-NEXT: 1 1 1.00 * addl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 addq $665536, %rax -# CHECK-NEXT: 1 1 0.50 addq $665536, %rdi -# CHECK-NEXT: 1 1 1.00 * * addq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 addq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * * addq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addq %rdi, %rdi -# CHECK-NEXT: 1 1 1.00 * * addq %rdi, (%rax) -# CHECK-NEXT: 1 1 1.00 * addq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 andb $7, %al -# CHECK-NEXT: 1 1 0.50 andb $7, %dil -# CHECK-NEXT: 1 1 1.00 * * andb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andb %dil, %dil -# CHECK-NEXT: 1 1 1.00 * * andb %dil, (%rax) -# CHECK-NEXT: 1 1 1.00 * andb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 andw $511, %ax -# CHECK-NEXT: 1 1 0.50 andw $511, %di -# CHECK-NEXT: 1 1 1.00 * * andw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 andw $7, %di -# CHECK-NEXT: 1 1 1.00 * * andw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andw %di, %di -# CHECK-NEXT: 1 1 1.00 * * andw %di, (%rax) -# CHECK-NEXT: 1 1 1.00 * andw (%rax), %di -# CHECK-NEXT: 1 1 0.50 andl $665536, %eax -# CHECK-NEXT: 1 1 0.50 andl $665536, %edi -# CHECK-NEXT: 1 1 1.00 * * andl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 andl $7, %edi -# CHECK-NEXT: 1 1 1.00 * * andl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andl %edi, %edi -# CHECK-NEXT: 1 1 1.00 * * andl %edi, (%rax) -# CHECK-NEXT: 1 1 1.00 * andl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 andq $665536, %rax -# CHECK-NEXT: 1 1 0.50 andq $665536, %rdi -# CHECK-NEXT: 1 1 1.00 * * andq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 andq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * * andq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andq %rdi, %rdi -# CHECK-NEXT: 1 1 1.00 * * andq %rdi, (%rax) -# CHECK-NEXT: 1 1 1.00 * andq (%rax), %rdi -# CHECK-NEXT: 1 1 1.00 btw %si, %di -# CHECK-NEXT: 1 1 1.00 btcw %si, %di -# CHECK-NEXT: 1 1 1.00 btrw %si, %di -# CHECK-NEXT: 1 1 1.00 btsw %si, %di -# CHECK-NEXT: 1 9 4.50 * btw %si, (%rax) -# CHECK-NEXT: 1 11 5.50 * * btcw %si, (%rax) -# CHECK-NEXT: 1 11 5.50 * * btrw %si, (%rax) -# CHECK-NEXT: 1 11 5.50 * * btsw %si, (%rax) -# CHECK-NEXT: 1 1 1.00 btw $7, %di -# CHECK-NEXT: 1 1 1.00 btcw $7, %di -# CHECK-NEXT: 1 1 1.00 btrw $7, %di -# CHECK-NEXT: 1 1 1.00 btsw $7, %di -# CHECK-NEXT: 1 1 0.50 * btw $7, (%rax) -# CHECK-NEXT: 1 2 1.00 * * btcw $7, (%rax) -# CHECK-NEXT: 1 2 1.00 * * btrw $7, (%rax) -# CHECK-NEXT: 1 2 1.00 * * btsw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 btl %esi, %edi -# CHECK-NEXT: 1 1 1.00 btcl %esi, %edi -# CHECK-NEXT: 1 1 1.00 btrl %esi, %edi -# CHECK-NEXT: 1 1 1.00 btsl %esi, %edi -# CHECK-NEXT: 1 9 4.50 * btl %esi, (%rax) -# CHECK-NEXT: 1 11 5.50 * * btcl %esi, (%rax) -# CHECK-NEXT: 1 11 5.50 * * btrl %esi, (%rax) -# CHECK-NEXT: 1 11 5.50 * * btsl %esi, (%rax) -# CHECK-NEXT: 1 1 1.00 btl $7, %edi -# CHECK-NEXT: 1 1 1.00 btcl $7, %edi -# CHECK-NEXT: 1 1 1.00 btrl $7, %edi -# CHECK-NEXT: 1 1 1.00 btsl $7, %edi -# CHECK-NEXT: 1 1 0.50 * btl $7, (%rax) -# CHECK-NEXT: 1 2 1.00 * * btcl $7, (%rax) -# CHECK-NEXT: 1 2 1.00 * * btrl $7, (%rax) -# CHECK-NEXT: 1 2 1.00 * * btsl $7, (%rax) -# CHECK-NEXT: 1 1 1.00 btq %rsi, %rdi -# CHECK-NEXT: 1 1 1.00 btcq %rsi, %rdi -# CHECK-NEXT: 1 1 1.00 btrq %rsi, %rdi -# CHECK-NEXT: 1 1 1.00 btsq %rsi, %rdi -# CHECK-NEXT: 1 9 4.50 * btq %rsi, (%rax) -# CHECK-NEXT: 1 11 5.50 * * btcq %rsi, (%rax) -# CHECK-NEXT: 1 11 5.50 * * btrq %rsi, (%rax) -# CHECK-NEXT: 1 11 5.50 * * btsq %rsi, (%rax) -# CHECK-NEXT: 1 1 1.00 btq $7, %rdi -# CHECK-NEXT: 1 1 1.00 btcq $7, %rdi -# CHECK-NEXT: 1 1 1.00 btrq $7, %rdi -# CHECK-NEXT: 1 1 1.00 btsq $7, %rdi -# CHECK-NEXT: 1 1 0.50 * btq $7, (%rax) -# CHECK-NEXT: 1 2 1.00 * * btcq $7, (%rax) -# CHECK-NEXT: 1 2 1.00 * * btrq $7, (%rax) -# CHECK-NEXT: 1 2 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 decb %dil -# CHECK-NEXT: 1 1 1.00 * * decb (%rax) -# CHECK-NEXT: 1 1 0.50 decw %di -# CHECK-NEXT: 1 1 1.00 * * decw (%rax) -# CHECK-NEXT: 1 1 0.50 decl %edi -# CHECK-NEXT: 1 1 1.00 * * decl (%rax) -# CHECK-NEXT: 1 1 0.50 decq %rdi -# CHECK-NEXT: 1 1 1.00 * * decq (%rax) -# CHECK-NEXT: 1 50 25.00 * divb %dil -# CHECK-NEXT: 1 68 34.00 * * divb (%rax) -# CHECK-NEXT: 1 50 25.00 * divw %si -# CHECK-NEXT: 1 50 25.00 * * divw (%rax) -# CHECK-NEXT: 1 50 25.00 * divl %edx -# CHECK-NEXT: 1 50 25.00 * * divl (%rax) -# CHECK-NEXT: 1 130 65.00 * divq %rcx -# CHECK-NEXT: 1 130 65.00 * * divq (%rax) -# CHECK-NEXT: 1 62 31.00 * idivb %dil -# CHECK-NEXT: 1 62 31.00 * * idivb (%rax) -# CHECK-NEXT: 1 62 31.00 * idivw %si -# CHECK-NEXT: 1 62 31.00 * * idivw (%rax) -# CHECK-NEXT: 1 62 31.00 * idivl %edx -# CHECK-NEXT: 1 62 31.00 * * idivl (%rax) -# CHECK-NEXT: 1 130 65.00 * idivq %rcx -# CHECK-NEXT: 1 130 65.00 * * idivq (%rax) -# CHECK-NEXT: 1 7 3.50 imulb %dil -# CHECK-NEXT: 1 7 3.50 * imulb (%rax) -# CHECK-NEXT: 1 7 3.50 imulw %di -# CHECK-NEXT: 1 8 4.00 * imulw (%rax) -# CHECK-NEXT: 1 6 3.00 imulw %di, %di -# CHECK-NEXT: 1 7 3.50 * imulw (%rax), %di -# CHECK-NEXT: 1 6 3.00 imulw $511, %di, %di -# CHECK-NEXT: 1 7 3.50 * imulw $511, (%rax), %di -# CHECK-NEXT: 1 6 3.00 imulw $7, %di, %di -# CHECK-NEXT: 1 7 3.50 * imulw $7, (%rax), %di -# CHECK-NEXT: 1 6 3.00 imull %edi -# CHECK-NEXT: 1 7 3.50 * imull (%rax) -# CHECK-NEXT: 1 5 5.00 imull %edi, %edi -# CHECK-NEXT: 1 5 5.00 * imull (%rax), %edi -# CHECK-NEXT: 1 5 5.00 imull $665536, %edi, %edi -# CHECK-NEXT: 1 5 5.00 * imull $665536, (%rax), %edi -# CHECK-NEXT: 1 5 5.00 imull $7, %edi, %edi -# CHECK-NEXT: 1 5 5.00 * imull $7, (%rax), %edi -# CHECK-NEXT: 1 12 6.00 imulq %rdi -# CHECK-NEXT: 1 12 6.00 * imulq (%rax) -# CHECK-NEXT: 1 12 6.00 imulq %rdi, %rdi -# CHECK-NEXT: 1 12 6.00 * imulq (%rax), %rdi -# CHECK-NEXT: 1 14 7.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 1 14 7.00 * imulq $665536, (%rax), %rdi -# CHECK-NEXT: 1 14 7.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 1 14 7.00 * imulq $7, (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 incb %dil -# CHECK-NEXT: 1 1 1.00 * * incb (%rax) -# CHECK-NEXT: 1 1 0.50 incw %di -# CHECK-NEXT: 1 1 1.00 * * incw (%rax) -# CHECK-NEXT: 1 1 0.50 incl %edi -# CHECK-NEXT: 1 1 1.00 * * incl (%rax) -# CHECK-NEXT: 1 1 0.50 incq %rdi -# CHECK-NEXT: 1 1 1.00 * * incq (%rax) -# CHECK-NEXT: 1 7 3.50 mulb %dil -# CHECK-NEXT: 1 7 3.50 * mulb (%rax) -# CHECK-NEXT: 1 7 3.50 mulw %si -# CHECK-NEXT: 1 8 4.00 * mulw (%rax) -# CHECK-NEXT: 1 6 3.00 mull %edx -# CHECK-NEXT: 1 7 3.50 * mull (%rax) -# CHECK-NEXT: 1 12 6.00 mulq %rcx -# CHECK-NEXT: 1 12 6.00 * mulq (%rax) -# CHECK-NEXT: 1 1 0.50 negb %dil -# CHECK-NEXT: 1 1 1.00 * * negb (%r8) -# CHECK-NEXT: 1 1 0.50 negw %si -# CHECK-NEXT: 1 1 1.00 * * negw (%r9) -# CHECK-NEXT: 1 1 0.50 negl %edx -# CHECK-NEXT: 1 1 1.00 * * negl (%rax) -# CHECK-NEXT: 1 1 0.50 negq %rcx -# CHECK-NEXT: 1 1 1.00 * * negq (%r10) -# CHECK-NEXT: 1 1 0.50 nop -# CHECK-NEXT: 1 1 0.50 nopw %di -# CHECK-NEXT: 1 1 0.50 nopw (%rcx) -# CHECK-NEXT: 1 1 0.50 nopl %esi -# CHECK-NEXT: 1 1 0.50 nopl (%r8) -# CHECK-NEXT: 1 1 0.50 nopq %rdx -# CHECK-NEXT: 1 1 0.50 nopq (%r9) -# CHECK-NEXT: 1 1 0.50 notb %dil -# CHECK-NEXT: 1 1 1.00 * * notb (%r8) -# CHECK-NEXT: 1 1 0.50 notw %si -# CHECK-NEXT: 1 1 1.00 * * notw (%r9) -# CHECK-NEXT: 1 1 0.50 notl %edx -# CHECK-NEXT: 1 1 1.00 * * notl (%rax) -# CHECK-NEXT: 1 1 0.50 notq %rcx -# CHECK-NEXT: 1 1 1.00 * * notq (%r10) -# CHECK-NEXT: 1 1 0.50 orb $7, %al -# CHECK-NEXT: 1 1 0.50 orb $7, %dil -# CHECK-NEXT: 1 1 1.00 * * orb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orb %dil, %dil -# CHECK-NEXT: 1 1 1.00 * * orb %dil, (%rax) -# CHECK-NEXT: 1 1 1.00 * orb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 orw $511, %ax -# CHECK-NEXT: 1 1 0.50 orw $511, %di -# CHECK-NEXT: 1 1 1.00 * * orw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 orw $7, %di -# CHECK-NEXT: 1 1 1.00 * * orw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orw %di, %di -# CHECK-NEXT: 1 1 1.00 * * orw %di, (%rax) -# CHECK-NEXT: 1 1 1.00 * orw (%rax), %di -# CHECK-NEXT: 1 1 0.50 orl $665536, %eax -# CHECK-NEXT: 1 1 0.50 orl $665536, %edi -# CHECK-NEXT: 1 1 1.00 * * orl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 orl $7, %edi -# CHECK-NEXT: 1 1 1.00 * * orl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orl %edi, %edi -# CHECK-NEXT: 1 1 1.00 * * orl %edi, (%rax) -# CHECK-NEXT: 1 1 1.00 * orl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 orq $665536, %rax -# CHECK-NEXT: 1 1 0.50 orq $665536, %rdi -# CHECK-NEXT: 1 1 1.00 * * orq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 orq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * * orq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orq %rdi, %rdi -# CHECK-NEXT: 1 1 1.00 * * orq %rdi, (%rax) -# CHECK-NEXT: 1 1 1.00 * orq (%rax), %rdi -# CHECK-NEXT: 1 1 1.00 rclb %dil -# CHECK-NEXT: 1 1 1.00 rcrb %dil -# CHECK-NEXT: 1 1 1.00 * rclb (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrb (%rax) -# CHECK-NEXT: 1 1 1.00 rclb $7, %dil -# CHECK-NEXT: 1 1 1.00 rcrb $7, %dil -# CHECK-NEXT: 1 1 1.00 * rclb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rclb %cl, %dil -# CHECK-NEXT: 1 1 1.00 rcrb %cl, %dil -# CHECK-NEXT: 1 1 1.00 * rclb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rclw %di -# CHECK-NEXT: 1 1 1.00 rcrw %di -# CHECK-NEXT: 1 1 1.00 * rclw (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrw (%rax) -# CHECK-NEXT: 1 1 1.00 rclw $7, %di -# CHECK-NEXT: 1 1 1.00 rcrw $7, %di -# CHECK-NEXT: 1 1 1.00 * rclw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rclw %cl, %di -# CHECK-NEXT: 1 1 1.00 rcrw %cl, %di -# CHECK-NEXT: 1 1 1.00 * rclw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rcll %edi -# CHECK-NEXT: 1 1 1.00 rcrl %edi -# CHECK-NEXT: 1 1 1.00 * rcll (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrl (%rax) -# CHECK-NEXT: 1 1 1.00 rcll $7, %edi -# CHECK-NEXT: 1 1 1.00 rcrl $7, %edi -# CHECK-NEXT: 1 1 1.00 * rcll $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrl $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rcll %cl, %edi -# CHECK-NEXT: 1 1 1.00 rcrl %cl, %edi -# CHECK-NEXT: 1 1 1.00 * rcll %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrl %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rclq %rdi -# CHECK-NEXT: 1 1 1.00 rcrq %rdi -# CHECK-NEXT: 1 1 1.00 * rclq (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrq (%rax) -# CHECK-NEXT: 1 1 1.00 rclq $7, %rdi -# CHECK-NEXT: 1 1 1.00 rcrq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * rclq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rclq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 rcrq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 * rclq %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * rcrq %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rolb %dil -# CHECK-NEXT: 1 1 1.00 rorb %dil -# CHECK-NEXT: 1 1 1.00 * * rolb (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorb (%rax) -# CHECK-NEXT: 1 1 1.00 rolb $7, %dil -# CHECK-NEXT: 1 1 1.00 rorb $7, %dil -# CHECK-NEXT: 1 1 1.00 * * rolb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rolb %cl, %dil -# CHECK-NEXT: 1 1 1.00 rorb %cl, %dil -# CHECK-NEXT: 1 1 1.00 * * rolb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rolw %di -# CHECK-NEXT: 1 1 1.00 rorw %di -# CHECK-NEXT: 1 1 1.00 * * rolw (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorw (%rax) -# CHECK-NEXT: 1 1 1.00 rolw $7, %di -# CHECK-NEXT: 1 1 1.00 rorw $7, %di -# CHECK-NEXT: 1 1 1.00 * * rolw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rolw %cl, %di -# CHECK-NEXT: 1 1 1.00 rorw %cl, %di -# CHECK-NEXT: 1 1 1.00 * * rolw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 roll %edi -# CHECK-NEXT: 1 1 1.00 rorl %edi -# CHECK-NEXT: 1 1 1.00 * * roll (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorl (%rax) -# CHECK-NEXT: 1 1 1.00 roll $7, %edi -# CHECK-NEXT: 1 1 1.00 rorl $7, %edi -# CHECK-NEXT: 1 1 1.00 * * roll $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorl $7, (%rax) -# CHECK-NEXT: 1 1 1.00 roll %cl, %edi -# CHECK-NEXT: 1 1 1.00 rorl %cl, %edi -# CHECK-NEXT: 1 1 1.00 * * roll %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorl %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rolq %rdi -# CHECK-NEXT: 1 1 1.00 rorq %rdi -# CHECK-NEXT: 1 1 1.00 * * rolq (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorq (%rax) -# CHECK-NEXT: 1 1 1.00 rolq $7, %rdi -# CHECK-NEXT: 1 1 1.00 rorq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * * rolq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rolq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 rorq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 * * rolq %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * rorq %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 sarb %dil -# CHECK-NEXT: 1 1 1.00 shlb %dil -# CHECK-NEXT: 1 1 1.00 shrb %dil -# CHECK-NEXT: 1 1 1.00 * * sarb (%rax) -# CHECK-NEXT: 1 1 1.00 * * shlb (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrb (%rax) -# CHECK-NEXT: 1 1 1.00 sarb $7, %dil -# CHECK-NEXT: 1 1 1.00 shlb $7, %dil -# CHECK-NEXT: 1 1 1.00 shrb $7, %dil -# CHECK-NEXT: 1 1 1.00 * * sarb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shlb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 sarb %cl, %dil -# CHECK-NEXT: 1 1 1.00 shlb %cl, %dil -# CHECK-NEXT: 1 1 1.00 shrb %cl, %dil -# CHECK-NEXT: 1 1 1.00 * * sarb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shlb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 sarw %di -# CHECK-NEXT: 1 1 1.00 shlw %di -# CHECK-NEXT: 1 1 1.00 shrw %di -# CHECK-NEXT: 1 1 1.00 * * sarw (%rax) -# CHECK-NEXT: 1 1 1.00 * * shlw (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrw (%rax) -# CHECK-NEXT: 1 1 1.00 sarw $7, %di -# CHECK-NEXT: 1 1 1.00 shlw $7, %di -# CHECK-NEXT: 1 1 1.00 shrw $7, %di -# CHECK-NEXT: 1 1 1.00 * * sarw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shlw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 sarw %cl, %di -# CHECK-NEXT: 1 1 1.00 shlw %cl, %di -# CHECK-NEXT: 1 1 1.00 shrw %cl, %di -# CHECK-NEXT: 1 1 1.00 * * sarw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shlw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 sarl %edi -# CHECK-NEXT: 1 1 1.00 shll %edi -# CHECK-NEXT: 1 1 1.00 shrl %edi -# CHECK-NEXT: 1 1 1.00 * * sarl (%rax) -# CHECK-NEXT: 1 1 1.00 * * shll (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrl (%rax) -# CHECK-NEXT: 1 1 1.00 sarl $7, %edi -# CHECK-NEXT: 1 1 1.00 shll $7, %edi -# CHECK-NEXT: 1 1 1.00 shrl $7, %edi -# CHECK-NEXT: 1 1 1.00 * * sarl $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shll $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrl $7, (%rax) -# CHECK-NEXT: 1 1 1.00 sarl %cl, %edi -# CHECK-NEXT: 1 1 1.00 shll %cl, %edi -# CHECK-NEXT: 1 1 1.00 shrl %cl, %edi -# CHECK-NEXT: 1 1 1.00 * * sarl %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shll %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrl %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 sarq %rdi -# CHECK-NEXT: 1 1 1.00 shlq %rdi -# CHECK-NEXT: 1 1 1.00 shrq %rdi -# CHECK-NEXT: 1 1 1.00 * * sarq (%rax) -# CHECK-NEXT: 1 1 1.00 * * shlq (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrq (%rax) -# CHECK-NEXT: 1 1 1.00 sarq $7, %rdi -# CHECK-NEXT: 1 1 1.00 shlq $7, %rdi -# CHECK-NEXT: 1 1 1.00 shrq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * * sarq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shlq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 sarq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 shlq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 shrq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 * * sarq %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shlq %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 * * shrq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbb $7, %al -# CHECK-NEXT: 1 1 0.50 sbbb $7, %dil -# CHECK-NEXT: 1 1 1.00 * * sbbb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil -# CHECK-NEXT: 1 1 1.00 * * sbbb %dil, (%rax) -# CHECK-NEXT: 1 1 1.00 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax -# CHECK-NEXT: 1 1 0.50 sbbw $511, %di -# CHECK-NEXT: 1 1 1.00 * * sbbw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw $7, %di -# CHECK-NEXT: 1 1 1.00 * * sbbw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw %di, %di -# CHECK-NEXT: 1 1 1.00 * * sbbw %di, (%rax) -# CHECK-NEXT: 1 1 1.00 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi -# CHECK-NEXT: 1 1 1.00 * * sbbl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi -# CHECK-NEXT: 1 1 1.00 * * sbbl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi -# CHECK-NEXT: 1 1 1.00 * * sbbl %edi, (%rax) -# CHECK-NEXT: 1 1 1.00 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi -# CHECK-NEXT: 1 1 1.00 * * sbbq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * * sbbq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi -# CHECK-NEXT: 1 1 1.00 * * sbbq %rdi, (%rax) -# CHECK-NEXT: 1 1 1.00 * sbbq (%rax), %rdi -# CHECK-NEXT: 1 6 3.00 shldw %cl, %si, %di -# CHECK-NEXT: 1 6 3.00 shrdw %cl, %si, %di -# CHECK-NEXT: 1 6 3.00 * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 1 6 3.00 * * shrdw %cl, %si, (%rax) -# CHECK-NEXT: 1 6 3.00 shldw $7, %si, %di -# CHECK-NEXT: 1 6 3.00 shrdw $7, %si, %di -# CHECK-NEXT: 1 6 3.00 * * shldw $7, %si, (%rax) -# CHECK-NEXT: 1 6 3.00 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 1 2 1.00 shldl %cl, %esi, %edi -# CHECK-NEXT: 1 2 1.00 shrdl %cl, %esi, %edi -# CHECK-NEXT: 1 4 2.00 * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 1 4 2.00 * * shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 1 2 1.00 shldl $7, %esi, %edi -# CHECK-NEXT: 1 2 1.00 shrdl $7, %esi, %edi -# CHECK-NEXT: 1 4 2.00 * * shldl $7, %esi, (%rax) -# CHECK-NEXT: 1 4 2.00 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 1 8 4.00 shldq %cl, %rsi, %rdi -# CHECK-NEXT: 1 8 4.00 shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 1 9 4.50 * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 9 4.50 * * shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 9 4.50 shldq $7, %rsi, %rdi -# CHECK-NEXT: 1 9 4.50 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 1 9 4.50 * * shldq $7, %rsi, (%rax) -# CHECK-NEXT: 1 9 4.50 * * shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 subb $7, %al -# CHECK-NEXT: 1 1 0.50 subb $7, %dil -# CHECK-NEXT: 1 1 1.00 * * subb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subb %dil, %dil -# CHECK-NEXT: 1 1 1.00 * * subb %dil, (%rax) -# CHECK-NEXT: 1 1 1.00 * subb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 subw $511, %ax -# CHECK-NEXT: 1 1 0.50 subw $511, %di -# CHECK-NEXT: 1 1 1.00 * * subw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 subw $7, %di -# CHECK-NEXT: 1 1 1.00 * * subw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subw %di, %di -# CHECK-NEXT: 1 1 1.00 * * subw %di, (%rax) -# CHECK-NEXT: 1 1 1.00 * subw (%rax), %di -# CHECK-NEXT: 1 1 0.50 subl $665536, %eax -# CHECK-NEXT: 1 1 0.50 subl $665536, %edi -# CHECK-NEXT: 1 1 1.00 * * subl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 subl $7, %edi -# CHECK-NEXT: 1 1 1.00 * * subl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subl %edi, %edi -# CHECK-NEXT: 1 1 1.00 * * subl %edi, (%rax) -# CHECK-NEXT: 1 1 1.00 * subl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 subq $665536, %rax -# CHECK-NEXT: 1 1 0.50 subq $665536, %rdi -# CHECK-NEXT: 1 1 1.00 * * subq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 subq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * * subq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subq %rdi, %rdi -# CHECK-NEXT: 1 1 1.00 * * subq %rdi, (%rax) -# CHECK-NEXT: 1 1 1.00 * subq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 xorb $7, %al -# CHECK-NEXT: 1 1 0.50 xorb $7, %dil -# CHECK-NEXT: 1 1 1.00 * * xorb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorb %dil, %dil -# CHECK-NEXT: 1 1 1.00 * * xorb %dil, (%rax) -# CHECK-NEXT: 1 1 1.00 * xorb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 xorw $511, %ax -# CHECK-NEXT: 1 1 0.50 xorw $511, %di -# CHECK-NEXT: 1 1 1.00 * * xorw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 xorw $7, %di -# CHECK-NEXT: 1 1 1.00 * * xorw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorw %di, %di -# CHECK-NEXT: 1 1 1.00 * * xorw %di, (%rax) -# CHECK-NEXT: 1 1 1.00 * xorw (%rax), %di -# CHECK-NEXT: 1 1 0.50 xorl $665536, %eax -# CHECK-NEXT: 1 1 0.50 xorl $665536, %edi -# CHECK-NEXT: 1 1 1.00 * * xorl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 xorl $7, %edi -# CHECK-NEXT: 1 1 1.00 * * xorl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorl %edi, %edi -# CHECK-NEXT: 1 1 1.00 * * xorl %edi, (%rax) -# CHECK-NEXT: 1 1 1.00 * xorl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 xorq $665536, %rax -# CHECK-NEXT: 1 1 0.50 xorq $665536, %rdi -# CHECK-NEXT: 1 1 1.00 * * xorq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 xorq $7, %rdi -# CHECK-NEXT: 1 1 1.00 * * xorq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorq %rdi, %rdi -# CHECK-NEXT: 1 1 1.00 * * xorq %rdi, (%rax) -# CHECK-NEXT: 1 1 1.00 * xorq (%rax), %rdi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 adcb $7, %al +# CHECK-NEXT: 1 1 0.50 adcb $7, %dil +# CHECK-NEXT: 1 1 1.00 * * adcb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil +# CHECK-NEXT: 1 1 1.00 * * adcb %dil, (%rax) +# CHECK-NEXT: 1 1 1.00 * adcb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 adcw $511, %ax +# CHECK-NEXT: 1 1 0.50 adcw $511, %di +# CHECK-NEXT: 1 1 1.00 * * adcw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw $7, %di +# CHECK-NEXT: 1 1 1.00 * * adcw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw %di, %di +# CHECK-NEXT: 1 1 1.00 * * adcw %di, (%rax) +# CHECK-NEXT: 1 1 1.00 * adcw (%rax), %di +# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax +# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi +# CHECK-NEXT: 1 1 1.00 * * adcl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl $7, %edi +# CHECK-NEXT: 1 1 1.00 * * adcl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi +# CHECK-NEXT: 1 1 1.00 * * adcl %edi, (%rax) +# CHECK-NEXT: 1 1 1.00 * adcl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi +# CHECK-NEXT: 1 1 1.00 * * adcq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * * adcq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi +# CHECK-NEXT: 1 1 1.00 * * adcq %rdi, (%rax) +# CHECK-NEXT: 1 1 1.00 * adcq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 addb $7, %al +# CHECK-NEXT: 1 1 0.50 addb $7, %dil +# CHECK-NEXT: 1 1 1.00 * * addb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addb %dil, %dil +# CHECK-NEXT: 1 1 1.00 * * addb %dil, (%rax) +# CHECK-NEXT: 1 1 1.00 * addb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 addw $511, %ax +# CHECK-NEXT: 1 1 0.50 addw $511, %di +# CHECK-NEXT: 1 1 1.00 * * addw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 addw $7, %di +# CHECK-NEXT: 1 1 1.00 * * addw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addw %di, %di +# CHECK-NEXT: 1 1 1.00 * * addw %di, (%rax) +# CHECK-NEXT: 1 1 1.00 * addw (%rax), %di +# CHECK-NEXT: 1 1 0.50 addl $665536, %eax +# CHECK-NEXT: 1 1 0.50 addl $665536, %edi +# CHECK-NEXT: 1 1 1.00 * * addl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 addl $7, %edi +# CHECK-NEXT: 1 1 1.00 * * addl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addl %edi, %edi +# CHECK-NEXT: 1 1 1.00 * * addl %edi, (%rax) +# CHECK-NEXT: 1 1 1.00 * addl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 addq $665536, %rax +# CHECK-NEXT: 1 1 0.50 addq $665536, %rdi +# CHECK-NEXT: 1 1 1.00 * * addq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 addq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * * addq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addq %rdi, %rdi +# CHECK-NEXT: 1 1 1.00 * * addq %rdi, (%rax) +# CHECK-NEXT: 1 1 1.00 * addq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 andb $7, %al +# CHECK-NEXT: 1 1 0.50 andb $7, %dil +# CHECK-NEXT: 1 1 1.00 * * andb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andb %dil, %dil +# CHECK-NEXT: 1 1 1.00 * * andb %dil, (%rax) +# CHECK-NEXT: 1 1 1.00 * andb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 andw $511, %ax +# CHECK-NEXT: 1 1 0.50 andw $511, %di +# CHECK-NEXT: 1 1 1.00 * * andw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 andw $7, %di +# CHECK-NEXT: 1 1 1.00 * * andw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andw %di, %di +# CHECK-NEXT: 1 1 1.00 * * andw %di, (%rax) +# CHECK-NEXT: 1 1 1.00 * andw (%rax), %di +# CHECK-NEXT: 1 1 0.50 andl $665536, %eax +# CHECK-NEXT: 1 1 0.50 andl $665536, %edi +# CHECK-NEXT: 1 1 1.00 * * andl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 andl $7, %edi +# CHECK-NEXT: 1 1 1.00 * * andl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andl %edi, %edi +# CHECK-NEXT: 1 1 1.00 * * andl %edi, (%rax) +# CHECK-NEXT: 1 1 1.00 * andl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 andq $665536, %rax +# CHECK-NEXT: 1 1 0.50 andq $665536, %rdi +# CHECK-NEXT: 1 1 1.00 * * andq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 andq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * * andq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andq %rdi, %rdi +# CHECK-NEXT: 1 1 1.00 * * andq %rdi, (%rax) +# CHECK-NEXT: 1 1 1.00 * andq (%rax), %rdi +# CHECK-NEXT: 1 1 1.00 btw %si, %di +# CHECK-NEXT: 1 1 1.00 btcw %si, %di +# CHECK-NEXT: 1 1 1.00 btrw %si, %di +# CHECK-NEXT: 1 1 1.00 btsw %si, %di +# CHECK-NEXT: 1 9 4.50 * btw %si, (%rax) +# CHECK-NEXT: 1 11 5.50 * * btcw %si, (%rax) +# CHECK-NEXT: 1 11 5.50 * * btrw %si, (%rax) +# CHECK-NEXT: 1 11 5.50 * * btsw %si, (%rax) +# CHECK-NEXT: 1 1 1.00 btw $7, %di +# CHECK-NEXT: 1 1 1.00 btcw $7, %di +# CHECK-NEXT: 1 1 1.00 btrw $7, %di +# CHECK-NEXT: 1 1 1.00 btsw $7, %di +# CHECK-NEXT: 1 1 0.50 * btw $7, (%rax) +# CHECK-NEXT: 1 2 1.00 * * btcw $7, (%rax) +# CHECK-NEXT: 1 2 1.00 * * btrw $7, (%rax) +# CHECK-NEXT: 1 2 1.00 * * btsw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 btl %esi, %edi +# CHECK-NEXT: 1 1 1.00 btcl %esi, %edi +# CHECK-NEXT: 1 1 1.00 btrl %esi, %edi +# CHECK-NEXT: 1 1 1.00 btsl %esi, %edi +# CHECK-NEXT: 1 9 4.50 * btl %esi, (%rax) +# CHECK-NEXT: 1 11 5.50 * * btcl %esi, (%rax) +# CHECK-NEXT: 1 11 5.50 * * btrl %esi, (%rax) +# CHECK-NEXT: 1 11 5.50 * * btsl %esi, (%rax) +# CHECK-NEXT: 1 1 1.00 btl $7, %edi +# CHECK-NEXT: 1 1 1.00 btcl $7, %edi +# CHECK-NEXT: 1 1 1.00 btrl $7, %edi +# CHECK-NEXT: 1 1 1.00 btsl $7, %edi +# CHECK-NEXT: 1 1 0.50 * btl $7, (%rax) +# CHECK-NEXT: 1 2 1.00 * * btcl $7, (%rax) +# CHECK-NEXT: 1 2 1.00 * * btrl $7, (%rax) +# CHECK-NEXT: 1 2 1.00 * * btsl $7, (%rax) +# CHECK-NEXT: 1 1 1.00 btq %rsi, %rdi +# CHECK-NEXT: 1 1 1.00 btcq %rsi, %rdi +# CHECK-NEXT: 1 1 1.00 btrq %rsi, %rdi +# CHECK-NEXT: 1 1 1.00 btsq %rsi, %rdi +# CHECK-NEXT: 1 9 4.50 * btq %rsi, (%rax) +# CHECK-NEXT: 1 11 5.50 * * btcq %rsi, (%rax) +# CHECK-NEXT: 1 11 5.50 * * btrq %rsi, (%rax) +# CHECK-NEXT: 1 11 5.50 * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 1 1.00 btq $7, %rdi +# CHECK-NEXT: 1 1 1.00 btcq $7, %rdi +# CHECK-NEXT: 1 1 1.00 btrq $7, %rdi +# CHECK-NEXT: 1 1 1.00 btsq $7, %rdi +# CHECK-NEXT: 1 1 0.50 * btq $7, (%rax) +# CHECK-NEXT: 1 2 1.00 * * btcq $7, (%rax) +# CHECK-NEXT: 1 2 1.00 * * btrq $7, (%rax) +# CHECK-NEXT: 1 2 1.00 * * btsq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 decb %dil +# CHECK-NEXT: 1 1 1.00 * * decb (%rax) +# CHECK-NEXT: 1 1 0.50 decw %di +# CHECK-NEXT: 1 1 1.00 * * decw (%rax) +# CHECK-NEXT: 1 1 0.50 decl %edi +# CHECK-NEXT: 1 1 1.00 * * decl (%rax) +# CHECK-NEXT: 1 1 0.50 decq %rdi +# CHECK-NEXT: 1 1 1.00 * * decq (%rax) +# CHECK-NEXT: 1 50 25.00 * divb %dil +# CHECK-NEXT: 1 68 34.00 * * divb (%rax) +# CHECK-NEXT: 1 50 25.00 * divw %si +# CHECK-NEXT: 1 50 25.00 * * divw (%rax) +# CHECK-NEXT: 1 50 25.00 * divl %edx +# CHECK-NEXT: 1 50 25.00 * * divl (%rax) +# CHECK-NEXT: 1 130 65.00 * divq %rcx +# CHECK-NEXT: 1 130 65.00 * * divq (%rax) +# CHECK-NEXT: 1 62 31.00 * idivb %dil +# CHECK-NEXT: 1 62 31.00 * * idivb (%rax) +# CHECK-NEXT: 1 62 31.00 * idivw %si +# CHECK-NEXT: 1 62 31.00 * * idivw (%rax) +# CHECK-NEXT: 1 62 31.00 * idivl %edx +# CHECK-NEXT: 1 62 31.00 * * idivl (%rax) +# CHECK-NEXT: 1 130 65.00 * idivq %rcx +# CHECK-NEXT: 1 130 65.00 * * idivq (%rax) +# CHECK-NEXT: 1 7 3.50 imulb %dil +# CHECK-NEXT: 1 7 3.50 * imulb (%rax) +# CHECK-NEXT: 1 7 3.50 imulw %di +# CHECK-NEXT: 1 8 4.00 * imulw (%rax) +# CHECK-NEXT: 1 6 3.00 imulw %di, %di +# CHECK-NEXT: 1 7 3.50 * imulw (%rax), %di +# CHECK-NEXT: 1 6 3.00 imulw $511, %di, %di +# CHECK-NEXT: 1 7 3.50 * imulw $511, (%rax), %di +# CHECK-NEXT: 1 6 3.00 imulw $7, %di, %di +# CHECK-NEXT: 1 7 3.50 * imulw $7, (%rax), %di +# CHECK-NEXT: 1 6 3.00 imull %edi +# CHECK-NEXT: 1 7 3.50 * imull (%rax) +# CHECK-NEXT: 1 5 5.00 imull %edi, %edi +# CHECK-NEXT: 1 5 5.00 * imull (%rax), %edi +# CHECK-NEXT: 1 5 5.00 imull $665536, %edi, %edi +# CHECK-NEXT: 1 5 5.00 * imull $665536, (%rax), %edi +# CHECK-NEXT: 1 5 5.00 imull $7, %edi, %edi +# CHECK-NEXT: 1 5 5.00 * imull $7, (%rax), %edi +# CHECK-NEXT: 1 12 6.00 imulq %rdi +# CHECK-NEXT: 1 12 6.00 * imulq (%rax) +# CHECK-NEXT: 1 12 6.00 imulq %rdi, %rdi +# CHECK-NEXT: 1 12 6.00 * imulq (%rax), %rdi +# CHECK-NEXT: 1 14 7.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 1 14 7.00 * imulq $665536, (%rax), %rdi +# CHECK-NEXT: 1 14 7.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 1 14 7.00 * imulq $7, (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 incb %dil +# CHECK-NEXT: 1 1 1.00 * * incb (%rax) +# CHECK-NEXT: 1 1 0.50 incw %di +# CHECK-NEXT: 1 1 1.00 * * incw (%rax) +# CHECK-NEXT: 1 1 0.50 incl %edi +# CHECK-NEXT: 1 1 1.00 * * incl (%rax) +# CHECK-NEXT: 1 1 0.50 incq %rdi +# CHECK-NEXT: 1 1 1.00 * * incq (%rax) +# CHECK-NEXT: 1 7 3.50 mulb %dil +# CHECK-NEXT: 1 7 3.50 * mulb (%rax) +# CHECK-NEXT: 1 7 3.50 mulw %si +# CHECK-NEXT: 1 8 4.00 * mulw (%rax) +# CHECK-NEXT: 1 6 3.00 mull %edx +# CHECK-NEXT: 1 7 3.50 * mull (%rax) +# CHECK-NEXT: 1 12 6.00 mulq %rcx +# CHECK-NEXT: 1 12 6.00 * mulq (%rax) +# CHECK-NEXT: 1 1 0.50 negb %dil +# CHECK-NEXT: 1 1 1.00 * * negb (%r8) +# CHECK-NEXT: 1 1 0.50 negw %si +# CHECK-NEXT: 1 1 1.00 * * negw (%r9) +# CHECK-NEXT: 1 1 0.50 negl %edx +# CHECK-NEXT: 1 1 1.00 * * negl (%rax) +# CHECK-NEXT: 1 1 0.50 negq %rcx +# CHECK-NEXT: 1 1 1.00 * * negq (%r10) +# CHECK-NEXT: 1 1 0.50 nop +# CHECK-NEXT: 1 1 0.50 nopw %di +# CHECK-NEXT: 1 1 0.50 nopw (%rcx) +# CHECK-NEXT: 1 1 0.50 nopl %esi +# CHECK-NEXT: 1 1 0.50 nopl (%r8) +# CHECK-NEXT: 1 1 0.50 nopq %rdx +# CHECK-NEXT: 1 1 0.50 nopq (%r9) +# CHECK-NEXT: 1 1 0.50 notb %dil +# CHECK-NEXT: 1 1 1.00 * * notb (%r8) +# CHECK-NEXT: 1 1 0.50 notw %si +# CHECK-NEXT: 1 1 1.00 * * notw (%r9) +# CHECK-NEXT: 1 1 0.50 notl %edx +# CHECK-NEXT: 1 1 1.00 * * notl (%rax) +# CHECK-NEXT: 1 1 0.50 notq %rcx +# CHECK-NEXT: 1 1 1.00 * * notq (%r10) +# CHECK-NEXT: 1 1 0.50 orb $7, %al +# CHECK-NEXT: 1 1 0.50 orb $7, %dil +# CHECK-NEXT: 1 1 1.00 * * orb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orb %dil, %dil +# CHECK-NEXT: 1 1 1.00 * * orb %dil, (%rax) +# CHECK-NEXT: 1 1 1.00 * orb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 orw $511, %ax +# CHECK-NEXT: 1 1 0.50 orw $511, %di +# CHECK-NEXT: 1 1 1.00 * * orw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 orw $7, %di +# CHECK-NEXT: 1 1 1.00 * * orw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orw %di, %di +# CHECK-NEXT: 1 1 1.00 * * orw %di, (%rax) +# CHECK-NEXT: 1 1 1.00 * orw (%rax), %di +# CHECK-NEXT: 1 1 0.50 orl $665536, %eax +# CHECK-NEXT: 1 1 0.50 orl $665536, %edi +# CHECK-NEXT: 1 1 1.00 * * orl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 orl $7, %edi +# CHECK-NEXT: 1 1 1.00 * * orl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orl %edi, %edi +# CHECK-NEXT: 1 1 1.00 * * orl %edi, (%rax) +# CHECK-NEXT: 1 1 1.00 * orl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 orq $665536, %rax +# CHECK-NEXT: 1 1 0.50 orq $665536, %rdi +# CHECK-NEXT: 1 1 1.00 * * orq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 orq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * * orq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orq %rdi, %rdi +# CHECK-NEXT: 1 1 1.00 * * orq %rdi, (%rax) +# CHECK-NEXT: 1 1 1.00 * orq (%rax), %rdi +# CHECK-NEXT: 1 1 1.00 rclb %dil +# CHECK-NEXT: 1 1 1.00 rcrb %dil +# CHECK-NEXT: 1 1 1.00 * rclb (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrb (%rax) +# CHECK-NEXT: 1 1 1.00 rclb $7, %dil +# CHECK-NEXT: 1 1 1.00 rcrb $7, %dil +# CHECK-NEXT: 1 1 1.00 * rclb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rclb %cl, %dil +# CHECK-NEXT: 1 1 1.00 rcrb %cl, %dil +# CHECK-NEXT: 1 1 1.00 * rclb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rclw %di +# CHECK-NEXT: 1 1 1.00 rcrw %di +# CHECK-NEXT: 1 1 1.00 * rclw (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrw (%rax) +# CHECK-NEXT: 1 1 1.00 rclw $7, %di +# CHECK-NEXT: 1 1 1.00 rcrw $7, %di +# CHECK-NEXT: 1 1 1.00 * rclw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rclw %cl, %di +# CHECK-NEXT: 1 1 1.00 rcrw %cl, %di +# CHECK-NEXT: 1 1 1.00 * rclw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rcll %edi +# CHECK-NEXT: 1 1 1.00 rcrl %edi +# CHECK-NEXT: 1 1 1.00 * rcll (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrl (%rax) +# CHECK-NEXT: 1 1 1.00 rcll $7, %edi +# CHECK-NEXT: 1 1 1.00 rcrl $7, %edi +# CHECK-NEXT: 1 1 1.00 * rcll $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrl $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rcll %cl, %edi +# CHECK-NEXT: 1 1 1.00 rcrl %cl, %edi +# CHECK-NEXT: 1 1 1.00 * rcll %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrl %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rclq %rdi +# CHECK-NEXT: 1 1 1.00 rcrq %rdi +# CHECK-NEXT: 1 1 1.00 * rclq (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrq (%rax) +# CHECK-NEXT: 1 1 1.00 rclq $7, %rdi +# CHECK-NEXT: 1 1 1.00 rcrq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * rclq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rclq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 rcrq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 * rclq %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * rcrq %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rolb %dil +# CHECK-NEXT: 1 1 1.00 rorb %dil +# CHECK-NEXT: 1 1 1.00 * * rolb (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorb (%rax) +# CHECK-NEXT: 1 1 1.00 rolb $7, %dil +# CHECK-NEXT: 1 1 1.00 rorb $7, %dil +# CHECK-NEXT: 1 1 1.00 * * rolb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rolb %cl, %dil +# CHECK-NEXT: 1 1 1.00 rorb %cl, %dil +# CHECK-NEXT: 1 1 1.00 * * rolb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rolw %di +# CHECK-NEXT: 1 1 1.00 rorw %di +# CHECK-NEXT: 1 1 1.00 * * rolw (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorw (%rax) +# CHECK-NEXT: 1 1 1.00 rolw $7, %di +# CHECK-NEXT: 1 1 1.00 rorw $7, %di +# CHECK-NEXT: 1 1 1.00 * * rolw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rolw %cl, %di +# CHECK-NEXT: 1 1 1.00 rorw %cl, %di +# CHECK-NEXT: 1 1 1.00 * * rolw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 roll %edi +# CHECK-NEXT: 1 1 1.00 rorl %edi +# CHECK-NEXT: 1 1 1.00 * * roll (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorl (%rax) +# CHECK-NEXT: 1 1 1.00 roll $7, %edi +# CHECK-NEXT: 1 1 1.00 rorl $7, %edi +# CHECK-NEXT: 1 1 1.00 * * roll $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorl $7, (%rax) +# CHECK-NEXT: 1 1 1.00 roll %cl, %edi +# CHECK-NEXT: 1 1 1.00 rorl %cl, %edi +# CHECK-NEXT: 1 1 1.00 * * roll %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorl %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rolq %rdi +# CHECK-NEXT: 1 1 1.00 rorq %rdi +# CHECK-NEXT: 1 1 1.00 * * rolq (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorq (%rax) +# CHECK-NEXT: 1 1 1.00 rolq $7, %rdi +# CHECK-NEXT: 1 1 1.00 rorq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * * rolq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rolq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 rorq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 * * rolq %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 sarb %dil +# CHECK-NEXT: 1 1 1.00 shlb %dil +# CHECK-NEXT: 1 1 1.00 shrb %dil +# CHECK-NEXT: 1 1 1.00 * * sarb (%rax) +# CHECK-NEXT: 1 1 1.00 * * shlb (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrb (%rax) +# CHECK-NEXT: 1 1 1.00 sarb $7, %dil +# CHECK-NEXT: 1 1 1.00 shlb $7, %dil +# CHECK-NEXT: 1 1 1.00 shrb $7, %dil +# CHECK-NEXT: 1 1 1.00 * * sarb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shlb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 sarb %cl, %dil +# CHECK-NEXT: 1 1 1.00 shlb %cl, %dil +# CHECK-NEXT: 1 1 1.00 shrb %cl, %dil +# CHECK-NEXT: 1 1 1.00 * * sarb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shlb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 sarw %di +# CHECK-NEXT: 1 1 1.00 shlw %di +# CHECK-NEXT: 1 1 1.00 shrw %di +# CHECK-NEXT: 1 1 1.00 * * sarw (%rax) +# CHECK-NEXT: 1 1 1.00 * * shlw (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrw (%rax) +# CHECK-NEXT: 1 1 1.00 sarw $7, %di +# CHECK-NEXT: 1 1 1.00 shlw $7, %di +# CHECK-NEXT: 1 1 1.00 shrw $7, %di +# CHECK-NEXT: 1 1 1.00 * * sarw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shlw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 sarw %cl, %di +# CHECK-NEXT: 1 1 1.00 shlw %cl, %di +# CHECK-NEXT: 1 1 1.00 shrw %cl, %di +# CHECK-NEXT: 1 1 1.00 * * sarw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shlw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 sarl %edi +# CHECK-NEXT: 1 1 1.00 shll %edi +# CHECK-NEXT: 1 1 1.00 shrl %edi +# CHECK-NEXT: 1 1 1.00 * * sarl (%rax) +# CHECK-NEXT: 1 1 1.00 * * shll (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrl (%rax) +# CHECK-NEXT: 1 1 1.00 sarl $7, %edi +# CHECK-NEXT: 1 1 1.00 shll $7, %edi +# CHECK-NEXT: 1 1 1.00 shrl $7, %edi +# CHECK-NEXT: 1 1 1.00 * * sarl $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shll $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrl $7, (%rax) +# CHECK-NEXT: 1 1 1.00 sarl %cl, %edi +# CHECK-NEXT: 1 1 1.00 shll %cl, %edi +# CHECK-NEXT: 1 1 1.00 shrl %cl, %edi +# CHECK-NEXT: 1 1 1.00 * * sarl %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shll %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 sarq %rdi +# CHECK-NEXT: 1 1 1.00 shlq %rdi +# CHECK-NEXT: 1 1 1.00 shrq %rdi +# CHECK-NEXT: 1 1 1.00 * * sarq (%rax) +# CHECK-NEXT: 1 1 1.00 * * shlq (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrq (%rax) +# CHECK-NEXT: 1 1 1.00 sarq $7, %rdi +# CHECK-NEXT: 1 1 1.00 shlq $7, %rdi +# CHECK-NEXT: 1 1 1.00 shrq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * * sarq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shlq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 sarq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 shlq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 shrq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 * * sarq %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shlq %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 * * shrq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbb $7, %al +# CHECK-NEXT: 1 1 0.50 sbbb $7, %dil +# CHECK-NEXT: 1 1 1.00 * * sbbb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil +# CHECK-NEXT: 1 1 1.00 * * sbbb %dil, (%rax) +# CHECK-NEXT: 1 1 1.00 * sbbb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax +# CHECK-NEXT: 1 1 0.50 sbbw $511, %di +# CHECK-NEXT: 1 1 1.00 * * sbbw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw $7, %di +# CHECK-NEXT: 1 1 1.00 * * sbbw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw %di, %di +# CHECK-NEXT: 1 1 1.00 * * sbbw %di, (%rax) +# CHECK-NEXT: 1 1 1.00 * sbbw (%rax), %di +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi +# CHECK-NEXT: 1 1 1.00 * * sbbl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi +# CHECK-NEXT: 1 1 1.00 * * sbbl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi +# CHECK-NEXT: 1 1 1.00 * * sbbl %edi, (%rax) +# CHECK-NEXT: 1 1 1.00 * sbbl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi +# CHECK-NEXT: 1 1 1.00 * * sbbq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * * sbbq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi +# CHECK-NEXT: 1 1 1.00 * * sbbq %rdi, (%rax) +# CHECK-NEXT: 1 1 1.00 * sbbq (%rax), %rdi +# CHECK-NEXT: 1 6 3.00 shldw %cl, %si, %di +# CHECK-NEXT: 1 6 3.00 shrdw %cl, %si, %di +# CHECK-NEXT: 1 6 3.00 * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 1 6 3.00 * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 1 6 3.00 shldw $7, %si, %di +# CHECK-NEXT: 1 6 3.00 shrdw $7, %si, %di +# CHECK-NEXT: 1 6 3.00 * * shldw $7, %si, (%rax) +# CHECK-NEXT: 1 6 3.00 * * shrdw $7, %si, (%rax) +# CHECK-NEXT: 1 2 1.00 shldl %cl, %esi, %edi +# CHECK-NEXT: 1 2 1.00 shrdl %cl, %esi, %edi +# CHECK-NEXT: 1 4 2.00 * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 1 2 1.00 shldl $7, %esi, %edi +# CHECK-NEXT: 1 2 1.00 shrdl $7, %esi, %edi +# CHECK-NEXT: 1 4 2.00 * * shldl $7, %esi, (%rax) +# CHECK-NEXT: 1 4 2.00 * * shrdl $7, %esi, (%rax) +# CHECK-NEXT: 1 8 4.00 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 1 8 4.00 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 1 9 4.50 * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 9 4.50 * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 9 4.50 shldq $7, %rsi, %rdi +# CHECK-NEXT: 1 9 4.50 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 1 9 4.50 * * shldq $7, %rsi, (%rax) +# CHECK-NEXT: 1 9 4.50 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 subb $7, %al +# CHECK-NEXT: 1 1 0.50 subb $7, %dil +# CHECK-NEXT: 1 1 1.00 * * subb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subb %dil, %dil +# CHECK-NEXT: 1 1 1.00 * * subb %dil, (%rax) +# CHECK-NEXT: 1 1 1.00 * subb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 subw $511, %ax +# CHECK-NEXT: 1 1 0.50 subw $511, %di +# CHECK-NEXT: 1 1 1.00 * * subw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 subw $7, %di +# CHECK-NEXT: 1 1 1.00 * * subw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subw %di, %di +# CHECK-NEXT: 1 1 1.00 * * subw %di, (%rax) +# CHECK-NEXT: 1 1 1.00 * subw (%rax), %di +# CHECK-NEXT: 1 1 0.50 subl $665536, %eax +# CHECK-NEXT: 1 1 0.50 subl $665536, %edi +# CHECK-NEXT: 1 1 1.00 * * subl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 subl $7, %edi +# CHECK-NEXT: 1 1 1.00 * * subl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subl %edi, %edi +# CHECK-NEXT: 1 1 1.00 * * subl %edi, (%rax) +# CHECK-NEXT: 1 1 1.00 * subl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 subq $665536, %rax +# CHECK-NEXT: 1 1 0.50 subq $665536, %rdi +# CHECK-NEXT: 1 1 1.00 * * subq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 subq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * * subq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subq %rdi, %rdi +# CHECK-NEXT: 1 1 1.00 * * subq %rdi, (%rax) +# CHECK-NEXT: 1 1 1.00 * subq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 xorb $7, %al +# CHECK-NEXT: 1 1 0.50 xorb $7, %dil +# CHECK-NEXT: 1 1 1.00 * * xorb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorb %dil, %dil +# CHECK-NEXT: 1 1 1.00 * * xorb %dil, (%rax) +# CHECK-NEXT: 1 1 1.00 * xorb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 xorw $511, %ax +# CHECK-NEXT: 1 1 0.50 xorw $511, %di +# CHECK-NEXT: 1 1 1.00 * * xorw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 xorw $7, %di +# CHECK-NEXT: 1 1 1.00 * * xorw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorw %di, %di +# CHECK-NEXT: 1 1 1.00 * * xorw %di, (%rax) +# CHECK-NEXT: 1 1 1.00 * xorw (%rax), %di +# CHECK-NEXT: 1 1 0.50 xorl $665536, %eax +# CHECK-NEXT: 1 1 0.50 xorl $665536, %edi +# CHECK-NEXT: 1 1 1.00 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 xorl $7, %edi +# CHECK-NEXT: 1 1 1.00 * * xorl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorl %edi, %edi +# CHECK-NEXT: 1 1 1.00 * * xorl %edi, (%rax) +# CHECK-NEXT: 1 1 1.00 * xorl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 xorq $665536, %rax +# CHECK-NEXT: 1 1 0.50 xorq $665536, %rdi +# CHECK-NEXT: 1 1 1.00 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 xorq $7, %rdi +# CHECK-NEXT: 1 1 1.00 * * xorq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorq %rdi, %rdi +# CHECK-NEXT: 1 1 1.00 * * xorq %rdi, (%rax) +# CHECK-NEXT: 1 1 1.00 * xorq (%rax), %rdi # CHECK: Resources: -# CHECK-NEXT: [0] - AtomPort0 -# CHECK-NEXT: [1] - AtomPort1 +# CHECK-NEXT: [0] - AtomPort0 +# CHECK-NEXT: [1] - AtomPort1 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] # CHECK-NEXT: 1258.00 963.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] Instructions: -# CHECK-NEXT: 0.50 0.50 adcb $7, %al -# CHECK-NEXT: 0.50 0.50 adcb $7, %dil -# CHECK-NEXT: 1.00 - adcb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 adcb %dil, %dil -# CHECK-NEXT: 1.00 - adcb %dil, (%rax) -# CHECK-NEXT: 1.00 - adcb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 adcw $511, %ax -# CHECK-NEXT: 0.50 0.50 adcw $511, %di -# CHECK-NEXT: 1.00 - adcw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 adcw $7, %di -# CHECK-NEXT: 1.00 - adcw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 adcw %di, %di -# CHECK-NEXT: 1.00 - adcw %di, (%rax) -# CHECK-NEXT: 1.00 - adcw (%rax), %di -# CHECK-NEXT: 0.50 0.50 adcl $665536, %eax -# CHECK-NEXT: 0.50 0.50 adcl $665536, %edi -# CHECK-NEXT: 1.00 - adcl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 adcl $7, %edi -# CHECK-NEXT: 1.00 - adcl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 adcl %edi, %edi -# CHECK-NEXT: 1.00 - adcl %edi, (%rax) -# CHECK-NEXT: 1.00 - adcl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 adcq $665536, %rax -# CHECK-NEXT: 0.50 0.50 adcq $665536, %rdi -# CHECK-NEXT: 1.00 - adcq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 adcq $7, %rdi -# CHECK-NEXT: 1.00 - adcq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 adcq %rdi, %rdi -# CHECK-NEXT: 1.00 - adcq %rdi, (%rax) -# CHECK-NEXT: 1.00 - adcq (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 addb $7, %al -# CHECK-NEXT: 0.50 0.50 addb $7, %dil -# CHECK-NEXT: 1.00 - addb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 addb %dil, %dil -# CHECK-NEXT: 1.00 - addb %dil, (%rax) -# CHECK-NEXT: 1.00 - addb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 addw $511, %ax -# CHECK-NEXT: 0.50 0.50 addw $511, %di -# CHECK-NEXT: 1.00 - addw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 addw $7, %di -# CHECK-NEXT: 1.00 - addw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 addw %di, %di -# CHECK-NEXT: 1.00 - addw %di, (%rax) -# CHECK-NEXT: 1.00 - addw (%rax), %di -# CHECK-NEXT: 0.50 0.50 addl $665536, %eax -# CHECK-NEXT: 0.50 0.50 addl $665536, %edi -# CHECK-NEXT: 1.00 - addl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 addl $7, %edi -# CHECK-NEXT: 1.00 - addl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 addl %edi, %edi -# CHECK-NEXT: 1.00 - addl %edi, (%rax) -# CHECK-NEXT: 1.00 - addl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 addq $665536, %rax -# CHECK-NEXT: 0.50 0.50 addq $665536, %rdi -# CHECK-NEXT: 1.00 - addq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 addq $7, %rdi -# CHECK-NEXT: 1.00 - addq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 addq %rdi, %rdi -# CHECK-NEXT: 1.00 - addq %rdi, (%rax) -# CHECK-NEXT: 1.00 - addq (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 andb $7, %al -# CHECK-NEXT: 0.50 0.50 andb $7, %dil -# CHECK-NEXT: 1.00 - andb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 andb %dil, %dil -# CHECK-NEXT: 1.00 - andb %dil, (%rax) -# CHECK-NEXT: 1.00 - andb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 andw $511, %ax -# CHECK-NEXT: 0.50 0.50 andw $511, %di -# CHECK-NEXT: 1.00 - andw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 andw $7, %di -# CHECK-NEXT: 1.00 - andw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 andw %di, %di -# CHECK-NEXT: 1.00 - andw %di, (%rax) -# CHECK-NEXT: 1.00 - andw (%rax), %di -# CHECK-NEXT: 0.50 0.50 andl $665536, %eax -# CHECK-NEXT: 0.50 0.50 andl $665536, %edi -# CHECK-NEXT: 1.00 - andl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 andl $7, %edi -# CHECK-NEXT: 1.00 - andl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 andl %edi, %edi -# CHECK-NEXT: 1.00 - andl %edi, (%rax) -# CHECK-NEXT: 1.00 - andl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 andq $665536, %rax -# CHECK-NEXT: 0.50 0.50 andq $665536, %rdi -# CHECK-NEXT: 1.00 - andq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 andq $7, %rdi -# CHECK-NEXT: 1.00 - andq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 andq %rdi, %rdi -# CHECK-NEXT: 1.00 - andq %rdi, (%rax) -# CHECK-NEXT: 1.00 - andq (%rax), %rdi -# CHECK-NEXT: - 1.00 btw %si, %di -# CHECK-NEXT: - 1.00 btcw %si, %di -# CHECK-NEXT: - 1.00 btrw %si, %di -# CHECK-NEXT: - 1.00 btsw %si, %di -# CHECK-NEXT: 4.50 4.50 btw %si, (%rax) -# CHECK-NEXT: 5.50 5.50 btcw %si, (%rax) -# CHECK-NEXT: 5.50 5.50 btrw %si, (%rax) -# CHECK-NEXT: 5.50 5.50 btsw %si, (%rax) -# CHECK-NEXT: - 1.00 btw $7, %di -# CHECK-NEXT: - 1.00 btcw $7, %di -# CHECK-NEXT: - 1.00 btrw $7, %di -# CHECK-NEXT: - 1.00 btsw $7, %di -# CHECK-NEXT: 0.50 0.50 btw $7, (%rax) -# CHECK-NEXT: 1.00 1.00 btcw $7, (%rax) -# CHECK-NEXT: 1.00 1.00 btrw $7, (%rax) -# CHECK-NEXT: 1.00 1.00 btsw $7, (%rax) -# CHECK-NEXT: - 1.00 btl %esi, %edi -# CHECK-NEXT: - 1.00 btcl %esi, %edi -# CHECK-NEXT: - 1.00 btrl %esi, %edi -# CHECK-NEXT: - 1.00 btsl %esi, %edi -# CHECK-NEXT: 4.50 4.50 btl %esi, (%rax) -# CHECK-NEXT: 5.50 5.50 btcl %esi, (%rax) -# CHECK-NEXT: 5.50 5.50 btrl %esi, (%rax) -# CHECK-NEXT: 5.50 5.50 btsl %esi, (%rax) -# CHECK-NEXT: - 1.00 btl $7, %edi -# CHECK-NEXT: - 1.00 btcl $7, %edi -# CHECK-NEXT: - 1.00 btrl $7, %edi -# CHECK-NEXT: - 1.00 btsl $7, %edi -# CHECK-NEXT: 0.50 0.50 btl $7, (%rax) -# CHECK-NEXT: 1.00 1.00 btcl $7, (%rax) -# CHECK-NEXT: 1.00 1.00 btrl $7, (%rax) -# CHECK-NEXT: 1.00 1.00 btsl $7, (%rax) -# CHECK-NEXT: - 1.00 btq %rsi, %rdi -# CHECK-NEXT: - 1.00 btcq %rsi, %rdi -# CHECK-NEXT: - 1.00 btrq %rsi, %rdi -# CHECK-NEXT: - 1.00 btsq %rsi, %rdi -# CHECK-NEXT: 4.50 4.50 btq %rsi, (%rax) -# CHECK-NEXT: 5.50 5.50 btcq %rsi, (%rax) -# CHECK-NEXT: 5.50 5.50 btrq %rsi, (%rax) -# CHECK-NEXT: 5.50 5.50 btsq %rsi, (%rax) -# CHECK-NEXT: - 1.00 btq $7, %rdi -# CHECK-NEXT: - 1.00 btcq $7, %rdi -# CHECK-NEXT: - 1.00 btrq $7, %rdi -# CHECK-NEXT: - 1.00 btsq $7, %rdi -# CHECK-NEXT: 0.50 0.50 btq $7, (%rax) -# CHECK-NEXT: 1.00 1.00 btcq $7, (%rax) -# CHECK-NEXT: 1.00 1.00 btrq $7, (%rax) -# CHECK-NEXT: 1.00 1.00 btsq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 decb %dil -# CHECK-NEXT: 1.00 - decb (%rax) -# CHECK-NEXT: 0.50 0.50 decw %di -# CHECK-NEXT: 1.00 - decw (%rax) -# CHECK-NEXT: 0.50 0.50 decl %edi -# CHECK-NEXT: 1.00 - decl (%rax) -# CHECK-NEXT: 0.50 0.50 decq %rdi -# CHECK-NEXT: 1.00 - decq (%rax) -# CHECK-NEXT: 25.00 25.00 divb %dil -# CHECK-NEXT: 34.00 34.00 divb (%rax) -# CHECK-NEXT: 25.00 25.00 divw %si -# CHECK-NEXT: 25.00 25.00 divw (%rax) -# CHECK-NEXT: 25.00 25.00 divl %edx -# CHECK-NEXT: 25.00 25.00 divl (%rax) -# CHECK-NEXT: 65.00 65.00 divq %rcx -# CHECK-NEXT: 65.00 65.00 divq (%rax) -# CHECK-NEXT: 31.00 31.00 idivb %dil -# CHECK-NEXT: 31.00 31.00 idivb (%rax) -# CHECK-NEXT: 31.00 31.00 idivw %si -# CHECK-NEXT: 31.00 31.00 idivw (%rax) -# CHECK-NEXT: 31.00 31.00 idivl %edx -# CHECK-NEXT: 31.00 31.00 idivl (%rax) -# CHECK-NEXT: 65.00 65.00 idivq %rcx -# CHECK-NEXT: 65.00 65.00 idivq (%rax) -# CHECK-NEXT: 3.50 3.50 imulb %dil -# CHECK-NEXT: 3.50 3.50 imulb (%rax) -# CHECK-NEXT: 3.50 3.50 imulw %di -# CHECK-NEXT: 4.00 4.00 imulw (%rax) -# CHECK-NEXT: 3.00 3.00 imulw %di, %di -# CHECK-NEXT: 3.50 3.50 imulw (%rax), %di -# CHECK-NEXT: 3.00 3.00 imulw $511, %di, %di -# CHECK-NEXT: 3.50 3.50 imulw $511, (%rax), %di -# CHECK-NEXT: 3.00 3.00 imulw $7, %di, %di -# CHECK-NEXT: 3.50 3.50 imulw $7, (%rax), %di -# CHECK-NEXT: 3.00 3.00 imull %edi -# CHECK-NEXT: 3.50 3.50 imull (%rax) -# CHECK-NEXT: 5.00 - imull %edi, %edi -# CHECK-NEXT: 5.00 - imull (%rax), %edi -# CHECK-NEXT: 5.00 - imull $665536, %edi, %edi -# CHECK-NEXT: 5.00 - imull $665536, (%rax), %edi -# CHECK-NEXT: 5.00 - imull $7, %edi, %edi -# CHECK-NEXT: 5.00 - imull $7, (%rax), %edi -# CHECK-NEXT: 6.00 6.00 imulq %rdi -# CHECK-NEXT: 6.00 6.00 imulq (%rax) -# CHECK-NEXT: 6.00 6.00 imulq %rdi, %rdi -# CHECK-NEXT: 6.00 6.00 imulq (%rax), %rdi -# CHECK-NEXT: 7.00 7.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 7.00 7.00 imulq $665536, (%rax), %rdi -# CHECK-NEXT: 7.00 7.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 7.00 7.00 imulq $7, (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 incb %dil -# CHECK-NEXT: 1.00 - incb (%rax) -# CHECK-NEXT: 0.50 0.50 incw %di -# CHECK-NEXT: 1.00 - incw (%rax) -# CHECK-NEXT: 0.50 0.50 incl %edi -# CHECK-NEXT: 1.00 - incl (%rax) -# CHECK-NEXT: 0.50 0.50 incq %rdi -# CHECK-NEXT: 1.00 - incq (%rax) -# CHECK-NEXT: 3.50 3.50 mulb %dil -# CHECK-NEXT: 3.50 3.50 mulb (%rax) -# CHECK-NEXT: 3.50 3.50 mulw %si -# CHECK-NEXT: 4.00 4.00 mulw (%rax) -# CHECK-NEXT: 3.00 3.00 mull %edx -# CHECK-NEXT: 3.50 3.50 mull (%rax) -# CHECK-NEXT: 6.00 6.00 mulq %rcx -# CHECK-NEXT: 6.00 6.00 mulq (%rax) -# CHECK-NEXT: 0.50 0.50 negb %dil -# CHECK-NEXT: 1.00 - negb (%r8) -# CHECK-NEXT: 0.50 0.50 negw %si -# CHECK-NEXT: 1.00 - negw (%r9) -# CHECK-NEXT: 0.50 0.50 negl %edx -# CHECK-NEXT: 1.00 - negl (%rax) -# CHECK-NEXT: 0.50 0.50 negq %rcx -# CHECK-NEXT: 1.00 - negq (%r10) -# CHECK-NEXT: 0.50 0.50 nop -# CHECK-NEXT: 0.50 0.50 nopw %di -# CHECK-NEXT: 0.50 0.50 nopw (%rcx) -# CHECK-NEXT: 0.50 0.50 nopl %esi -# CHECK-NEXT: 0.50 0.50 nopl (%r8) -# CHECK-NEXT: 0.50 0.50 nopq %rdx -# CHECK-NEXT: 0.50 0.50 nopq (%r9) -# CHECK-NEXT: 0.50 0.50 notb %dil -# CHECK-NEXT: 1.00 - notb (%r8) -# CHECK-NEXT: 0.50 0.50 notw %si -# CHECK-NEXT: 1.00 - notw (%r9) -# CHECK-NEXT: 0.50 0.50 notl %edx -# CHECK-NEXT: 1.00 - notl (%rax) -# CHECK-NEXT: 0.50 0.50 notq %rcx -# CHECK-NEXT: 1.00 - notq (%r10) -# CHECK-NEXT: 0.50 0.50 orb $7, %al -# CHECK-NEXT: 0.50 0.50 orb $7, %dil -# CHECK-NEXT: 1.00 - orb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 orb %dil, %dil -# CHECK-NEXT: 1.00 - orb %dil, (%rax) -# CHECK-NEXT: 1.00 - orb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 orw $511, %ax -# CHECK-NEXT: 0.50 0.50 orw $511, %di -# CHECK-NEXT: 1.00 - orw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 orw $7, %di -# CHECK-NEXT: 1.00 - orw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 orw %di, %di -# CHECK-NEXT: 1.00 - orw %di, (%rax) -# CHECK-NEXT: 1.00 - orw (%rax), %di -# CHECK-NEXT: 0.50 0.50 orl $665536, %eax -# CHECK-NEXT: 0.50 0.50 orl $665536, %edi -# CHECK-NEXT: 1.00 - orl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 orl $7, %edi -# CHECK-NEXT: 1.00 - orl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 orl %edi, %edi -# CHECK-NEXT: 1.00 - orl %edi, (%rax) -# CHECK-NEXT: 1.00 - orl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 orq $665536, %rax -# CHECK-NEXT: 0.50 0.50 orq $665536, %rdi -# CHECK-NEXT: 1.00 - orq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 orq $7, %rdi -# CHECK-NEXT: 1.00 - orq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 orq %rdi, %rdi -# CHECK-NEXT: 1.00 - orq %rdi, (%rax) -# CHECK-NEXT: 1.00 - orq (%rax), %rdi -# CHECK-NEXT: 1.00 - rclb %dil -# CHECK-NEXT: 1.00 - rcrb %dil -# CHECK-NEXT: 1.00 - rclb (%rax) -# CHECK-NEXT: 1.00 - rcrb (%rax) -# CHECK-NEXT: 1.00 - rclb $7, %dil -# CHECK-NEXT: 1.00 - rcrb $7, %dil -# CHECK-NEXT: 1.00 - rclb $7, (%rax) -# CHECK-NEXT: 1.00 - rcrb $7, (%rax) -# CHECK-NEXT: 1.00 - rclb %cl, %dil -# CHECK-NEXT: 1.00 - rcrb %cl, %dil -# CHECK-NEXT: 1.00 - rclb %cl, (%rax) -# CHECK-NEXT: 1.00 - rcrb %cl, (%rax) -# CHECK-NEXT: 1.00 - rclw %di -# CHECK-NEXT: 1.00 - rcrw %di -# CHECK-NEXT: 1.00 - rclw (%rax) -# CHECK-NEXT: 1.00 - rcrw (%rax) -# CHECK-NEXT: 1.00 - rclw $7, %di -# CHECK-NEXT: 1.00 - rcrw $7, %di -# CHECK-NEXT: 1.00 - rclw $7, (%rax) -# CHECK-NEXT: 1.00 - rcrw $7, (%rax) -# CHECK-NEXT: 1.00 - rclw %cl, %di -# CHECK-NEXT: 1.00 - rcrw %cl, %di -# CHECK-NEXT: 1.00 - rclw %cl, (%rax) -# CHECK-NEXT: 1.00 - rcrw %cl, (%rax) -# CHECK-NEXT: 1.00 - rcll %edi -# CHECK-NEXT: 1.00 - rcrl %edi -# CHECK-NEXT: 1.00 - rcll (%rax) -# CHECK-NEXT: 1.00 - rcrl (%rax) -# CHECK-NEXT: 1.00 - rcll $7, %edi -# CHECK-NEXT: 1.00 - rcrl $7, %edi -# CHECK-NEXT: 1.00 - rcll $7, (%rax) -# CHECK-NEXT: 1.00 - rcrl $7, (%rax) -# CHECK-NEXT: 1.00 - rcll %cl, %edi -# CHECK-NEXT: 1.00 - rcrl %cl, %edi -# CHECK-NEXT: 1.00 - rcll %cl, (%rax) -# CHECK-NEXT: 1.00 - rcrl %cl, (%rax) -# CHECK-NEXT: 1.00 - rclq %rdi -# CHECK-NEXT: 1.00 - rcrq %rdi -# CHECK-NEXT: 1.00 - rclq (%rax) -# CHECK-NEXT: 1.00 - rcrq (%rax) -# CHECK-NEXT: 1.00 - rclq $7, %rdi -# CHECK-NEXT: 1.00 - rcrq $7, %rdi -# CHECK-NEXT: 1.00 - rclq $7, (%rax) -# CHECK-NEXT: 1.00 - rcrq $7, (%rax) -# CHECK-NEXT: 1.00 - rclq %cl, %rdi -# CHECK-NEXT: 1.00 - rcrq %cl, %rdi -# CHECK-NEXT: 1.00 - rclq %cl, (%rax) -# CHECK-NEXT: 1.00 - rcrq %cl, (%rax) -# CHECK-NEXT: 1.00 - rolb %dil -# CHECK-NEXT: 1.00 - rorb %dil -# CHECK-NEXT: 1.00 - rolb (%rax) -# CHECK-NEXT: 1.00 - rorb (%rax) -# CHECK-NEXT: 1.00 - rolb $7, %dil -# CHECK-NEXT: 1.00 - rorb $7, %dil -# CHECK-NEXT: 1.00 - rolb $7, (%rax) -# CHECK-NEXT: 1.00 - rorb $7, (%rax) -# CHECK-NEXT: 1.00 - rolb %cl, %dil -# CHECK-NEXT: 1.00 - rorb %cl, %dil -# CHECK-NEXT: 1.00 - rolb %cl, (%rax) -# CHECK-NEXT: 1.00 - rorb %cl, (%rax) -# CHECK-NEXT: 1.00 - rolw %di -# CHECK-NEXT: 1.00 - rorw %di -# CHECK-NEXT: 1.00 - rolw (%rax) -# CHECK-NEXT: 1.00 - rorw (%rax) -# CHECK-NEXT: 1.00 - rolw $7, %di -# CHECK-NEXT: 1.00 - rorw $7, %di -# CHECK-NEXT: 1.00 - rolw $7, (%rax) -# CHECK-NEXT: 1.00 - rorw $7, (%rax) -# CHECK-NEXT: 1.00 - rolw %cl, %di -# CHECK-NEXT: 1.00 - rorw %cl, %di -# CHECK-NEXT: 1.00 - rolw %cl, (%rax) -# CHECK-NEXT: 1.00 - rorw %cl, (%rax) -# CHECK-NEXT: 1.00 - roll %edi -# CHECK-NEXT: 1.00 - rorl %edi -# CHECK-NEXT: 1.00 - roll (%rax) -# CHECK-NEXT: 1.00 - rorl (%rax) -# CHECK-NEXT: 1.00 - roll $7, %edi -# CHECK-NEXT: 1.00 - rorl $7, %edi -# CHECK-NEXT: 1.00 - roll $7, (%rax) -# CHECK-NEXT: 1.00 - rorl $7, (%rax) -# CHECK-NEXT: 1.00 - roll %cl, %edi -# CHECK-NEXT: 1.00 - rorl %cl, %edi -# CHECK-NEXT: 1.00 - roll %cl, (%rax) -# CHECK-NEXT: 1.00 - rorl %cl, (%rax) -# CHECK-NEXT: 1.00 - rolq %rdi -# CHECK-NEXT: 1.00 - rorq %rdi -# CHECK-NEXT: 1.00 - rolq (%rax) -# CHECK-NEXT: 1.00 - rorq (%rax) -# CHECK-NEXT: 1.00 - rolq $7, %rdi -# CHECK-NEXT: 1.00 - rorq $7, %rdi -# CHECK-NEXT: 1.00 - rolq $7, (%rax) -# CHECK-NEXT: 1.00 - rorq $7, (%rax) -# CHECK-NEXT: 1.00 - rolq %cl, %rdi -# CHECK-NEXT: 1.00 - rorq %cl, %rdi -# CHECK-NEXT: 1.00 - rolq %cl, (%rax) -# CHECK-NEXT: 1.00 - rorq %cl, (%rax) -# CHECK-NEXT: 1.00 - sarb %dil -# CHECK-NEXT: 1.00 - shlb %dil -# CHECK-NEXT: 1.00 - shrb %dil -# CHECK-NEXT: 1.00 - sarb (%rax) -# CHECK-NEXT: 1.00 - shlb (%rax) -# CHECK-NEXT: 1.00 - shrb (%rax) -# CHECK-NEXT: 1.00 - sarb $7, %dil -# CHECK-NEXT: 1.00 - shlb $7, %dil -# CHECK-NEXT: 1.00 - shrb $7, %dil -# CHECK-NEXT: 1.00 - sarb $7, (%rax) -# CHECK-NEXT: 1.00 - shlb $7, (%rax) -# CHECK-NEXT: 1.00 - shrb $7, (%rax) -# CHECK-NEXT: 1.00 - sarb %cl, %dil -# CHECK-NEXT: 1.00 - shlb %cl, %dil -# CHECK-NEXT: 1.00 - shrb %cl, %dil -# CHECK-NEXT: 1.00 - sarb %cl, (%rax) -# CHECK-NEXT: 1.00 - shlb %cl, (%rax) -# CHECK-NEXT: 1.00 - shrb %cl, (%rax) -# CHECK-NEXT: 1.00 - sarw %di -# CHECK-NEXT: 1.00 - shlw %di -# CHECK-NEXT: 1.00 - shrw %di -# CHECK-NEXT: 1.00 - sarw (%rax) -# CHECK-NEXT: 1.00 - shlw (%rax) -# CHECK-NEXT: 1.00 - shrw (%rax) -# CHECK-NEXT: 1.00 - sarw $7, %di -# CHECK-NEXT: 1.00 - shlw $7, %di -# CHECK-NEXT: 1.00 - shrw $7, %di -# CHECK-NEXT: 1.00 - sarw $7, (%rax) -# CHECK-NEXT: 1.00 - shlw $7, (%rax) -# CHECK-NEXT: 1.00 - shrw $7, (%rax) -# CHECK-NEXT: 1.00 - sarw %cl, %di -# CHECK-NEXT: 1.00 - shlw %cl, %di -# CHECK-NEXT: 1.00 - shrw %cl, %di -# CHECK-NEXT: 1.00 - sarw %cl, (%rax) -# CHECK-NEXT: 1.00 - shlw %cl, (%rax) -# CHECK-NEXT: 1.00 - shrw %cl, (%rax) -# CHECK-NEXT: 1.00 - sarl %edi -# CHECK-NEXT: 1.00 - shll %edi -# CHECK-NEXT: 1.00 - shrl %edi -# CHECK-NEXT: 1.00 - sarl (%rax) -# CHECK-NEXT: 1.00 - shll (%rax) -# CHECK-NEXT: 1.00 - shrl (%rax) -# CHECK-NEXT: 1.00 - sarl $7, %edi -# CHECK-NEXT: 1.00 - shll $7, %edi -# CHECK-NEXT: 1.00 - shrl $7, %edi -# CHECK-NEXT: 1.00 - sarl $7, (%rax) -# CHECK-NEXT: 1.00 - shll $7, (%rax) -# CHECK-NEXT: 1.00 - shrl $7, (%rax) -# CHECK-NEXT: 1.00 - sarl %cl, %edi -# CHECK-NEXT: 1.00 - shll %cl, %edi -# CHECK-NEXT: 1.00 - shrl %cl, %edi -# CHECK-NEXT: 1.00 - sarl %cl, (%rax) -# CHECK-NEXT: 1.00 - shll %cl, (%rax) -# CHECK-NEXT: 1.00 - shrl %cl, (%rax) -# CHECK-NEXT: 1.00 - sarq %rdi -# CHECK-NEXT: 1.00 - shlq %rdi -# CHECK-NEXT: 1.00 - shrq %rdi -# CHECK-NEXT: 1.00 - sarq (%rax) -# CHECK-NEXT: 1.00 - shlq (%rax) -# CHECK-NEXT: 1.00 - shrq (%rax) -# CHECK-NEXT: 1.00 - sarq $7, %rdi -# CHECK-NEXT: 1.00 - shlq $7, %rdi -# CHECK-NEXT: 1.00 - shrq $7, %rdi -# CHECK-NEXT: 1.00 - sarq $7, (%rax) -# CHECK-NEXT: 1.00 - shlq $7, (%rax) -# CHECK-NEXT: 1.00 - shrq $7, (%rax) -# CHECK-NEXT: 1.00 - sarq %cl, %rdi -# CHECK-NEXT: 1.00 - shlq %cl, %rdi -# CHECK-NEXT: 1.00 - shrq %cl, %rdi -# CHECK-NEXT: 1.00 - sarq %cl, (%rax) -# CHECK-NEXT: 1.00 - shlq %cl, (%rax) -# CHECK-NEXT: 1.00 - shrq %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 sbbb $7, %al -# CHECK-NEXT: 0.50 0.50 sbbb $7, %dil -# CHECK-NEXT: 1.00 - sbbb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 sbbb %dil, %dil -# CHECK-NEXT: 1.00 - sbbb %dil, (%rax) -# CHECK-NEXT: 1.00 - sbbb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 sbbw $511, %ax -# CHECK-NEXT: 0.50 0.50 sbbw $511, %di -# CHECK-NEXT: 1.00 - sbbw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 sbbw $7, %di -# CHECK-NEXT: 1.00 - sbbw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 sbbw %di, %di -# CHECK-NEXT: 1.00 - sbbw %di, (%rax) -# CHECK-NEXT: 1.00 - sbbw (%rax), %di -# CHECK-NEXT: 0.50 0.50 sbbl $665536, %eax -# CHECK-NEXT: 0.50 0.50 sbbl $665536, %edi -# CHECK-NEXT: 1.00 - sbbl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 sbbl $7, %edi -# CHECK-NEXT: 1.00 - sbbl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 sbbl %edi, %edi -# CHECK-NEXT: 1.00 - sbbl %edi, (%rax) -# CHECK-NEXT: 1.00 - sbbl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 sbbq $665536, %rax -# CHECK-NEXT: 0.50 0.50 sbbq $665536, %rdi -# CHECK-NEXT: 1.00 - sbbq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 sbbq $7, %rdi -# CHECK-NEXT: 1.00 - sbbq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 sbbq %rdi, %rdi -# CHECK-NEXT: 1.00 - sbbq %rdi, (%rax) -# CHECK-NEXT: 1.00 - sbbq (%rax), %rdi -# CHECK-NEXT: 3.00 3.00 shldw %cl, %si, %di -# CHECK-NEXT: 3.00 3.00 shrdw %cl, %si, %di -# CHECK-NEXT: 3.00 3.00 shldw %cl, %si, (%rax) -# CHECK-NEXT: 3.00 3.00 shrdw %cl, %si, (%rax) -# CHECK-NEXT: 3.00 3.00 shldw $7, %si, %di -# CHECK-NEXT: 3.00 3.00 shrdw $7, %si, %di -# CHECK-NEXT: 3.00 3.00 shldw $7, %si, (%rax) -# CHECK-NEXT: 3.00 3.00 shrdw $7, %si, (%rax) -# CHECK-NEXT: 1.00 1.00 shldl %cl, %esi, %edi -# CHECK-NEXT: 1.00 1.00 shrdl %cl, %esi, %edi -# CHECK-NEXT: 2.00 2.00 shldl %cl, %esi, (%rax) -# CHECK-NEXT: 2.00 2.00 shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 1.00 1.00 shldl $7, %esi, %edi -# CHECK-NEXT: 1.00 1.00 shrdl $7, %esi, %edi -# CHECK-NEXT: 2.00 2.00 shldl $7, %esi, (%rax) -# CHECK-NEXT: 2.00 2.00 shrdl $7, %esi, (%rax) -# CHECK-NEXT: 4.00 4.00 shldq %cl, %rsi, %rdi -# CHECK-NEXT: 4.00 4.00 shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 4.50 4.50 shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 4.50 4.50 shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 4.50 4.50 shldq $7, %rsi, %rdi -# CHECK-NEXT: 4.50 4.50 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 4.50 4.50 shldq $7, %rsi, (%rax) -# CHECK-NEXT: 4.50 4.50 shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 subb $7, %al -# CHECK-NEXT: 0.50 0.50 subb $7, %dil -# CHECK-NEXT: 1.00 - subb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 subb %dil, %dil -# CHECK-NEXT: 1.00 - subb %dil, (%rax) -# CHECK-NEXT: 1.00 - subb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 subw $511, %ax -# CHECK-NEXT: 0.50 0.50 subw $511, %di -# CHECK-NEXT: 1.00 - subw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 subw $7, %di -# CHECK-NEXT: 1.00 - subw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 subw %di, %di -# CHECK-NEXT: 1.00 - subw %di, (%rax) -# CHECK-NEXT: 1.00 - subw (%rax), %di -# CHECK-NEXT: 0.50 0.50 subl $665536, %eax -# CHECK-NEXT: 0.50 0.50 subl $665536, %edi -# CHECK-NEXT: 1.00 - subl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 subl $7, %edi -# CHECK-NEXT: 1.00 - subl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 subl %edi, %edi -# CHECK-NEXT: 1.00 - subl %edi, (%rax) -# CHECK-NEXT: 1.00 - subl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 subq $665536, %rax -# CHECK-NEXT: 0.50 0.50 subq $665536, %rdi -# CHECK-NEXT: 1.00 - subq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 subq $7, %rdi -# CHECK-NEXT: 1.00 - subq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 subq %rdi, %rdi -# CHECK-NEXT: 1.00 - subq %rdi, (%rax) -# CHECK-NEXT: 1.00 - subq (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 xorb $7, %al -# CHECK-NEXT: 0.50 0.50 xorb $7, %dil -# CHECK-NEXT: 1.00 - xorb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 xorb %dil, %dil -# CHECK-NEXT: 1.00 - xorb %dil, (%rax) -# CHECK-NEXT: 1.00 - xorb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 xorw $511, %ax -# CHECK-NEXT: 0.50 0.50 xorw $511, %di -# CHECK-NEXT: 1.00 - xorw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 xorw $7, %di -# CHECK-NEXT: 1.00 - xorw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 xorw %di, %di -# CHECK-NEXT: 1.00 - xorw %di, (%rax) -# CHECK-NEXT: 1.00 - xorw (%rax), %di -# CHECK-NEXT: 0.50 0.50 xorl $665536, %eax -# CHECK-NEXT: 0.50 0.50 xorl $665536, %edi -# CHECK-NEXT: 1.00 - xorl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 xorl $7, %edi -# CHECK-NEXT: 1.00 - xorl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 xorl %edi, %edi -# CHECK-NEXT: 1.00 - xorl %edi, (%rax) -# CHECK-NEXT: 1.00 - xorl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 xorq $665536, %rax -# CHECK-NEXT: 0.50 0.50 xorq $665536, %rdi -# CHECK-NEXT: 1.00 - xorq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 xorq $7, %rdi -# CHECK-NEXT: 1.00 - xorq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 xorq %rdi, %rdi -# CHECK-NEXT: 1.00 - xorq %rdi, (%rax) -# CHECK-NEXT: 1.00 - xorq (%rax), %rdi +# CHECK-NEXT: [0] [1] Instructions: +# CHECK-NEXT: 0.50 0.50 adcb $7, %al +# CHECK-NEXT: 0.50 0.50 adcb $7, %dil +# CHECK-NEXT: 1.00 - adcb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 adcb %dil, %dil +# CHECK-NEXT: 1.00 - adcb %dil, (%rax) +# CHECK-NEXT: 1.00 - adcb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 adcw $511, %ax +# CHECK-NEXT: 0.50 0.50 adcw $511, %di +# CHECK-NEXT: 1.00 - adcw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 adcw $7, %di +# CHECK-NEXT: 1.00 - adcw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 adcw %di, %di +# CHECK-NEXT: 1.00 - adcw %di, (%rax) +# CHECK-NEXT: 1.00 - adcw (%rax), %di +# CHECK-NEXT: 0.50 0.50 adcl $665536, %eax +# CHECK-NEXT: 0.50 0.50 adcl $665536, %edi +# CHECK-NEXT: 1.00 - adcl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 adcl $7, %edi +# CHECK-NEXT: 1.00 - adcl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 adcl %edi, %edi +# CHECK-NEXT: 1.00 - adcl %edi, (%rax) +# CHECK-NEXT: 1.00 - adcl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 adcq $665536, %rax +# CHECK-NEXT: 0.50 0.50 adcq $665536, %rdi +# CHECK-NEXT: 1.00 - adcq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 adcq $7, %rdi +# CHECK-NEXT: 1.00 - adcq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 adcq %rdi, %rdi +# CHECK-NEXT: 1.00 - adcq %rdi, (%rax) +# CHECK-NEXT: 1.00 - adcq (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 addb $7, %al +# CHECK-NEXT: 0.50 0.50 addb $7, %dil +# CHECK-NEXT: 1.00 - addb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 addb %dil, %dil +# CHECK-NEXT: 1.00 - addb %dil, (%rax) +# CHECK-NEXT: 1.00 - addb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 addw $511, %ax +# CHECK-NEXT: 0.50 0.50 addw $511, %di +# CHECK-NEXT: 1.00 - addw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 addw $7, %di +# CHECK-NEXT: 1.00 - addw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 addw %di, %di +# CHECK-NEXT: 1.00 - addw %di, (%rax) +# CHECK-NEXT: 1.00 - addw (%rax), %di +# CHECK-NEXT: 0.50 0.50 addl $665536, %eax +# CHECK-NEXT: 0.50 0.50 addl $665536, %edi +# CHECK-NEXT: 1.00 - addl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 addl $7, %edi +# CHECK-NEXT: 1.00 - addl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 addl %edi, %edi +# CHECK-NEXT: 1.00 - addl %edi, (%rax) +# CHECK-NEXT: 1.00 - addl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 addq $665536, %rax +# CHECK-NEXT: 0.50 0.50 addq $665536, %rdi +# CHECK-NEXT: 1.00 - addq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 addq $7, %rdi +# CHECK-NEXT: 1.00 - addq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 addq %rdi, %rdi +# CHECK-NEXT: 1.00 - addq %rdi, (%rax) +# CHECK-NEXT: 1.00 - addq (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 andb $7, %al +# CHECK-NEXT: 0.50 0.50 andb $7, %dil +# CHECK-NEXT: 1.00 - andb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 andb %dil, %dil +# CHECK-NEXT: 1.00 - andb %dil, (%rax) +# CHECK-NEXT: 1.00 - andb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 andw $511, %ax +# CHECK-NEXT: 0.50 0.50 andw $511, %di +# CHECK-NEXT: 1.00 - andw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 andw $7, %di +# CHECK-NEXT: 1.00 - andw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 andw %di, %di +# CHECK-NEXT: 1.00 - andw %di, (%rax) +# CHECK-NEXT: 1.00 - andw (%rax), %di +# CHECK-NEXT: 0.50 0.50 andl $665536, %eax +# CHECK-NEXT: 0.50 0.50 andl $665536, %edi +# CHECK-NEXT: 1.00 - andl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 andl $7, %edi +# CHECK-NEXT: 1.00 - andl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 andl %edi, %edi +# CHECK-NEXT: 1.00 - andl %edi, (%rax) +# CHECK-NEXT: 1.00 - andl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 andq $665536, %rax +# CHECK-NEXT: 0.50 0.50 andq $665536, %rdi +# CHECK-NEXT: 1.00 - andq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 andq $7, %rdi +# CHECK-NEXT: 1.00 - andq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 andq %rdi, %rdi +# CHECK-NEXT: 1.00 - andq %rdi, (%rax) +# CHECK-NEXT: 1.00 - andq (%rax), %rdi +# CHECK-NEXT: - 1.00 btw %si, %di +# CHECK-NEXT: - 1.00 btcw %si, %di +# CHECK-NEXT: - 1.00 btrw %si, %di +# CHECK-NEXT: - 1.00 btsw %si, %di +# CHECK-NEXT: 4.50 4.50 btw %si, (%rax) +# CHECK-NEXT: 5.50 5.50 btcw %si, (%rax) +# CHECK-NEXT: 5.50 5.50 btrw %si, (%rax) +# CHECK-NEXT: 5.50 5.50 btsw %si, (%rax) +# CHECK-NEXT: - 1.00 btw $7, %di +# CHECK-NEXT: - 1.00 btcw $7, %di +# CHECK-NEXT: - 1.00 btrw $7, %di +# CHECK-NEXT: - 1.00 btsw $7, %di +# CHECK-NEXT: 0.50 0.50 btw $7, (%rax) +# CHECK-NEXT: 1.00 1.00 btcw $7, (%rax) +# CHECK-NEXT: 1.00 1.00 btrw $7, (%rax) +# CHECK-NEXT: 1.00 1.00 btsw $7, (%rax) +# CHECK-NEXT: - 1.00 btl %esi, %edi +# CHECK-NEXT: - 1.00 btcl %esi, %edi +# CHECK-NEXT: - 1.00 btrl %esi, %edi +# CHECK-NEXT: - 1.00 btsl %esi, %edi +# CHECK-NEXT: 4.50 4.50 btl %esi, (%rax) +# CHECK-NEXT: 5.50 5.50 btcl %esi, (%rax) +# CHECK-NEXT: 5.50 5.50 btrl %esi, (%rax) +# CHECK-NEXT: 5.50 5.50 btsl %esi, (%rax) +# CHECK-NEXT: - 1.00 btl $7, %edi +# CHECK-NEXT: - 1.00 btcl $7, %edi +# CHECK-NEXT: - 1.00 btrl $7, %edi +# CHECK-NEXT: - 1.00 btsl $7, %edi +# CHECK-NEXT: 0.50 0.50 btl $7, (%rax) +# CHECK-NEXT: 1.00 1.00 btcl $7, (%rax) +# CHECK-NEXT: 1.00 1.00 btrl $7, (%rax) +# CHECK-NEXT: 1.00 1.00 btsl $7, (%rax) +# CHECK-NEXT: - 1.00 btq %rsi, %rdi +# CHECK-NEXT: - 1.00 btcq %rsi, %rdi +# CHECK-NEXT: - 1.00 btrq %rsi, %rdi +# CHECK-NEXT: - 1.00 btsq %rsi, %rdi +# CHECK-NEXT: 4.50 4.50 btq %rsi, (%rax) +# CHECK-NEXT: 5.50 5.50 btcq %rsi, (%rax) +# CHECK-NEXT: 5.50 5.50 btrq %rsi, (%rax) +# CHECK-NEXT: 5.50 5.50 btsq %rsi, (%rax) +# CHECK-NEXT: - 1.00 btq $7, %rdi +# CHECK-NEXT: - 1.00 btcq $7, %rdi +# CHECK-NEXT: - 1.00 btrq $7, %rdi +# CHECK-NEXT: - 1.00 btsq $7, %rdi +# CHECK-NEXT: 0.50 0.50 btq $7, (%rax) +# CHECK-NEXT: 1.00 1.00 btcq $7, (%rax) +# CHECK-NEXT: 1.00 1.00 btrq $7, (%rax) +# CHECK-NEXT: 1.00 1.00 btsq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 decb %dil +# CHECK-NEXT: 1.00 - decb (%rax) +# CHECK-NEXT: 0.50 0.50 decw %di +# CHECK-NEXT: 1.00 - decw (%rax) +# CHECK-NEXT: 0.50 0.50 decl %edi +# CHECK-NEXT: 1.00 - decl (%rax) +# CHECK-NEXT: 0.50 0.50 decq %rdi +# CHECK-NEXT: 1.00 - decq (%rax) +# CHECK-NEXT: 25.00 25.00 divb %dil +# CHECK-NEXT: 34.00 34.00 divb (%rax) +# CHECK-NEXT: 25.00 25.00 divw %si +# CHECK-NEXT: 25.00 25.00 divw (%rax) +# CHECK-NEXT: 25.00 25.00 divl %edx +# CHECK-NEXT: 25.00 25.00 divl (%rax) +# CHECK-NEXT: 65.00 65.00 divq %rcx +# CHECK-NEXT: 65.00 65.00 divq (%rax) +# CHECK-NEXT: 31.00 31.00 idivb %dil +# CHECK-NEXT: 31.00 31.00 idivb (%rax) +# CHECK-NEXT: 31.00 31.00 idivw %si +# CHECK-NEXT: 31.00 31.00 idivw (%rax) +# CHECK-NEXT: 31.00 31.00 idivl %edx +# CHECK-NEXT: 31.00 31.00 idivl (%rax) +# CHECK-NEXT: 65.00 65.00 idivq %rcx +# CHECK-NEXT: 65.00 65.00 idivq (%rax) +# CHECK-NEXT: 3.50 3.50 imulb %dil +# CHECK-NEXT: 3.50 3.50 imulb (%rax) +# CHECK-NEXT: 3.50 3.50 imulw %di +# CHECK-NEXT: 4.00 4.00 imulw (%rax) +# CHECK-NEXT: 3.00 3.00 imulw %di, %di +# CHECK-NEXT: 3.50 3.50 imulw (%rax), %di +# CHECK-NEXT: 3.00 3.00 imulw $511, %di, %di +# CHECK-NEXT: 3.50 3.50 imulw $511, (%rax), %di +# CHECK-NEXT: 3.00 3.00 imulw $7, %di, %di +# CHECK-NEXT: 3.50 3.50 imulw $7, (%rax), %di +# CHECK-NEXT: 3.00 3.00 imull %edi +# CHECK-NEXT: 3.50 3.50 imull (%rax) +# CHECK-NEXT: 5.00 - imull %edi, %edi +# CHECK-NEXT: 5.00 - imull (%rax), %edi +# CHECK-NEXT: 5.00 - imull $665536, %edi, %edi +# CHECK-NEXT: 5.00 - imull $665536, (%rax), %edi +# CHECK-NEXT: 5.00 - imull $7, %edi, %edi +# CHECK-NEXT: 5.00 - imull $7, (%rax), %edi +# CHECK-NEXT: 6.00 6.00 imulq %rdi +# CHECK-NEXT: 6.00 6.00 imulq (%rax) +# CHECK-NEXT: 6.00 6.00 imulq %rdi, %rdi +# CHECK-NEXT: 6.00 6.00 imulq (%rax), %rdi +# CHECK-NEXT: 7.00 7.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 7.00 7.00 imulq $665536, (%rax), %rdi +# CHECK-NEXT: 7.00 7.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 7.00 7.00 imulq $7, (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 incb %dil +# CHECK-NEXT: 1.00 - incb (%rax) +# CHECK-NEXT: 0.50 0.50 incw %di +# CHECK-NEXT: 1.00 - incw (%rax) +# CHECK-NEXT: 0.50 0.50 incl %edi +# CHECK-NEXT: 1.00 - incl (%rax) +# CHECK-NEXT: 0.50 0.50 incq %rdi +# CHECK-NEXT: 1.00 - incq (%rax) +# CHECK-NEXT: 3.50 3.50 mulb %dil +# CHECK-NEXT: 3.50 3.50 mulb (%rax) +# CHECK-NEXT: 3.50 3.50 mulw %si +# CHECK-NEXT: 4.00 4.00 mulw (%rax) +# CHECK-NEXT: 3.00 3.00 mull %edx +# CHECK-NEXT: 3.50 3.50 mull (%rax) +# CHECK-NEXT: 6.00 6.00 mulq %rcx +# CHECK-NEXT: 6.00 6.00 mulq (%rax) +# CHECK-NEXT: 0.50 0.50 negb %dil +# CHECK-NEXT: 1.00 - negb (%r8) +# CHECK-NEXT: 0.50 0.50 negw %si +# CHECK-NEXT: 1.00 - negw (%r9) +# CHECK-NEXT: 0.50 0.50 negl %edx +# CHECK-NEXT: 1.00 - negl (%rax) +# CHECK-NEXT: 0.50 0.50 negq %rcx +# CHECK-NEXT: 1.00 - negq (%r10) +# CHECK-NEXT: 0.50 0.50 nop +# CHECK-NEXT: 0.50 0.50 nopw %di +# CHECK-NEXT: 0.50 0.50 nopw (%rcx) +# CHECK-NEXT: 0.50 0.50 nopl %esi +# CHECK-NEXT: 0.50 0.50 nopl (%r8) +# CHECK-NEXT: 0.50 0.50 nopq %rdx +# CHECK-NEXT: 0.50 0.50 nopq (%r9) +# CHECK-NEXT: 0.50 0.50 notb %dil +# CHECK-NEXT: 1.00 - notb (%r8) +# CHECK-NEXT: 0.50 0.50 notw %si +# CHECK-NEXT: 1.00 - notw (%r9) +# CHECK-NEXT: 0.50 0.50 notl %edx +# CHECK-NEXT: 1.00 - notl (%rax) +# CHECK-NEXT: 0.50 0.50 notq %rcx +# CHECK-NEXT: 1.00 - notq (%r10) +# CHECK-NEXT: 0.50 0.50 orb $7, %al +# CHECK-NEXT: 0.50 0.50 orb $7, %dil +# CHECK-NEXT: 1.00 - orb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 orb %dil, %dil +# CHECK-NEXT: 1.00 - orb %dil, (%rax) +# CHECK-NEXT: 1.00 - orb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 orw $511, %ax +# CHECK-NEXT: 0.50 0.50 orw $511, %di +# CHECK-NEXT: 1.00 - orw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 orw $7, %di +# CHECK-NEXT: 1.00 - orw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 orw %di, %di +# CHECK-NEXT: 1.00 - orw %di, (%rax) +# CHECK-NEXT: 1.00 - orw (%rax), %di +# CHECK-NEXT: 0.50 0.50 orl $665536, %eax +# CHECK-NEXT: 0.50 0.50 orl $665536, %edi +# CHECK-NEXT: 1.00 - orl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 orl $7, %edi +# CHECK-NEXT: 1.00 - orl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 orl %edi, %edi +# CHECK-NEXT: 1.00 - orl %edi, (%rax) +# CHECK-NEXT: 1.00 - orl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 orq $665536, %rax +# CHECK-NEXT: 0.50 0.50 orq $665536, %rdi +# CHECK-NEXT: 1.00 - orq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 orq $7, %rdi +# CHECK-NEXT: 1.00 - orq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 orq %rdi, %rdi +# CHECK-NEXT: 1.00 - orq %rdi, (%rax) +# CHECK-NEXT: 1.00 - orq (%rax), %rdi +# CHECK-NEXT: 1.00 - rclb %dil +# CHECK-NEXT: 1.00 - rcrb %dil +# CHECK-NEXT: 1.00 - rclb (%rax) +# CHECK-NEXT: 1.00 - rcrb (%rax) +# CHECK-NEXT: 1.00 - rclb $7, %dil +# CHECK-NEXT: 1.00 - rcrb $7, %dil +# CHECK-NEXT: 1.00 - rclb $7, (%rax) +# CHECK-NEXT: 1.00 - rcrb $7, (%rax) +# CHECK-NEXT: 1.00 - rclb %cl, %dil +# CHECK-NEXT: 1.00 - rcrb %cl, %dil +# CHECK-NEXT: 1.00 - rclb %cl, (%rax) +# CHECK-NEXT: 1.00 - rcrb %cl, (%rax) +# CHECK-NEXT: 1.00 - rclw %di +# CHECK-NEXT: 1.00 - rcrw %di +# CHECK-NEXT: 1.00 - rclw (%rax) +# CHECK-NEXT: 1.00 - rcrw (%rax) +# CHECK-NEXT: 1.00 - rclw $7, %di +# CHECK-NEXT: 1.00 - rcrw $7, %di +# CHECK-NEXT: 1.00 - rclw $7, (%rax) +# CHECK-NEXT: 1.00 - rcrw $7, (%rax) +# CHECK-NEXT: 1.00 - rclw %cl, %di +# CHECK-NEXT: 1.00 - rcrw %cl, %di +# CHECK-NEXT: 1.00 - rclw %cl, (%rax) +# CHECK-NEXT: 1.00 - rcrw %cl, (%rax) +# CHECK-NEXT: 1.00 - rcll %edi +# CHECK-NEXT: 1.00 - rcrl %edi +# CHECK-NEXT: 1.00 - rcll (%rax) +# CHECK-NEXT: 1.00 - rcrl (%rax) +# CHECK-NEXT: 1.00 - rcll $7, %edi +# CHECK-NEXT: 1.00 - rcrl $7, %edi +# CHECK-NEXT: 1.00 - rcll $7, (%rax) +# CHECK-NEXT: 1.00 - rcrl $7, (%rax) +# CHECK-NEXT: 1.00 - rcll %cl, %edi +# CHECK-NEXT: 1.00 - rcrl %cl, %edi +# CHECK-NEXT: 1.00 - rcll %cl, (%rax) +# CHECK-NEXT: 1.00 - rcrl %cl, (%rax) +# CHECK-NEXT: 1.00 - rclq %rdi +# CHECK-NEXT: 1.00 - rcrq %rdi +# CHECK-NEXT: 1.00 - rclq (%rax) +# CHECK-NEXT: 1.00 - rcrq (%rax) +# CHECK-NEXT: 1.00 - rclq $7, %rdi +# CHECK-NEXT: 1.00 - rcrq $7, %rdi +# CHECK-NEXT: 1.00 - rclq $7, (%rax) +# CHECK-NEXT: 1.00 - rcrq $7, (%rax) +# CHECK-NEXT: 1.00 - rclq %cl, %rdi +# CHECK-NEXT: 1.00 - rcrq %cl, %rdi +# CHECK-NEXT: 1.00 - rclq %cl, (%rax) +# CHECK-NEXT: 1.00 - rcrq %cl, (%rax) +# CHECK-NEXT: 1.00 - rolb %dil +# CHECK-NEXT: 1.00 - rorb %dil +# CHECK-NEXT: 1.00 - rolb (%rax) +# CHECK-NEXT: 1.00 - rorb (%rax) +# CHECK-NEXT: 1.00 - rolb $7, %dil +# CHECK-NEXT: 1.00 - rorb $7, %dil +# CHECK-NEXT: 1.00 - rolb $7, (%rax) +# CHECK-NEXT: 1.00 - rorb $7, (%rax) +# CHECK-NEXT: 1.00 - rolb %cl, %dil +# CHECK-NEXT: 1.00 - rorb %cl, %dil +# CHECK-NEXT: 1.00 - rolb %cl, (%rax) +# CHECK-NEXT: 1.00 - rorb %cl, (%rax) +# CHECK-NEXT: 1.00 - rolw %di +# CHECK-NEXT: 1.00 - rorw %di +# CHECK-NEXT: 1.00 - rolw (%rax) +# CHECK-NEXT: 1.00 - rorw (%rax) +# CHECK-NEXT: 1.00 - rolw $7, %di +# CHECK-NEXT: 1.00 - rorw $7, %di +# CHECK-NEXT: 1.00 - rolw $7, (%rax) +# CHECK-NEXT: 1.00 - rorw $7, (%rax) +# CHECK-NEXT: 1.00 - rolw %cl, %di +# CHECK-NEXT: 1.00 - rorw %cl, %di +# CHECK-NEXT: 1.00 - rolw %cl, (%rax) +# CHECK-NEXT: 1.00 - rorw %cl, (%rax) +# CHECK-NEXT: 1.00 - roll %edi +# CHECK-NEXT: 1.00 - rorl %edi +# CHECK-NEXT: 1.00 - roll (%rax) +# CHECK-NEXT: 1.00 - rorl (%rax) +# CHECK-NEXT: 1.00 - roll $7, %edi +# CHECK-NEXT: 1.00 - rorl $7, %edi +# CHECK-NEXT: 1.00 - roll $7, (%rax) +# CHECK-NEXT: 1.00 - rorl $7, (%rax) +# CHECK-NEXT: 1.00 - roll %cl, %edi +# CHECK-NEXT: 1.00 - rorl %cl, %edi +# CHECK-NEXT: 1.00 - roll %cl, (%rax) +# CHECK-NEXT: 1.00 - rorl %cl, (%rax) +# CHECK-NEXT: 1.00 - rolq %rdi +# CHECK-NEXT: 1.00 - rorq %rdi +# CHECK-NEXT: 1.00 - rolq (%rax) +# CHECK-NEXT: 1.00 - rorq (%rax) +# CHECK-NEXT: 1.00 - rolq $7, %rdi +# CHECK-NEXT: 1.00 - rorq $7, %rdi +# CHECK-NEXT: 1.00 - rolq $7, (%rax) +# CHECK-NEXT: 1.00 - rorq $7, (%rax) +# CHECK-NEXT: 1.00 - rolq %cl, %rdi +# CHECK-NEXT: 1.00 - rorq %cl, %rdi +# CHECK-NEXT: 1.00 - rolq %cl, (%rax) +# CHECK-NEXT: 1.00 - rorq %cl, (%rax) +# CHECK-NEXT: 1.00 - sarb %dil +# CHECK-NEXT: 1.00 - shlb %dil +# CHECK-NEXT: 1.00 - shrb %dil +# CHECK-NEXT: 1.00 - sarb (%rax) +# CHECK-NEXT: 1.00 - shlb (%rax) +# CHECK-NEXT: 1.00 - shrb (%rax) +# CHECK-NEXT: 1.00 - sarb $7, %dil +# CHECK-NEXT: 1.00 - shlb $7, %dil +# CHECK-NEXT: 1.00 - shrb $7, %dil +# CHECK-NEXT: 1.00 - sarb $7, (%rax) +# CHECK-NEXT: 1.00 - shlb $7, (%rax) +# CHECK-NEXT: 1.00 - shrb $7, (%rax) +# CHECK-NEXT: 1.00 - sarb %cl, %dil +# CHECK-NEXT: 1.00 - shlb %cl, %dil +# CHECK-NEXT: 1.00 - shrb %cl, %dil +# CHECK-NEXT: 1.00 - sarb %cl, (%rax) +# CHECK-NEXT: 1.00 - shlb %cl, (%rax) +# CHECK-NEXT: 1.00 - shrb %cl, (%rax) +# CHECK-NEXT: 1.00 - sarw %di +# CHECK-NEXT: 1.00 - shlw %di +# CHECK-NEXT: 1.00 - shrw %di +# CHECK-NEXT: 1.00 - sarw (%rax) +# CHECK-NEXT: 1.00 - shlw (%rax) +# CHECK-NEXT: 1.00 - shrw (%rax) +# CHECK-NEXT: 1.00 - sarw $7, %di +# CHECK-NEXT: 1.00 - shlw $7, %di +# CHECK-NEXT: 1.00 - shrw $7, %di +# CHECK-NEXT: 1.00 - sarw $7, (%rax) +# CHECK-NEXT: 1.00 - shlw $7, (%rax) +# CHECK-NEXT: 1.00 - shrw $7, (%rax) +# CHECK-NEXT: 1.00 - sarw %cl, %di +# CHECK-NEXT: 1.00 - shlw %cl, %di +# CHECK-NEXT: 1.00 - shrw %cl, %di +# CHECK-NEXT: 1.00 - sarw %cl, (%rax) +# CHECK-NEXT: 1.00 - shlw %cl, (%rax) +# CHECK-NEXT: 1.00 - shrw %cl, (%rax) +# CHECK-NEXT: 1.00 - sarl %edi +# CHECK-NEXT: 1.00 - shll %edi +# CHECK-NEXT: 1.00 - shrl %edi +# CHECK-NEXT: 1.00 - sarl (%rax) +# CHECK-NEXT: 1.00 - shll (%rax) +# CHECK-NEXT: 1.00 - shrl (%rax) +# CHECK-NEXT: 1.00 - sarl $7, %edi +# CHECK-NEXT: 1.00 - shll $7, %edi +# CHECK-NEXT: 1.00 - shrl $7, %edi +# CHECK-NEXT: 1.00 - sarl $7, (%rax) +# CHECK-NEXT: 1.00 - shll $7, (%rax) +# CHECK-NEXT: 1.00 - shrl $7, (%rax) +# CHECK-NEXT: 1.00 - sarl %cl, %edi +# CHECK-NEXT: 1.00 - shll %cl, %edi +# CHECK-NEXT: 1.00 - shrl %cl, %edi +# CHECK-NEXT: 1.00 - sarl %cl, (%rax) +# CHECK-NEXT: 1.00 - shll %cl, (%rax) +# CHECK-NEXT: 1.00 - shrl %cl, (%rax) +# CHECK-NEXT: 1.00 - sarq %rdi +# CHECK-NEXT: 1.00 - shlq %rdi +# CHECK-NEXT: 1.00 - shrq %rdi +# CHECK-NEXT: 1.00 - sarq (%rax) +# CHECK-NEXT: 1.00 - shlq (%rax) +# CHECK-NEXT: 1.00 - shrq (%rax) +# CHECK-NEXT: 1.00 - sarq $7, %rdi +# CHECK-NEXT: 1.00 - shlq $7, %rdi +# CHECK-NEXT: 1.00 - shrq $7, %rdi +# CHECK-NEXT: 1.00 - sarq $7, (%rax) +# CHECK-NEXT: 1.00 - shlq $7, (%rax) +# CHECK-NEXT: 1.00 - shrq $7, (%rax) +# CHECK-NEXT: 1.00 - sarq %cl, %rdi +# CHECK-NEXT: 1.00 - shlq %cl, %rdi +# CHECK-NEXT: 1.00 - shrq %cl, %rdi +# CHECK-NEXT: 1.00 - sarq %cl, (%rax) +# CHECK-NEXT: 1.00 - shlq %cl, (%rax) +# CHECK-NEXT: 1.00 - shrq %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 sbbb $7, %al +# CHECK-NEXT: 0.50 0.50 sbbb $7, %dil +# CHECK-NEXT: 1.00 - sbbb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 sbbb %dil, %dil +# CHECK-NEXT: 1.00 - sbbb %dil, (%rax) +# CHECK-NEXT: 1.00 - sbbb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 sbbw $511, %ax +# CHECK-NEXT: 0.50 0.50 sbbw $511, %di +# CHECK-NEXT: 1.00 - sbbw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 sbbw $7, %di +# CHECK-NEXT: 1.00 - sbbw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 sbbw %di, %di +# CHECK-NEXT: 1.00 - sbbw %di, (%rax) +# CHECK-NEXT: 1.00 - sbbw (%rax), %di +# CHECK-NEXT: 0.50 0.50 sbbl $665536, %eax +# CHECK-NEXT: 0.50 0.50 sbbl $665536, %edi +# CHECK-NEXT: 1.00 - sbbl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 sbbl $7, %edi +# CHECK-NEXT: 1.00 - sbbl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 sbbl %edi, %edi +# CHECK-NEXT: 1.00 - sbbl %edi, (%rax) +# CHECK-NEXT: 1.00 - sbbl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 sbbq $665536, %rax +# CHECK-NEXT: 0.50 0.50 sbbq $665536, %rdi +# CHECK-NEXT: 1.00 - sbbq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 sbbq $7, %rdi +# CHECK-NEXT: 1.00 - sbbq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 sbbq %rdi, %rdi +# CHECK-NEXT: 1.00 - sbbq %rdi, (%rax) +# CHECK-NEXT: 1.00 - sbbq (%rax), %rdi +# CHECK-NEXT: 3.00 3.00 shldw %cl, %si, %di +# CHECK-NEXT: 3.00 3.00 shrdw %cl, %si, %di +# CHECK-NEXT: 3.00 3.00 shldw %cl, %si, (%rax) +# CHECK-NEXT: 3.00 3.00 shrdw %cl, %si, (%rax) +# CHECK-NEXT: 3.00 3.00 shldw $7, %si, %di +# CHECK-NEXT: 3.00 3.00 shrdw $7, %si, %di +# CHECK-NEXT: 3.00 3.00 shldw $7, %si, (%rax) +# CHECK-NEXT: 3.00 3.00 shrdw $7, %si, (%rax) +# CHECK-NEXT: 1.00 1.00 shldl %cl, %esi, %edi +# CHECK-NEXT: 1.00 1.00 shrdl %cl, %esi, %edi +# CHECK-NEXT: 2.00 2.00 shldl %cl, %esi, (%rax) +# CHECK-NEXT: 2.00 2.00 shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 1.00 1.00 shldl $7, %esi, %edi +# CHECK-NEXT: 1.00 1.00 shrdl $7, %esi, %edi +# CHECK-NEXT: 2.00 2.00 shldl $7, %esi, (%rax) +# CHECK-NEXT: 2.00 2.00 shrdl $7, %esi, (%rax) +# CHECK-NEXT: 4.00 4.00 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 4.00 4.00 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 4.50 4.50 shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 4.50 4.50 shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 4.50 4.50 shldq $7, %rsi, %rdi +# CHECK-NEXT: 4.50 4.50 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 4.50 4.50 shldq $7, %rsi, (%rax) +# CHECK-NEXT: 4.50 4.50 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 subb $7, %al +# CHECK-NEXT: 0.50 0.50 subb $7, %dil +# CHECK-NEXT: 1.00 - subb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 subb %dil, %dil +# CHECK-NEXT: 1.00 - subb %dil, (%rax) +# CHECK-NEXT: 1.00 - subb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 subw $511, %ax +# CHECK-NEXT: 0.50 0.50 subw $511, %di +# CHECK-NEXT: 1.00 - subw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 subw $7, %di +# CHECK-NEXT: 1.00 - subw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 subw %di, %di +# CHECK-NEXT: 1.00 - subw %di, (%rax) +# CHECK-NEXT: 1.00 - subw (%rax), %di +# CHECK-NEXT: 0.50 0.50 subl $665536, %eax +# CHECK-NEXT: 0.50 0.50 subl $665536, %edi +# CHECK-NEXT: 1.00 - subl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 subl $7, %edi +# CHECK-NEXT: 1.00 - subl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 subl %edi, %edi +# CHECK-NEXT: 1.00 - subl %edi, (%rax) +# CHECK-NEXT: 1.00 - subl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 subq $665536, %rax +# CHECK-NEXT: 0.50 0.50 subq $665536, %rdi +# CHECK-NEXT: 1.00 - subq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 subq $7, %rdi +# CHECK-NEXT: 1.00 - subq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 subq %rdi, %rdi +# CHECK-NEXT: 1.00 - subq %rdi, (%rax) +# CHECK-NEXT: 1.00 - subq (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 xorb $7, %al +# CHECK-NEXT: 0.50 0.50 xorb $7, %dil +# CHECK-NEXT: 1.00 - xorb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 xorb %dil, %dil +# CHECK-NEXT: 1.00 - xorb %dil, (%rax) +# CHECK-NEXT: 1.00 - xorb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 xorw $511, %ax +# CHECK-NEXT: 0.50 0.50 xorw $511, %di +# CHECK-NEXT: 1.00 - xorw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 xorw $7, %di +# CHECK-NEXT: 1.00 - xorw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 xorw %di, %di +# CHECK-NEXT: 1.00 - xorw %di, (%rax) +# CHECK-NEXT: 1.00 - xorw (%rax), %di +# CHECK-NEXT: 0.50 0.50 xorl $665536, %eax +# CHECK-NEXT: 0.50 0.50 xorl $665536, %edi +# CHECK-NEXT: 1.00 - xorl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 xorl $7, %edi +# CHECK-NEXT: 1.00 - xorl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 xorl %edi, %edi +# CHECK-NEXT: 1.00 - xorl %edi, (%rax) +# CHECK-NEXT: 1.00 - xorl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 xorq $665536, %rax +# CHECK-NEXT: 0.50 0.50 xorq $665536, %rdi +# CHECK-NEXT: 1.00 - xorq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 xorq $7, %rdi +# CHECK-NEXT: 1.00 - xorq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 xorq %rdi, %rdi +# CHECK-NEXT: 1.00 - xorq %rdi, (%rax) +# CHECK-NEXT: 1.00 - xorq (%rax), %rdi diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s index 8346915..c18841d 100644 --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s @@ -205,312 +205,312 @@ fyl2xp1 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 99 49.50 * f2xm1 -# CHECK-NEXT: 1 1 1.00 * fabs -# CHECK-NEXT: 1 5 5.00 * fadd %st(0), %st(1) -# CHECK-NEXT: 1 5 5.00 * fadd %st(2) -# CHECK-NEXT: 1 5 5.00 * * fadds (%ecx) -# CHECK-NEXT: 1 5 5.00 * * faddl (%ecx) -# CHECK-NEXT: 1 5 5.00 * faddp %st(1) -# CHECK-NEXT: 1 5 5.00 * faddp %st(2) -# CHECK-NEXT: 1 5 5.00 * * fiadds (%ecx) -# CHECK-NEXT: 1 5 5.00 * * fiaddl (%ecx) -# CHECK-NEXT: 1 100 0.50 * fbld (%ecx) -# CHECK-NEXT: 1 100 0.50 * fbstp (%eax) -# CHECK-NEXT: 1 1 1.00 * fchs -# CHECK-NEXT: 1 25 12.50 * fnclex -# CHECK-NEXT: 1 9 4.50 * fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 * fcmove %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 * fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 * fcmovu %st(1), %st(0) -# CHECK-NEXT: 1 5 5.00 * fcom %st(1) -# CHECK-NEXT: 1 5 5.00 * fcom %st(3) -# CHECK-NEXT: 1 5 5.00 * fcoms (%ecx) -# CHECK-NEXT: 1 5 5.00 * fcoml (%eax) -# CHECK-NEXT: 1 5 5.00 * fcomp %st(1) -# CHECK-NEXT: 1 5 5.00 * fcomp %st(3) -# CHECK-NEXT: 1 5 5.00 * fcomps (%ecx) -# CHECK-NEXT: 1 5 5.00 * fcompl (%eax) -# CHECK-NEXT: 1 1 1.00 * fcompp -# CHECK-NEXT: 1 9 4.50 * fcomi %st(3) -# CHECK-NEXT: 1 9 4.50 * fcompi %st(3) -# CHECK-NEXT: 1 174 87.00 * fcos -# CHECK-NEXT: 1 1 0.50 * fdecstp -# CHECK-NEXT: 1 34 17.00 * fdiv %st(0), %st(1) -# CHECK-NEXT: 1 34 17.00 * fdiv %st(2) -# CHECK-NEXT: 1 34 17.00 * * fdivs (%ecx) -# CHECK-NEXT: 1 34 17.00 * * fdivl (%eax) -# CHECK-NEXT: 1 34 17.00 * fdivp %st(1) -# CHECK-NEXT: 1 34 17.00 * fdivp %st(2) -# CHECK-NEXT: 1 34 17.00 * * fidivs (%ecx) -# CHECK-NEXT: 1 34 17.00 * * fidivl (%eax) -# CHECK-NEXT: 1 34 17.00 * fdivr %st(0), %st(1) -# CHECK-NEXT: 1 34 17.00 * fdivr %st(2) -# CHECK-NEXT: 1 34 17.00 * * fdivrs (%ecx) -# CHECK-NEXT: 1 34 17.00 * * fdivrl (%eax) -# CHECK-NEXT: 1 34 17.00 * fdivrp %st(1) -# CHECK-NEXT: 1 34 17.00 * fdivrp %st(2) -# CHECK-NEXT: 1 34 17.00 * * fidivrs (%ecx) -# CHECK-NEXT: 1 34 17.00 * * fidivrl (%eax) -# CHECK-NEXT: 1 1 0.50 * ffree %st(0) -# CHECK-NEXT: 1 5 5.00 * ficoms (%ecx) -# CHECK-NEXT: 1 5 5.00 * ficoml (%eax) -# CHECK-NEXT: 1 5 5.00 * ficomps (%ecx) -# CHECK-NEXT: 1 5 5.00 * ficompl (%eax) -# CHECK-NEXT: 1 5 5.00 * * filds (%edx) -# CHECK-NEXT: 1 5 5.00 * * fildl (%ecx) -# CHECK-NEXT: 1 5 5.00 * * fildll (%eax) -# CHECK-NEXT: 1 1 0.50 * fincstp -# CHECK-NEXT: 1 63 31.50 * fninit -# CHECK-NEXT: 1 6 3.00 * * fists (%edx) -# CHECK-NEXT: 1 6 3.00 * * fistl (%ecx) -# CHECK-NEXT: 1 6 3.00 * * fistps (%edx) -# CHECK-NEXT: 1 6 3.00 * * fistpl (%ecx) -# CHECK-NEXT: 1 6 3.00 * * fistpll (%eax) -# CHECK-NEXT: 1 2 1.00 * * fisttps (%edx) -# CHECK-NEXT: 1 2 1.00 * * fisttpl (%ecx) -# CHECK-NEXT: 1 2 1.00 * * fisttpll (%eax) -# CHECK-NEXT: 1 1 1.00 * fld %st(0) -# CHECK-NEXT: 1 1 1.00 * * flds (%edx) -# CHECK-NEXT: 1 1 1.00 * * fldl (%ecx) -# CHECK-NEXT: 1 4 2.00 * * fldt (%eax) -# CHECK-NEXT: 1 5 2.50 * * fldcw (%eax) -# CHECK-NEXT: 1 100 0.50 * fldenv (%eax) -# CHECK-NEXT: 1 6 3.00 * fld1 -# CHECK-NEXT: 1 10 5.00 * fldl2e -# CHECK-NEXT: 1 10 5.00 * fldl2t -# CHECK-NEXT: 1 10 5.00 * fldlg2 -# CHECK-NEXT: 1 10 5.00 * fldln2 -# CHECK-NEXT: 1 10 5.00 * fldpi -# CHECK-NEXT: 1 1 0.50 * fldz -# CHECK-NEXT: 1 4 4.00 * fmul %st(0), %st(1) -# CHECK-NEXT: 1 4 4.00 * fmul %st(2) -# CHECK-NEXT: 1 4 4.00 * * fmuls (%ecx) -# CHECK-NEXT: 1 4 4.00 * * fmull (%eax) -# CHECK-NEXT: 1 4 4.00 * fmulp %st(1) -# CHECK-NEXT: 1 4 4.00 * fmulp %st(2) -# CHECK-NEXT: 1 4 4.00 * * fimuls (%ecx) -# CHECK-NEXT: 1 4 4.00 * * fimull (%eax) -# CHECK-NEXT: 1 1 0.50 * fnop -# CHECK-NEXT: 1 183 91.50 * fpatan -# CHECK-NEXT: 1 55 27.50 * fprem -# CHECK-NEXT: 1 71 35.50 * fprem1 -# CHECK-NEXT: 1 168 84.00 * fptan -# CHECK-NEXT: 1 46 23.00 * frndint -# CHECK-NEXT: 1 100 0.50 * frstor (%eax) -# CHECK-NEXT: 1 100 0.50 * fnsave (%eax) -# CHECK-NEXT: 1 77 38.50 * fscale -# CHECK-NEXT: 1 174 87.00 * fsin -# CHECK-NEXT: 1 174 87.00 * fsincos -# CHECK-NEXT: 1 71 35.50 * fsqrt -# CHECK-NEXT: 1 2 1.00 * fst %st(0) -# CHECK-NEXT: 1 2 1.00 * * fsts (%edx) -# CHECK-NEXT: 1 2 1.00 * * fstl (%ecx) -# CHECK-NEXT: 1 2 1.00 * fstp %st(0) -# CHECK-NEXT: 1 2 1.00 * * fstpl (%edx) -# CHECK-NEXT: 1 2 1.00 * * fstpl (%ecx) -# CHECK-NEXT: 1 5 2.50 * * fstpt (%eax) -# CHECK-NEXT: 1 8 4.00 * * fnstcw (%eax) -# CHECK-NEXT: 1 100 0.50 * fnstenv (%eax) -# CHECK-NEXT: 1 100 0.50 * fnstsw (%eax) -# CHECK-NEXT: 1 100 0.50 * frstor (%eax) -# CHECK-NEXT: 1 1 0.50 * wait -# CHECK-NEXT: 1 100 0.50 * fnsave (%eax) -# CHECK-NEXT: 1 5 5.00 * fsub %st(0), %st(1) -# CHECK-NEXT: 1 5 5.00 * fsub %st(2) -# CHECK-NEXT: 1 5 5.00 * * fsubs (%ecx) -# CHECK-NEXT: 1 5 5.00 * * fsubl (%eax) -# CHECK-NEXT: 1 5 5.00 * fsubp %st(1) -# CHECK-NEXT: 1 5 5.00 * fsubp %st(2) -# CHECK-NEXT: 1 5 5.00 * * fisubs (%ecx) -# CHECK-NEXT: 1 5 5.00 * * fisubl (%eax) -# CHECK-NEXT: 1 5 5.00 * fsubr %st(0), %st(1) -# CHECK-NEXT: 1 5 5.00 * fsubr %st(2) -# CHECK-NEXT: 1 5 5.00 * * fsubrs (%ecx) -# CHECK-NEXT: 1 5 5.00 * * fsubrl (%eax) -# CHECK-NEXT: 1 5 5.00 * fsubrp %st(1) -# CHECK-NEXT: 1 5 5.00 * fsubrp %st(2) -# CHECK-NEXT: 1 5 5.00 * * fisubrs (%ecx) -# CHECK-NEXT: 1 5 5.00 * * fisubrl (%eax) -# CHECK-NEXT: 1 9 4.50 * ftst -# CHECK-NEXT: 1 1 1.00 * fucom %st(1) -# CHECK-NEXT: 1 1 1.00 * fucom %st(3) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) -# CHECK-NEXT: 1 1 1.00 * fucompp -# CHECK-NEXT: 1 9 4.50 * fucomi %st(3) -# CHECK-NEXT: 1 9 4.50 * fucompi %st(3) -# CHECK-NEXT: 1 1 0.50 * wait -# CHECK-NEXT: 1 1 1.00 * fxam -# CHECK-NEXT: 1 1 1.00 * fxch %st(1) -# CHECK-NEXT: 1 1 1.00 * fxch %st(3) -# CHECK-NEXT: 1 141 70.50 * * * fxrstor (%eax) -# CHECK-NEXT: 1 140 70.00 * * * fxsave (%eax) -# CHECK-NEXT: 1 25 12.50 * fxtract -# CHECK-NEXT: 1 146 73.00 * fyl2x -# CHECK-NEXT: 1 147 73.50 * fyl2xp1 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 99 49.50 * f2xm1 +# CHECK-NEXT: 1 1 1.00 * fabs +# CHECK-NEXT: 1 5 5.00 * fadd %st(0), %st(1) +# CHECK-NEXT: 1 5 5.00 * fadd %st(2) +# CHECK-NEXT: 1 5 5.00 * * fadds (%ecx) +# CHECK-NEXT: 1 5 5.00 * * faddl (%ecx) +# CHECK-NEXT: 1 5 5.00 * faddp %st(1) +# CHECK-NEXT: 1 5 5.00 * faddp %st(2) +# CHECK-NEXT: 1 5 5.00 * * fiadds (%ecx) +# CHECK-NEXT: 1 5 5.00 * * fiaddl (%ecx) +# CHECK-NEXT: 1 100 0.50 * fbld (%ecx) +# CHECK-NEXT: 1 100 0.50 * fbstp (%eax) +# CHECK-NEXT: 1 1 1.00 * fchs +# CHECK-NEXT: 1 25 12.50 * fnclex +# CHECK-NEXT: 1 9 4.50 * fcmovb %st(1), %st(0) +# CHECK-NEXT: 1 9 4.50 * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 1 9 4.50 * fcmove %st(1), %st(0) +# CHECK-NEXT: 1 9 4.50 * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 1 9 4.50 * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 1 9 4.50 * fcmovne %st(1), %st(0) +# CHECK-NEXT: 1 9 4.50 * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 1 9 4.50 * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 5 5.00 * fcom %st(1) +# CHECK-NEXT: 1 5 5.00 * fcom %st(3) +# CHECK-NEXT: 1 5 5.00 * fcoms (%ecx) +# CHECK-NEXT: 1 5 5.00 * fcoml (%eax) +# CHECK-NEXT: 1 5 5.00 * fcomp %st(1) +# CHECK-NEXT: 1 5 5.00 * fcomp %st(3) +# CHECK-NEXT: 1 5 5.00 * fcomps (%ecx) +# CHECK-NEXT: 1 5 5.00 * fcompl (%eax) +# CHECK-NEXT: 1 1 1.00 * fcompp +# CHECK-NEXT: 1 9 4.50 * fcomi %st(3) +# CHECK-NEXT: 1 9 4.50 * fcompi %st(3) +# CHECK-NEXT: 1 174 87.00 * fcos +# CHECK-NEXT: 1 1 0.50 * fdecstp +# CHECK-NEXT: 1 34 17.00 * fdiv %st(0), %st(1) +# CHECK-NEXT: 1 34 17.00 * fdiv %st(2) +# CHECK-NEXT: 1 34 17.00 * * fdivs (%ecx) +# CHECK-NEXT: 1 34 17.00 * * fdivl (%eax) +# CHECK-NEXT: 1 34 17.00 * fdivp %st(1) +# CHECK-NEXT: 1 34 17.00 * fdivp %st(2) +# CHECK-NEXT: 1 34 17.00 * * fidivs (%ecx) +# CHECK-NEXT: 1 34 17.00 * * fidivl (%eax) +# CHECK-NEXT: 1 34 17.00 * fdivr %st(0), %st(1) +# CHECK-NEXT: 1 34 17.00 * fdivr %st(2) +# CHECK-NEXT: 1 34 17.00 * * fdivrs (%ecx) +# CHECK-NEXT: 1 34 17.00 * * fdivrl (%eax) +# CHECK-NEXT: 1 34 17.00 * fdivrp %st(1) +# CHECK-NEXT: 1 34 17.00 * fdivrp %st(2) +# CHECK-NEXT: 1 34 17.00 * * fidivrs (%ecx) +# CHECK-NEXT: 1 34 17.00 * * fidivrl (%eax) +# CHECK-NEXT: 1 1 0.50 * ffree %st(0) +# CHECK-NEXT: 1 5 5.00 * ficoms (%ecx) +# CHECK-NEXT: 1 5 5.00 * ficoml (%eax) +# CHECK-NEXT: 1 5 5.00 * ficomps (%ecx) +# CHECK-NEXT: 1 5 5.00 * ficompl (%eax) +# CHECK-NEXT: 1 5 5.00 * * filds (%edx) +# CHECK-NEXT: 1 5 5.00 * * fildl (%ecx) +# CHECK-NEXT: 1 5 5.00 * * fildll (%eax) +# CHECK-NEXT: 1 1 0.50 * fincstp +# CHECK-NEXT: 1 63 31.50 * fninit +# CHECK-NEXT: 1 6 3.00 * * fists (%edx) +# CHECK-NEXT: 1 6 3.00 * * fistl (%ecx) +# CHECK-NEXT: 1 6 3.00 * * fistps (%edx) +# CHECK-NEXT: 1 6 3.00 * * fistpl (%ecx) +# CHECK-NEXT: 1 6 3.00 * * fistpll (%eax) +# CHECK-NEXT: 1 2 1.00 * * fisttps (%edx) +# CHECK-NEXT: 1 2 1.00 * * fisttpl (%ecx) +# CHECK-NEXT: 1 2 1.00 * * fisttpll (%eax) +# CHECK-NEXT: 1 1 1.00 * fld %st(0) +# CHECK-NEXT: 1 1 1.00 * * flds (%edx) +# CHECK-NEXT: 1 1 1.00 * * fldl (%ecx) +# CHECK-NEXT: 1 4 2.00 * * fldt (%eax) +# CHECK-NEXT: 1 5 2.50 * * fldcw (%eax) +# CHECK-NEXT: 1 100 0.50 * fldenv (%eax) +# CHECK-NEXT: 1 6 3.00 * fld1 +# CHECK-NEXT: 1 10 5.00 * fldl2e +# CHECK-NEXT: 1 10 5.00 * fldl2t +# CHECK-NEXT: 1 10 5.00 * fldlg2 +# CHECK-NEXT: 1 10 5.00 * fldln2 +# CHECK-NEXT: 1 10 5.00 * fldpi +# CHECK-NEXT: 1 1 0.50 * fldz +# CHECK-NEXT: 1 4 4.00 * fmul %st(0), %st(1) +# CHECK-NEXT: 1 4 4.00 * fmul %st(2) +# CHECK-NEXT: 1 4 4.00 * * fmuls (%ecx) +# CHECK-NEXT: 1 4 4.00 * * fmull (%eax) +# CHECK-NEXT: 1 4 4.00 * fmulp %st(1) +# CHECK-NEXT: 1 4 4.00 * fmulp %st(2) +# CHECK-NEXT: 1 4 4.00 * * fimuls (%ecx) +# CHECK-NEXT: 1 4 4.00 * * fimull (%eax) +# CHECK-NEXT: 1 1 0.50 * fnop +# CHECK-NEXT: 1 183 91.50 * fpatan +# CHECK-NEXT: 1 55 27.50 * fprem +# CHECK-NEXT: 1 71 35.50 * fprem1 +# CHECK-NEXT: 1 168 84.00 * fptan +# CHECK-NEXT: 1 46 23.00 * frndint +# CHECK-NEXT: 1 100 0.50 * frstor (%eax) +# CHECK-NEXT: 1 100 0.50 * fnsave (%eax) +# CHECK-NEXT: 1 77 38.50 * fscale +# CHECK-NEXT: 1 174 87.00 * fsin +# CHECK-NEXT: 1 174 87.00 * fsincos +# CHECK-NEXT: 1 71 35.50 * fsqrt +# CHECK-NEXT: 1 2 1.00 * fst %st(0) +# CHECK-NEXT: 1 2 1.00 * * fsts (%edx) +# CHECK-NEXT: 1 2 1.00 * * fstl (%ecx) +# CHECK-NEXT: 1 2 1.00 * fstp %st(0) +# CHECK-NEXT: 1 2 1.00 * * fstpl (%edx) +# CHECK-NEXT: 1 2 1.00 * * fstpl (%ecx) +# CHECK-NEXT: 1 5 2.50 * * fstpt (%eax) +# CHECK-NEXT: 1 8 4.00 * * fnstcw (%eax) +# CHECK-NEXT: 1 100 0.50 * fnstenv (%eax) +# CHECK-NEXT: 1 100 0.50 * fnstsw (%eax) +# CHECK-NEXT: 1 100 0.50 * frstor (%eax) +# CHECK-NEXT: 1 1 0.50 * wait +# CHECK-NEXT: 1 100 0.50 * fnsave (%eax) +# CHECK-NEXT: 1 5 5.00 * fsub %st(0), %st(1) +# CHECK-NEXT: 1 5 5.00 * fsub %st(2) +# CHECK-NEXT: 1 5 5.00 * * fsubs (%ecx) +# CHECK-NEXT: 1 5 5.00 * * fsubl (%eax) +# CHECK-NEXT: 1 5 5.00 * fsubp %st(1) +# CHECK-NEXT: 1 5 5.00 * fsubp %st(2) +# CHECK-NEXT: 1 5 5.00 * * fisubs (%ecx) +# CHECK-NEXT: 1 5 5.00 * * fisubl (%eax) +# CHECK-NEXT: 1 5 5.00 * fsubr %st(0), %st(1) +# CHECK-NEXT: 1 5 5.00 * fsubr %st(2) +# CHECK-NEXT: 1 5 5.00 * * fsubrs (%ecx) +# CHECK-NEXT: 1 5 5.00 * * fsubrl (%eax) +# CHECK-NEXT: 1 5 5.00 * fsubrp %st(1) +# CHECK-NEXT: 1 5 5.00 * fsubrp %st(2) +# CHECK-NEXT: 1 5 5.00 * * fisubrs (%ecx) +# CHECK-NEXT: 1 5 5.00 * * fisubrl (%eax) +# CHECK-NEXT: 1 9 4.50 * ftst +# CHECK-NEXT: 1 1 1.00 * fucom %st(1) +# CHECK-NEXT: 1 1 1.00 * fucom %st(3) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) +# CHECK-NEXT: 1 1 1.00 * fucompp +# CHECK-NEXT: 1 9 4.50 * fucomi %st(3) +# CHECK-NEXT: 1 9 4.50 * fucompi %st(3) +# CHECK-NEXT: 1 1 0.50 * wait +# CHECK-NEXT: 1 1 1.00 * fxam +# CHECK-NEXT: 1 1 1.00 * fxch %st(1) +# CHECK-NEXT: 1 1 1.00 * fxch %st(3) +# CHECK-NEXT: 1 141 70.50 * * * fxrstor (%eax) +# CHECK-NEXT: 1 140 70.00 * * * fxsave (%eax) +# CHECK-NEXT: 1 25 12.50 * fxtract +# CHECK-NEXT: 1 146 73.00 * fyl2x +# CHECK-NEXT: 1 147 73.50 * fyl2xp1 # CHECK: Resources: -# CHECK-NEXT: [0] - AtomPort0 -# CHECK-NEXT: [1] - AtomPort1 +# CHECK-NEXT: [0] - AtomPort0 +# CHECK-NEXT: [1] - AtomPort1 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] # CHECK-NEXT: 1624.00 1416.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] Instructions: -# CHECK-NEXT: 49.50 49.50 f2xm1 -# CHECK-NEXT: - 1.00 fabs -# CHECK-NEXT: 5.00 - fadd %st(0), %st(1) -# CHECK-NEXT: 5.00 - fadd %st(2) -# CHECK-NEXT: 5.00 - fadds (%ecx) -# CHECK-NEXT: 5.00 - faddl (%ecx) -# CHECK-NEXT: 5.00 - faddp %st(1) -# CHECK-NEXT: 5.00 - faddp %st(2) -# CHECK-NEXT: 5.00 - fiadds (%ecx) -# CHECK-NEXT: 5.00 - fiaddl (%ecx) -# CHECK-NEXT: 0.50 0.50 fbld (%ecx) -# CHECK-NEXT: 0.50 0.50 fbstp (%eax) -# CHECK-NEXT: - 1.00 fchs -# CHECK-NEXT: 12.50 12.50 fnclex -# CHECK-NEXT: 4.50 4.50 fcmovb %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovbe %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmove %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovnb %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovne %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovnu %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovu %st(1), %st(0) -# CHECK-NEXT: 5.00 - fcom %st(1) -# CHECK-NEXT: 5.00 - fcom %st(3) -# CHECK-NEXT: 5.00 - fcoms (%ecx) -# CHECK-NEXT: 5.00 - fcoml (%eax) -# CHECK-NEXT: 5.00 - fcomp %st(1) -# CHECK-NEXT: 5.00 - fcomp %st(3) -# CHECK-NEXT: 5.00 - fcomps (%ecx) -# CHECK-NEXT: 5.00 - fcompl (%eax) -# CHECK-NEXT: - 1.00 fcompp -# CHECK-NEXT: 4.50 4.50 fcomi %st(3) -# CHECK-NEXT: 4.50 4.50 fcompi %st(3) -# CHECK-NEXT: 87.00 87.00 fcos -# CHECK-NEXT: 0.50 0.50 fdecstp -# CHECK-NEXT: 17.00 17.00 fdiv %st(0), %st(1) -# CHECK-NEXT: 17.00 17.00 fdiv %st(2) -# CHECK-NEXT: 17.00 17.00 fdivs (%ecx) -# CHECK-NEXT: 17.00 17.00 fdivl (%eax) -# CHECK-NEXT: 17.00 17.00 fdivp %st(1) -# CHECK-NEXT: 17.00 17.00 fdivp %st(2) -# CHECK-NEXT: 17.00 17.00 fidivs (%ecx) -# CHECK-NEXT: 17.00 17.00 fidivl (%eax) -# CHECK-NEXT: 17.00 17.00 fdivr %st(0), %st(1) -# CHECK-NEXT: 17.00 17.00 fdivr %st(2) -# CHECK-NEXT: 17.00 17.00 fdivrs (%ecx) -# CHECK-NEXT: 17.00 17.00 fdivrl (%eax) -# CHECK-NEXT: 17.00 17.00 fdivrp %st(1) -# CHECK-NEXT: 17.00 17.00 fdivrp %st(2) -# CHECK-NEXT: 17.00 17.00 fidivrs (%ecx) -# CHECK-NEXT: 17.00 17.00 fidivrl (%eax) -# CHECK-NEXT: 0.50 0.50 ffree %st(0) -# CHECK-NEXT: 5.00 - ficoms (%ecx) -# CHECK-NEXT: 5.00 - ficoml (%eax) -# CHECK-NEXT: 5.00 - ficomps (%ecx) -# CHECK-NEXT: 5.00 - ficompl (%eax) -# CHECK-NEXT: 5.00 5.00 filds (%edx) -# CHECK-NEXT: 5.00 5.00 fildl (%ecx) -# CHECK-NEXT: 5.00 5.00 fildll (%eax) -# CHECK-NEXT: 0.50 0.50 fincstp -# CHECK-NEXT: 31.50 31.50 fninit -# CHECK-NEXT: 3.00 3.00 fists (%edx) -# CHECK-NEXT: 3.00 3.00 fistl (%ecx) -# CHECK-NEXT: 3.00 3.00 fistps (%edx) -# CHECK-NEXT: 3.00 3.00 fistpl (%ecx) -# CHECK-NEXT: 3.00 3.00 fistpll (%eax) -# CHECK-NEXT: 1.00 1.00 fisttps (%edx) -# CHECK-NEXT: 1.00 1.00 fisttpl (%ecx) -# CHECK-NEXT: 1.00 1.00 fisttpll (%eax) -# CHECK-NEXT: 1.00 - fld %st(0) -# CHECK-NEXT: 1.00 - flds (%edx) -# CHECK-NEXT: 1.00 - fldl (%ecx) -# CHECK-NEXT: 2.00 2.00 fldt (%eax) -# CHECK-NEXT: 2.50 2.50 fldcw (%eax) -# CHECK-NEXT: 0.50 0.50 fldenv (%eax) -# CHECK-NEXT: 3.00 3.00 fld1 -# CHECK-NEXT: 5.00 5.00 fldl2e -# CHECK-NEXT: 5.00 5.00 fldl2t -# CHECK-NEXT: 5.00 5.00 fldlg2 -# CHECK-NEXT: 5.00 5.00 fldln2 -# CHECK-NEXT: 5.00 5.00 fldpi -# CHECK-NEXT: 0.50 0.50 fldz -# CHECK-NEXT: 4.00 - fmul %st(0), %st(1) -# CHECK-NEXT: 4.00 - fmul %st(2) -# CHECK-NEXT: 4.00 - fmuls (%ecx) -# CHECK-NEXT: 4.00 - fmull (%eax) -# CHECK-NEXT: 4.00 - fmulp %st(1) -# CHECK-NEXT: 4.00 - fmulp %st(2) -# CHECK-NEXT: 4.00 - fimuls (%ecx) -# CHECK-NEXT: 4.00 - fimull (%eax) -# CHECK-NEXT: 0.50 0.50 fnop -# CHECK-NEXT: 91.50 91.50 fpatan -# CHECK-NEXT: 27.50 27.50 fprem -# CHECK-NEXT: 35.50 35.50 fprem1 -# CHECK-NEXT: 84.00 84.00 fptan -# CHECK-NEXT: 23.00 23.00 frndint -# CHECK-NEXT: 0.50 0.50 frstor (%eax) -# CHECK-NEXT: 0.50 0.50 fnsave (%eax) -# CHECK-NEXT: 38.50 38.50 fscale -# CHECK-NEXT: 87.00 87.00 fsin -# CHECK-NEXT: 87.00 87.00 fsincos -# CHECK-NEXT: 35.50 35.50 fsqrt -# CHECK-NEXT: 1.00 1.00 fst %st(0) -# CHECK-NEXT: 1.00 1.00 fsts (%edx) -# CHECK-NEXT: 1.00 1.00 fstl (%ecx) -# CHECK-NEXT: 1.00 1.00 fstp %st(0) -# CHECK-NEXT: 1.00 1.00 fstpl (%edx) -# CHECK-NEXT: 1.00 1.00 fstpl (%ecx) -# CHECK-NEXT: 2.50 2.50 fstpt (%eax) -# CHECK-NEXT: 4.00 4.00 fnstcw (%eax) -# CHECK-NEXT: 0.50 0.50 fnstenv (%eax) -# CHECK-NEXT: 0.50 0.50 fnstsw (%eax) -# CHECK-NEXT: 0.50 0.50 frstor (%eax) -# CHECK-NEXT: 0.50 0.50 wait -# CHECK-NEXT: 0.50 0.50 fnsave (%eax) -# CHECK-NEXT: 5.00 - fsub %st(0), %st(1) -# CHECK-NEXT: 5.00 - fsub %st(2) -# CHECK-NEXT: 5.00 - fsubs (%ecx) -# CHECK-NEXT: 5.00 - fsubl (%eax) -# CHECK-NEXT: 5.00 - fsubp %st(1) -# CHECK-NEXT: 5.00 - fsubp %st(2) -# CHECK-NEXT: 5.00 - fisubs (%ecx) -# CHECK-NEXT: 5.00 - fisubl (%eax) -# CHECK-NEXT: 5.00 - fsubr %st(0), %st(1) -# CHECK-NEXT: 5.00 - fsubr %st(2) -# CHECK-NEXT: 5.00 - fsubrs (%ecx) -# CHECK-NEXT: 5.00 - fsubrl (%eax) -# CHECK-NEXT: 5.00 - fsubrp %st(1) -# CHECK-NEXT: 5.00 - fsubrp %st(2) -# CHECK-NEXT: 5.00 - fisubrs (%ecx) -# CHECK-NEXT: 5.00 - fisubrl (%eax) -# CHECK-NEXT: 4.50 4.50 ftst -# CHECK-NEXT: - 1.00 fucom %st(1) -# CHECK-NEXT: - 1.00 fucom %st(3) -# CHECK-NEXT: - 1.00 fucomp %st(1) -# CHECK-NEXT: - 1.00 fucomp %st(3) -# CHECK-NEXT: - 1.00 fucompp -# CHECK-NEXT: 4.50 4.50 fucomi %st(3) -# CHECK-NEXT: 4.50 4.50 fucompi %st(3) -# CHECK-NEXT: 0.50 0.50 wait -# CHECK-NEXT: 1.00 - fxam -# CHECK-NEXT: 1.00 1.00 fxch %st(1) -# CHECK-NEXT: 1.00 1.00 fxch %st(3) -# CHECK-NEXT: 70.50 70.50 fxrstor (%eax) -# CHECK-NEXT: 70.00 70.00 fxsave (%eax) -# CHECK-NEXT: 12.50 12.50 fxtract -# CHECK-NEXT: 73.00 73.00 fyl2x -# CHECK-NEXT: 73.50 73.50 fyl2xp1 +# CHECK-NEXT: [0] [1] Instructions: +# CHECK-NEXT: 49.50 49.50 f2xm1 +# CHECK-NEXT: - 1.00 fabs +# CHECK-NEXT: 5.00 - fadd %st(0), %st(1) +# CHECK-NEXT: 5.00 - fadd %st(2) +# CHECK-NEXT: 5.00 - fadds (%ecx) +# CHECK-NEXT: 5.00 - faddl (%ecx) +# CHECK-NEXT: 5.00 - faddp %st(1) +# CHECK-NEXT: 5.00 - faddp %st(2) +# CHECK-NEXT: 5.00 - fiadds (%ecx) +# CHECK-NEXT: 5.00 - fiaddl (%ecx) +# CHECK-NEXT: 0.50 0.50 fbld (%ecx) +# CHECK-NEXT: 0.50 0.50 fbstp (%eax) +# CHECK-NEXT: - 1.00 fchs +# CHECK-NEXT: 12.50 12.50 fnclex +# CHECK-NEXT: 4.50 4.50 fcmovb %st(1), %st(0) +# CHECK-NEXT: 4.50 4.50 fcmovbe %st(1), %st(0) +# CHECK-NEXT: 4.50 4.50 fcmove %st(1), %st(0) +# CHECK-NEXT: 4.50 4.50 fcmovnb %st(1), %st(0) +# CHECK-NEXT: 4.50 4.50 fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 4.50 4.50 fcmovne %st(1), %st(0) +# CHECK-NEXT: 4.50 4.50 fcmovnu %st(1), %st(0) +# CHECK-NEXT: 4.50 4.50 fcmovu %st(1), %st(0) +# CHECK-NEXT: 5.00 - fcom %st(1) +# CHECK-NEXT: 5.00 - fcom %st(3) +# CHECK-NEXT: 5.00 - fcoms (%ecx) +# CHECK-NEXT: 5.00 - fcoml (%eax) +# CHECK-NEXT: 5.00 - fcomp %st(1) +# CHECK-NEXT: 5.00 - fcomp %st(3) +# CHECK-NEXT: 5.00 - fcomps (%ecx) +# CHECK-NEXT: 5.00 - fcompl (%eax) +# CHECK-NEXT: - 1.00 fcompp +# CHECK-NEXT: 4.50 4.50 fcomi %st(3) +# CHECK-NEXT: 4.50 4.50 fcompi %st(3) +# CHECK-NEXT: 87.00 87.00 fcos +# CHECK-NEXT: 0.50 0.50 fdecstp +# CHECK-NEXT: 17.00 17.00 fdiv %st(0), %st(1) +# CHECK-NEXT: 17.00 17.00 fdiv %st(2) +# CHECK-NEXT: 17.00 17.00 fdivs (%ecx) +# CHECK-NEXT: 17.00 17.00 fdivl (%eax) +# CHECK-NEXT: 17.00 17.00 fdivp %st(1) +# CHECK-NEXT: 17.00 17.00 fdivp %st(2) +# CHECK-NEXT: 17.00 17.00 fidivs (%ecx) +# CHECK-NEXT: 17.00 17.00 fidivl (%eax) +# CHECK-NEXT: 17.00 17.00 fdivr %st(0), %st(1) +# CHECK-NEXT: 17.00 17.00 fdivr %st(2) +# CHECK-NEXT: 17.00 17.00 fdivrs (%ecx) +# CHECK-NEXT: 17.00 17.00 fdivrl (%eax) +# CHECK-NEXT: 17.00 17.00 fdivrp %st(1) +# CHECK-NEXT: 17.00 17.00 fdivrp %st(2) +# CHECK-NEXT: 17.00 17.00 fidivrs (%ecx) +# CHECK-NEXT: 17.00 17.00 fidivrl (%eax) +# CHECK-NEXT: 0.50 0.50 ffree %st(0) +# CHECK-NEXT: 5.00 - ficoms (%ecx) +# CHECK-NEXT: 5.00 - ficoml (%eax) +# CHECK-NEXT: 5.00 - ficomps (%ecx) +# CHECK-NEXT: 5.00 - ficompl (%eax) +# CHECK-NEXT: 5.00 5.00 filds (%edx) +# CHECK-NEXT: 5.00 5.00 fildl (%ecx) +# CHECK-NEXT: 5.00 5.00 fildll (%eax) +# CHECK-NEXT: 0.50 0.50 fincstp +# CHECK-NEXT: 31.50 31.50 fninit +# CHECK-NEXT: 3.00 3.00 fists (%edx) +# CHECK-NEXT: 3.00 3.00 fistl (%ecx) +# CHECK-NEXT: 3.00 3.00 fistps (%edx) +# CHECK-NEXT: 3.00 3.00 fistpl (%ecx) +# CHECK-NEXT: 3.00 3.00 fistpll (%eax) +# CHECK-NEXT: 1.00 1.00 fisttps (%edx) +# CHECK-NEXT: 1.00 1.00 fisttpl (%ecx) +# CHECK-NEXT: 1.00 1.00 fisttpll (%eax) +# CHECK-NEXT: 1.00 - fld %st(0) +# CHECK-NEXT: 1.00 - flds (%edx) +# CHECK-NEXT: 1.00 - fldl (%ecx) +# CHECK-NEXT: 2.00 2.00 fldt (%eax) +# CHECK-NEXT: 2.50 2.50 fldcw (%eax) +# CHECK-NEXT: 0.50 0.50 fldenv (%eax) +# CHECK-NEXT: 3.00 3.00 fld1 +# CHECK-NEXT: 5.00 5.00 fldl2e +# CHECK-NEXT: 5.00 5.00 fldl2t +# CHECK-NEXT: 5.00 5.00 fldlg2 +# CHECK-NEXT: 5.00 5.00 fldln2 +# CHECK-NEXT: 5.00 5.00 fldpi +# CHECK-NEXT: 0.50 0.50 fldz +# CHECK-NEXT: 4.00 - fmul %st(0), %st(1) +# CHECK-NEXT: 4.00 - fmul %st(2) +# CHECK-NEXT: 4.00 - fmuls (%ecx) +# CHECK-NEXT: 4.00 - fmull (%eax) +# CHECK-NEXT: 4.00 - fmulp %st(1) +# CHECK-NEXT: 4.00 - fmulp %st(2) +# CHECK-NEXT: 4.00 - fimuls (%ecx) +# CHECK-NEXT: 4.00 - fimull (%eax) +# CHECK-NEXT: 0.50 0.50 fnop +# CHECK-NEXT: 91.50 91.50 fpatan +# CHECK-NEXT: 27.50 27.50 fprem +# CHECK-NEXT: 35.50 35.50 fprem1 +# CHECK-NEXT: 84.00 84.00 fptan +# CHECK-NEXT: 23.00 23.00 frndint +# CHECK-NEXT: 0.50 0.50 frstor (%eax) +# CHECK-NEXT: 0.50 0.50 fnsave (%eax) +# CHECK-NEXT: 38.50 38.50 fscale +# CHECK-NEXT: 87.00 87.00 fsin +# CHECK-NEXT: 87.00 87.00 fsincos +# CHECK-NEXT: 35.50 35.50 fsqrt +# CHECK-NEXT: 1.00 1.00 fst %st(0) +# CHECK-NEXT: 1.00 1.00 fsts (%edx) +# CHECK-NEXT: 1.00 1.00 fstl (%ecx) +# CHECK-NEXT: 1.00 1.00 fstp %st(0) +# CHECK-NEXT: 1.00 1.00 fstpl (%edx) +# CHECK-NEXT: 1.00 1.00 fstpl (%ecx) +# CHECK-NEXT: 2.50 2.50 fstpt (%eax) +# CHECK-NEXT: 4.00 4.00 fnstcw (%eax) +# CHECK-NEXT: 0.50 0.50 fnstenv (%eax) +# CHECK-NEXT: 0.50 0.50 fnstsw (%eax) +# CHECK-NEXT: 0.50 0.50 frstor (%eax) +# CHECK-NEXT: 0.50 0.50 wait +# CHECK-NEXT: 0.50 0.50 fnsave (%eax) +# CHECK-NEXT: 5.00 - fsub %st(0), %st(1) +# CHECK-NEXT: 5.00 - fsub %st(2) +# CHECK-NEXT: 5.00 - fsubs (%ecx) +# CHECK-NEXT: 5.00 - fsubl (%eax) +# CHECK-NEXT: 5.00 - fsubp %st(1) +# CHECK-NEXT: 5.00 - fsubp %st(2) +# CHECK-NEXT: 5.00 - fisubs (%ecx) +# CHECK-NEXT: 5.00 - fisubl (%eax) +# CHECK-NEXT: 5.00 - fsubr %st(0), %st(1) +# CHECK-NEXT: 5.00 - fsubr %st(2) +# CHECK-NEXT: 5.00 - fsubrs (%ecx) +# CHECK-NEXT: 5.00 - fsubrl (%eax) +# CHECK-NEXT: 5.00 - fsubrp %st(1) +# CHECK-NEXT: 5.00 - fsubrp %st(2) +# CHECK-NEXT: 5.00 - fisubrs (%ecx) +# CHECK-NEXT: 5.00 - fisubrl (%eax) +# CHECK-NEXT: 4.50 4.50 ftst +# CHECK-NEXT: - 1.00 fucom %st(1) +# CHECK-NEXT: - 1.00 fucom %st(3) +# CHECK-NEXT: - 1.00 fucomp %st(1) +# CHECK-NEXT: - 1.00 fucomp %st(3) +# CHECK-NEXT: - 1.00 fucompp +# CHECK-NEXT: 4.50 4.50 fucomi %st(3) +# CHECK-NEXT: 4.50 4.50 fucompi %st(3) +# CHECK-NEXT: 0.50 0.50 wait +# CHECK-NEXT: 1.00 - fxam +# CHECK-NEXT: 1.00 1.00 fxch %st(1) +# CHECK-NEXT: 1.00 1.00 fxch %st(3) +# CHECK-NEXT: 70.50 70.50 fxrstor (%eax) +# CHECK-NEXT: 70.00 70.00 fxsave (%eax) +# CHECK-NEXT: 12.50 12.50 fxtract +# CHECK-NEXT: 73.00 73.00 fyl2x +# CHECK-NEXT: 73.50 73.50 fyl2xp1 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s index 5336995..e184d53 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s @@ -1017,1390 +1017,1390 @@ vzeroupper # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vaddsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 7 1.00 vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 12 1.00 * vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 12 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 12 1.00 * vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 12 1.00 * vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 14 2.00 vaesimc %xmm0, %xmm2 -# CHECK-NEXT: 3 19 2.00 * vaesimc (%rax), %xmm2 -# CHECK-NEXT: 11 29 7.00 vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: 11 33 7.00 * vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vandps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 2.00 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 8 2.00 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 2.00 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 8 2.00 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 6 0.50 * vbroadcastf128 (%rax), %ymm2 -# CHECK-NEXT: 1 6 0.50 * vbroadcastsd (%rax), %ymm2 -# CHECK-NEXT: 1 5 0.50 * vbroadcastss (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * vbroadcastss (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcmppd $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vcmppd $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcmpps $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vcmpps $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vcomisd (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vcomiss (%rax), %xmm1 -# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 3 9 1.00 * vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: 3 11 1.00 * vcvtdq2pd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: 2 4 1.00 vcvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2psy (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: 2 2 1.00 vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: 3 9 1.00 * vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: 2 4 1.00 vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * vcvtsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * vcvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 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: 2 4 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 3 5 2.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: 2 2 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 4 1.00 vcvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 vcvtss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * vcvtss2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * vcvtss2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vcvttps2dq (%rax), %ymm2 -# CHECK-NEXT: 2 4 1.00 vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * vcvttsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * vcvttsd2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 vcvttss2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 vcvttss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * vcvttss2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * vcvttss2si (%rax), %rcx -# CHECK-NEXT: 1 14 8.00 vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 19 8.00 * vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 23 16.00 vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 29 16.00 * vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 11 5.00 vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 16 5.00 * vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 17 10.00 vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 23 10.00 * vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 14 4.00 vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 19 8.00 * vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 11 3.00 vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 16 5.00 * vdivss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 9 1.00 vdppd $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 14 1.00 * vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 4 14 2.00 vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 5 19 2.00 * vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 4 14 2.00 vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 5 20 2.00 * vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: 2 2 1.00 vextractps $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: 3 5 2.00 vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 10 2.00 * vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 5 2.00 vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 11 2.00 * vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 5 2.00 vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 10 2.00 * vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 5 2.00 vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 11 2.00 * vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 5 2.00 vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 10 2.00 * vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 5 2.00 vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 11 2.00 * vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 5 2.00 vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 10 2.00 * vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 5 2.00 vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 11 2.00 * vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vinsertf128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 0.50 * vinsertf128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vinsertps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 * vlddqu (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %ymm2 -# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax) -# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 3 7 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 3 7 2.00 * vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 3 8 2.00 * vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 4 5 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 4 5 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 3 1.00 vmaxpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vmaxpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vmaxps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vmaxps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmaxss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vmaxss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vminpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vminpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vminps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vminps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vminss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vminss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovapd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovapd %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovapd (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vmovaps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovaps %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovaps %ymm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovaps (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vmovd %eax, %xmm2 -# CHECK-NEXT: 1 5 0.50 * vmovd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * vmovd %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 vmovddup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 0.50 * vmovddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovddup %ymm0, %ymm2 -# CHECK-NEXT: 1 6 0.50 * vmovddup (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.33 vmovdqa %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovdqa %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovdqa %ymm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovdqa (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.33 vmovdqu %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovdqu %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovdqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovdqu %ymm0, (%rax) -# CHECK-NEXT: 1 6 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: 2 1 1.00 * vmovhpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovhps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx -# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 vmovmskps %ymm0, %ecx -# CHECK-NEXT: 2 1 1.00 * vmovntdq %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * vmovntdq %ymm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovntdqa (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * vmovntdqa (%rax), %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovntpd %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * vmovntpd %ymm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * vmovntps %xmm0, (%rax) -# CHECK-NEXT: 2 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 5 0.50 * vmovq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovq %xmm0, %rcx -# CHECK-NEXT: 2 1 1.00 * vmovq %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 0.50 * vmovshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovshdup %ymm0, %ymm2 -# CHECK-NEXT: 1 6 0.50 * vmovshdup (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vmovsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 0.50 * vmovsldup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovsldup %ymm0, %ymm2 -# CHECK-NEXT: 1 6 0.50 * vmovsldup (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vmovss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovss %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovupd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovupd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovupd %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovupd (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vmovups %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovups %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovups (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovups %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovups %ymm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovups (%rax), %ymm2 -# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 12 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 0.50 vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 0.50 vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 0.50 * vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 0.50 vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 0.50 vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 0.50 * vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 0.50 vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 0.50 vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpabsd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpabsw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpackuswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpaddb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpaddq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpaddsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpaddusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpaddusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpalignr $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpand (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpandn %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpandn (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpavgb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpavgb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpavgw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpavgw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpclmulqdq $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpcmpeqb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpcmpeqd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpcmpgtd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpcmpgtq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpermilpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpermilpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpermilpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpermilps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpermilps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpermilps $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 1.00 vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 3 3 2.00 vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 8 2.00 * vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 8 2.00 * vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 8 2.00 * vphaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vphminposuw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vphminposuw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 8 2.00 * vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 8 2.00 * vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 8 2.00 * vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpmaddubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpmaddwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpmaxsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpmaxsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpmaxub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpmaxud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpmaxuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpminsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpminsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpminub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpminud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpminuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vpmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vpmuldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpmuldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpmulhrsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpmulhuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpmulhuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpmulhw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpmulhw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 10 2.00 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 15 2.00 * vpmulld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpmullw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpmullw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpmuludq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpmuludq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vpsadbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsignb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsignb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsignd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsignd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsignw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 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 7 1.00 * vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 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 7 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 7 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 7 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 7 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 7 1.00 * vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 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 7 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 7 1.00 * vpsrlw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsubb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsubq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsubsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsubusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsubusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 1.00 vptest %xmm0, %xmm1 -# CHECK-NEXT: 3 7 1.00 * vptest (%rax), %xmm1 -# CHECK-NEXT: 2 4 1.00 vptest %ymm0, %ymm1 -# CHECK-NEXT: 3 10 1.00 * vptest (%rax), %ymm1 -# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpunpcklwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpxor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpxor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vrcpps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vrcpps (%rax), %xmm2 -# CHECK-NEXT: 3 11 2.00 vrcpps %ymm0, %ymm2 -# CHECK-NEXT: 4 17 2.00 * vrcpps (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vrcpss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vrcpss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 6 0.50 vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 11 2.00 * vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 3 12 2.00 * vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 6 0.50 vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 11 2.00 * vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: 3 12 2.00 * vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: 1 6 0.50 vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 11 2.00 * vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 6 0.50 vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 11 2.00 * vroundss $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vrsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vrsqrtps (%rax), %xmm2 -# CHECK-NEXT: 3 11 2.00 vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 4 17 2.00 * vrsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vrsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vshufpd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vshufpd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vshufpd $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vshufpd $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vshufps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vshufps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vshufps $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vshufps $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 16 14.00 vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 2 21 14.00 * vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: 3 29 28.00 vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: 4 35 28.00 * vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: 1 11 7.00 vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 16 7.00 * vsqrtps (%rax), %xmm2 -# CHECK-NEXT: 3 21 14.00 vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 4 27 14.00 * vsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 16 8.00 vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 11 4.00 vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax) -# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vsubss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vtestpd %xmm0, %xmm1 -# CHECK-NEXT: 2 6 1.00 * vtestpd (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 vtestpd %ymm0, %ymm1 -# CHECK-NEXT: 2 7 1.00 * vtestpd (%rax), %ymm1 -# CHECK-NEXT: 1 1 1.00 vtestps %xmm0, %xmm1 -# CHECK-NEXT: 2 6 1.00 * vtestps (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 vtestps %ymm0, %ymm1 -# CHECK-NEXT: 2 7 1.00 * vtestps (%rax), %ymm1 -# CHECK-NEXT: 1 3 1.00 vucomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 vucomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 vunpckhpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vunpckhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vunpckhpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vunpckhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vunpckhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vunpckhps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vunpcklpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vunpcklpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vunpcklpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vunpcklps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vunpcklps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vunpcklps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 16 16 16.00 * * * vzeroall -# CHECK-NEXT: 4 4 1.00 * * * vzeroupper +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 7 1.00 vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 12 1.00 * vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 12 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 12 1.00 * vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 12 1.00 * vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 14 2.00 vaesimc %xmm0, %xmm2 +# CHECK-NEXT: 3 19 2.00 * vaesimc (%rax), %xmm2 +# CHECK-NEXT: 11 29 7.00 vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: 11 33 7.00 * vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vandps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 2.00 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 8 2.00 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 2.00 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 8 2.00 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 6 0.50 * vbroadcastf128 (%rax), %ymm2 +# CHECK-NEXT: 1 6 0.50 * vbroadcastsd (%rax), %ymm2 +# CHECK-NEXT: 1 5 0.50 * vbroadcastss (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * vbroadcastss (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcmppd $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vcmppd $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcmpps $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vcmpps $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vcomisd (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vcomiss (%rax), %xmm1 +# CHECK-NEXT: 2 4 1.00 vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 3 9 1.00 * vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: 3 11 1.00 * vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: 2 4 1.00 vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: 2 2 1.00 vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: 3 9 1.00 * vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: 2 4 1.00 vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * vcvtsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * vcvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 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: 2 4 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 3 5 2.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: 2 2 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 4 1.00 vcvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 vcvtss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * vcvtss2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * vcvtss2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: 2 4 1.00 vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * vcvttsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * vcvttsd2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 vcvttss2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 vcvttss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * vcvttss2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * vcvttss2si (%rax), %rcx +# CHECK-NEXT: 1 14 8.00 vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 19 8.00 * vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 23 16.00 vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 29 16.00 * vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 11 5.00 vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 16 5.00 * vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 17 10.00 vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 23 10.00 * vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 14 4.00 vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 19 8.00 * vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 11 3.00 vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 16 5.00 * vdivss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 9 1.00 vdppd $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 14 1.00 * vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 4 14 2.00 vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 5 19 2.00 * vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 4 14 2.00 vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 5 20 2.00 * vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: 2 2 1.00 vextractps $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: 3 5 2.00 vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 10 2.00 * vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 5 2.00 vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 11 2.00 * vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 5 2.00 vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 10 2.00 * vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 5 2.00 vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 11 2.00 * vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 5 2.00 vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 10 2.00 * vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 5 2.00 vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 11 2.00 * vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 5 2.00 vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 10 2.00 * vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 5 2.00 vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 11 2.00 * vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vinsertf128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 0.50 * vinsertf128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vinsertps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 * vlddqu (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %ymm2 +# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax) +# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 3 7 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 3 7 2.00 * vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 3 8 2.00 * vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 4 5 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 4 5 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 3 1.00 vmaxpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vmaxpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vmaxps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vmaxps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmaxss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vmaxss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vminpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vminpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vminps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vminps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vminss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vminss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovapd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovapd %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovapd (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vmovaps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovaps %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovaps %ymm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovaps (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vmovd %eax, %xmm2 +# CHECK-NEXT: 1 5 0.50 * vmovd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * vmovd %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 vmovddup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 0.50 * vmovddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovddup %ymm0, %ymm2 +# CHECK-NEXT: 1 6 0.50 * vmovddup (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.33 vmovdqa %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovdqa %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovdqa %ymm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovdqa (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.33 vmovdqu %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovdqu %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovdqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovdqu %ymm0, (%rax) +# CHECK-NEXT: 1 6 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: 2 1 1.00 * vmovhpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovhps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx +# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 vmovmskps %ymm0, %ecx +# CHECK-NEXT: 2 1 1.00 * vmovntdq %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * vmovntdq %ymm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovntdqa (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * vmovntdqa (%rax), %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovntpd %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * vmovntpd %ymm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * vmovntps %xmm0, (%rax) +# CHECK-NEXT: 2 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 5 0.50 * vmovq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovq %xmm0, %rcx +# CHECK-NEXT: 2 1 1.00 * vmovq %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 0.50 * vmovshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovshdup %ymm0, %ymm2 +# CHECK-NEXT: 1 6 0.50 * vmovshdup (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vmovsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 0.50 * vmovsldup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovsldup %ymm0, %ymm2 +# CHECK-NEXT: 1 6 0.50 * vmovsldup (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vmovss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovss %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovupd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovupd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovupd %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovupd (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vmovups %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovups %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovups (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovups %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovups %ymm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovups (%rax), %ymm2 +# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 12 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 0.50 * vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 0.50 * vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpabsd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpabsw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpaddq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpaddsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpaddusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpaddusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpandn (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpavgb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpavgb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpavgw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpavgw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpclmulqdq $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpcmpeqb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpcmpeqd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpcmpgtd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpcmpgtq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpermilpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpermilpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpermilpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpermilpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpermilps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpermilps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpermilps $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 1.00 vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 3 3 2.00 vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 8 2.00 * vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 8 2.00 * vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 8 2.00 * vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vphminposuw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vphminposuw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 8 2.00 * vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 8 2.00 * vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 8 2.00 * vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpmaddubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpmaddwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpmaxsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpmaxsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpmaxub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpmaxud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpmaxuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpminsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpminsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpminub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpminud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpminuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vpmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vpmuldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpmuldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpmulhrsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpmulhuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpmulhuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpmulhw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpmulhw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 10 2.00 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 15 2.00 * vpmulld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpmullw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpmullw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpmuludq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpmuludq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vpsadbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsignb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsignb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsignd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsignd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsignw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 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 7 1.00 * vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 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 7 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 7 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 7 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 7 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 7 1.00 * vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 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 7 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 7 1.00 * vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsubq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsubsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsubusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsubusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 1.00 vptest %xmm0, %xmm1 +# CHECK-NEXT: 3 7 1.00 * vptest (%rax), %xmm1 +# CHECK-NEXT: 2 4 1.00 vptest %ymm0, %ymm1 +# CHECK-NEXT: 3 10 1.00 * vptest (%rax), %ymm1 +# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpxor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vrcpps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vrcpps (%rax), %xmm2 +# CHECK-NEXT: 3 11 2.00 vrcpps %ymm0, %ymm2 +# CHECK-NEXT: 4 17 2.00 * vrcpps (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vrcpss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vrcpss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 6 0.50 vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 11 2.00 * vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 3 12 2.00 * vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 6 0.50 vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 11 2.00 * vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: 3 12 2.00 * vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: 1 6 0.50 vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 11 2.00 * vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 6 0.50 vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 11 2.00 * vroundss $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vrsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vrsqrtps (%rax), %xmm2 +# CHECK-NEXT: 3 11 2.00 vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 4 17 2.00 * vrsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vrsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vshufpd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vshufpd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vshufpd $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vshufpd $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vshufps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vshufps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vshufps $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 16 14.00 vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 2 21 14.00 * vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: 3 29 28.00 vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: 4 35 28.00 * vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: 1 11 7.00 vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 16 7.00 * vsqrtps (%rax), %xmm2 +# CHECK-NEXT: 3 21 14.00 vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 4 27 14.00 * vsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 16 8.00 vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 11 4.00 vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax) +# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vtestpd %xmm0, %xmm1 +# CHECK-NEXT: 2 6 1.00 * vtestpd (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 vtestpd %ymm0, %ymm1 +# CHECK-NEXT: 2 7 1.00 * vtestpd (%rax), %ymm1 +# CHECK-NEXT: 1 1 1.00 vtestps %xmm0, %xmm1 +# CHECK-NEXT: 2 6 1.00 * vtestps (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 vtestps %ymm0, %ymm1 +# CHECK-NEXT: 2 7 1.00 * vtestps (%rax), %ymm1 +# CHECK-NEXT: 1 3 1.00 vucomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 vucomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 vunpckhpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vunpckhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vunpckhpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vunpckhpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vunpckhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vunpckhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vunpckhps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vunpckhps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vunpcklpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vunpcklpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vunpcklpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vunpcklpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vunpcklps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vunpcklps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vunpcklps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vunpcklps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 16 16 16.00 * * * vzeroall +# CHECK-NEXT: 4 4 1.00 * * * vzeroupper # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 257.00 186.67 234.67 174.17 174.17 38.00 428.67 1.00 12.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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: - - - - - - - 1.00 - - vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vaesimc %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vaesimc (%rax), %xmm2 -# CHECK-NEXT: - - 2.67 0.67 - - - 7.67 - - vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 7.33 - - vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 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 - - - - - - vcomisd %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomisd (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - - - vcomiss %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomiss (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - 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 0.50 0.50 - - - - vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: - - - 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 - 1.00 - - 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 0.50 0.50 - 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: - - - 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 - - - 1.00 - - vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vcvtsi2ssq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 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 0.50 0.50 - - - - vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 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: - 8.00 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 16.00 2.33 0.33 - - - 0.33 - - vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - 16.00 2.33 0.33 0.50 0.50 - 0.33 - - vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 10.00 2.33 0.33 - - - 0.33 - - vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - 10.00 2.33 0.33 0.50 0.50 - 0.33 - - vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 4.00 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 5.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 0.50 0.50 - 1.00 - - vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vextractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinsertps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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.25 0.25 0.50 0.50 - 0.25 0.25 - vldmxcsr (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovapd %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovaps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovaps %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqa (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqu (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovhps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovss %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovupd %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovups %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovups %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 2.00 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 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: - - - 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: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.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: - - - 0.50 - - - 2.50 - - vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 2.00 - - - - - - - vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.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.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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 - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - 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 - 0.50 0.50 - 1.00 - - vptest (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %ymm0, %ymm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %ymm1 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vrcpps %ymm0, %ymm2 -# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - 0.50 0.50 - - - - vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.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.33 0.33 - - - 0.33 - - vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufpd $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 28.00 2.33 0.33 - - - 0.33 - - vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: - 28.00 2.33 0.33 0.50 0.50 - 0.33 - - vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: - 7.00 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm2 -# CHECK-NEXT: - 14.00 2.33 0.33 - - - 0.33 - - vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - 14.00 2.33 0.33 0.50 0.50 - 0.33 - - vsqrtps (%rax), %ymm2 -# CHECK-NEXT: - 8.00 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 4.00 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 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 - - - - - - vucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - - - vucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 16.00 - - vzeroall -# CHECK-NEXT: - - 1.08 1.08 - - - 1.08 0.75 - vzeroupper +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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: - - - - - - - 1.00 - - vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vaesimc %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vaesimc (%rax), %xmm2 +# CHECK-NEXT: - - 2.67 0.67 - - - 7.67 - - vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 7.33 - - vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 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 - - - - - - vcomisd %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomisd (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - - - vcomiss %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomiss (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - 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 0.50 0.50 - - - - vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: - - - 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 - 1.00 - - 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 0.50 0.50 - 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: - - - 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 - - - 1.00 - - vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vcvtsi2ssq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 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 0.50 0.50 - - - - vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 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: - 8.00 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 16.00 2.33 0.33 - - - 0.33 - - vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - 16.00 2.33 0.33 0.50 0.50 - 0.33 - - vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 10.00 2.33 0.33 - - - 0.33 - - vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - 10.00 2.33 0.33 0.50 0.50 - 0.33 - - vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 4.00 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 5.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 0.50 0.50 - 1.00 - - vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vextractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinsertps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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.25 0.25 0.50 0.50 - 0.25 0.25 - vldmxcsr (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovapd %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovaps %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqa (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqu (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovhpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovhps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovss %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovupd %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovups %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovups %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 2.00 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 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: - - - 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: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.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: - - - 0.50 - - - 2.50 - - vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 2.00 - - - - - - - vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.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.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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 - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - 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 - 0.50 0.50 - 1.00 - - vptest (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %ymm0, %ymm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %ymm1 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vrcpps %ymm0, %ymm2 +# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - 0.50 0.50 - - - - vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.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.33 0.33 - - - 0.33 - - vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufpd $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 28.00 2.33 0.33 - - - 0.33 - - vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: - 28.00 2.33 0.33 0.50 0.50 - 0.33 - - vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: - 7.00 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm2 +# CHECK-NEXT: - 14.00 2.33 0.33 - - - 0.33 - - vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - 14.00 2.33 0.33 0.50 0.50 - 0.33 - - vsqrtps (%rax), %ymm2 +# CHECK-NEXT: - 8.00 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 4.00 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 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 - - - - - - vucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - - - vucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 16.00 - - vzeroall +# CHECK-NEXT: - - 1.08 1.08 - - - 1.08 0.75 - vzeroupper diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s index 3d9da71..7567bc2 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s @@ -456,622 +456,622 @@ vpxor (%rax), %ymm1, %ymm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 6 0.50 * vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: 7 25 3.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 9 26 5.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 7 25 3.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 14 26 4.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 7 22 3.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 9 23 3.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 9 27 5.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 9 24 5.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 6 0.50 * vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 13 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpabsb (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpabsd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpabsw (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 2.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 8 2.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: 1 5 0.50 * vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: 1 5 0.50 * vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: 1 5 0.50 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 5 0.50 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 5 0.50 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 5 0.50 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 1 5 0.50 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 5 0.50 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 5 0.50 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 5 0.50 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 9 2.00 * vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 7 2.00 * vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 3 8 2.00 * vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 3 7 2.00 * vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 3 8 2.00 * vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovmskb %ymm0, %ecx -# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 10 2.00 vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 16 2.00 * vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 8 2.00 * vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 9 2.00 * vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 8 2.00 * vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 9 2.00 * vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 8 2.00 * vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 9 2.00 * vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpxor (%rax), %ymm1, %ymm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 6 0.50 * vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: 7 25 3.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 9 26 5.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 7 25 3.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 14 26 4.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 7 22 3.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 9 23 3.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 9 27 5.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 9 24 5.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 6 0.50 * vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 13 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpabsb (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpabsd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpabsw (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 2.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 8 2.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: 1 5 0.50 * vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: 1 5 0.50 * vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: 1 5 0.50 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 5 0.50 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 5 0.50 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 5 0.50 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 1 5 0.50 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 5 0.50 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 5 0.50 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 5 0.50 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 9 2.00 * vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 7 2.00 * vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 3 8 2.00 * vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 3 7 2.00 * vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 3 8 2.00 * vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovmskb %ymm0, %ecx +# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 10 2.00 vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 16 2.00 * vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 8 2.00 * vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 9 2.00 * vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 8 2.00 * vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 9 2.00 * vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 8 2.00 * vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 9 2.00 * vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpxor (%rax), %ymm1, %ymm2 # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 94.67 58.67 85.17 85.17 13.00 235.67 2.00 1.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 4.00 4.00 1.00 4.25 0.25 - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 3.25 0.25 - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsb %ymm0, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsb (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsd %ymm0, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsd (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsw %ymm0, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - - - - - - - vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 4.00 4.00 1.00 4.25 0.25 - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 3.25 0.25 - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 2.00 2.00 1.00 3.25 0.25 - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 1.00 1.00 1.00 5.25 0.25 - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsb %ymm0, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsb (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsd %ymm0, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsd (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsw %ymm0, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - - - - - - - vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s index 1d78f1e..2853f4b 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s @@ -45,72 +45,72 @@ tzcnt (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * andnl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * andnq (%rax), %rbx, %rcx -# CHECK-NEXT: 2 2 0.50 bextrl %eax, %ebx, %ecx -# CHECK-NEXT: 3 7 0.50 * bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: 2 2 0.50 bextrq %rax, %rbx, %rcx -# CHECK-NEXT: 3 7 0.50 * bextrq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsil (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * blsiq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsmskl (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * blsmskq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx -# CHECK-NEXT: 1 1 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: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * andnl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * andnq (%rax), %rbx, %rcx +# CHECK-NEXT: 2 2 0.50 bextrl %eax, %ebx, %ecx +# CHECK-NEXT: 3 7 0.50 * bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: 2 2 0.50 bextrq %rax, %rbx, %rcx +# CHECK-NEXT: 3 7 0.50 * bextrq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsil (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * blsiq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsmskl (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * blsmskq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx +# CHECK-NEXT: 1 1 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: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 2.00 14.00 6.00 6.00 - 10.00 2.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 - - - 0.50 0.50 - bextrl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - bextrq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 - - - 0.50 0.50 - bextrl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - bextrq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - 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 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-bmi2.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-bmi2.s index 4d5723a3..0f020de 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-bmi2.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-bmi2.s @@ -57,88 +57,88 @@ shrx %rax, (%rbx), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: 3 4 1.00 mulxl %eax, %ebx, %ecx -# CHECK-NEXT: 4 9 1.00 * mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rbx, %rcx -# CHECK-NEXT: 3 9 1.00 * mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 3 1.00 pdepl %eax, %ebx, %ecx -# CHECK-NEXT: 2 8 1.00 * pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 3 1.00 pdepq %rax, %rbx, %rcx -# CHECK-NEXT: 2 8 1.00 * pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 3 1.00 pextl %eax, %ebx, %ecx -# CHECK-NEXT: 2 8 1.00 * pextl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 3 1.00 pextq %rax, %rbx, %rcx -# CHECK-NEXT: 2 8 1.00 * pextq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 1 0.50 rorxl $1, %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * rorxl $1, (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 rorxq $1, %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * rorxq $1, (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 sarxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 sarxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 shlxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 shlxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 shrxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 shrxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * shrxq %rax, (%rbx), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: 3 4 1.00 mulxl %eax, %ebx, %ecx +# CHECK-NEXT: 4 9 1.00 * mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rbx, %rcx +# CHECK-NEXT: 3 9 1.00 * mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 3 1.00 pdepl %eax, %ebx, %ecx +# CHECK-NEXT: 2 8 1.00 * pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 3 1.00 pdepq %rax, %rbx, %rcx +# CHECK-NEXT: 2 8 1.00 * pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 3 1.00 pextl %eax, %ebx, %ecx +# CHECK-NEXT: 2 8 1.00 * pextl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 3 1.00 pextq %rax, %rbx, %rcx +# CHECK-NEXT: 2 8 1.00 * pextq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 1 0.50 rorxl $1, %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * rorxl $1, (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 rorxq $1, %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * rorxq $1, (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 sarxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 sarxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 shlxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 shlxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 shrxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 shrxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * shrxq %rax, (%rbx), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 9.50 14.50 8.00 8.00 - 4.50 9.50 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhil %eax, %ebx, %ecx -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mulxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulxq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - pdepl %eax, %ebx, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - pdepq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - pextl %eax, %ebx, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - pextq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextq (%rax), %rbx, %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxl $1, %eax, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxl $1, (%rax), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxq $1, %rax, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxq $1, (%rax), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxq %rax, (%rbx), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhil %eax, %ebx, %ecx +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mulxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulxq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - pdepl %eax, %ebx, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - pdepq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - pextl %eax, %ebx, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - pextq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextq (%rax), %rbx, %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxl $1, %eax, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxl $1, (%rax), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxq $1, %rax, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxq $1, (%rax), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxq %rax, (%rbx), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-f16c.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-f16c.s index d7490ae..a17ca2b 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-f16c.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-f16c.s @@ -21,40 +21,40 @@ vcvtps2ph $0, %ymm0, (%rax) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: 2 6 1.00 * vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: 2 4 1.00 vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: 3 5 1.00 * vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: 3 7 1.00 * vcvtps2ph $0, %ymm0, (%rax) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: 2 6 1.00 * vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: 2 4 1.00 vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: 3 5 1.00 * vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: 3 7 1.00 * vcvtps2ph $0, %ymm0, (%rax) # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 4.00 4.00 1.67 1.67 2.00 4.00 - 0.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 vcvtps2ph $0, %ymm0, (%rax) +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 vcvtps2ph $0, %ymm0, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-fma.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-fma.s index f11790f..0ae1f40d 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-fma.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-fma.s @@ -297,408 +297,408 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 5 0.50 vfmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 5 0.50 vfmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 5 0.50 vfnmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfnmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfnmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 5 0.50 vfnmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfnmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfnmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 5 0.50 vfmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 5 0.50 vfmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 5 0.50 vfnmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfnmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfnmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 11 0.50 * 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 5 0.50 vfnmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfnmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfnmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 96.00 96.00 48.00 48.00 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-lzcnt.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-lzcnt.s index 6b0e545..6208d2a 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-lzcnt.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-lzcnt.s @@ -18,36 +18,36 @@ lzcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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: [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: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 6.00 1.50 1.50 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-mmx.s index 11fcc67..788fcabe 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-mmx.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-mmx.s @@ -163,234 +163,234 @@ pxor (%rax), %mm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 31 31 10.00 * * * emms -# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 movd %mm0, %ecx -# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 movq %mm0, %rcx -# CHECK-NEXT: 2 1 1.00 * movq %mm0, (%rax) -# CHECK-NEXT: 3 3 2.00 packsswb %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packsswb (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 packssdw %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packssdw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 packuswb %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packuswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * 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 1 0.50 pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpgtb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpgtd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * 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 1 0.50 psubb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * 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: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 31 31 10.00 * * * emms +# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 movd %mm0, %ecx +# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 movq %mm0, %rcx +# CHECK-NEXT: 2 1 1.00 * movq %mm0, (%rax) +# CHECK-NEXT: 3 3 2.00 packsswb %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packsswb (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 packssdw %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packssdw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 packuswb %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packuswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * 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 1 0.50 pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpgtb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpgtd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * 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 1 0.50 psubb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * 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: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 46.67 35.17 23.67 23.67 2.00 57.17 1.00 0.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 11.25 11.75 - - - 7.75 0.25 - 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 movq %mm0, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packsswb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packsswb (%rax), %mm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packssdw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packssdw (%rax), %mm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packuswb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packuswb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 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.50 0.50 - 0.33 - - pand (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %mm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 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.50 0.50 - 0.33 - - 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: - - - 0.50 - - - 0.50 - - psubb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %mm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %mm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 11.25 11.75 - - - 7.75 0.25 - 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 movq %mm0, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packsswb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packsswb (%rax), %mm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packssdw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packssdw (%rax), %mm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packuswb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packuswb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 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.50 0.50 - 0.33 - - pand (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %mm0, %mm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 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.50 0.50 - 0.33 - - 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: - - - 0.50 - - - 0.50 - - psubb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %mm0, %mm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %mm2 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-popcnt.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-popcnt.s index 8971d2d..36baff1 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-popcnt.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-popcnt.s @@ -18,36 +18,36 @@ popcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx -# CHECK-NEXT: 2 8 1.00 * popcntw (%rax), %cx -# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx -# CHECK-NEXT: 2 8 1.00 * popcntl (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx -# CHECK-NEXT: 2 8 1.00 * popcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx +# CHECK-NEXT: 2 8 1.00 * popcntw (%rax), %cx +# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx +# CHECK-NEXT: 2 8 1.00 * popcntl (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx +# CHECK-NEXT: 2 8 1.00 * popcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 6.00 1.50 1.50 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s index c4df3ab..2205c6c 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s @@ -193,272 +193,272 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * addss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andnps %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * andnps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * andps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * comiss (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 2 4 1.00 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 3 5 2.00 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 2 4 1.00 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %ecx -# CHECK-NEXT: 4 10 1.00 * cvttss2si (%rax), %rcx -# CHECK-NEXT: 1 11 5.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 2 16 5.00 * divps (%rax), %xmm2 -# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 2 16 5.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * maxps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * minps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * minss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movaps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movaps %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movups %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movups %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movups (%rax), %xmm2 -# CHECK-NEXT: 1 3 0.50 mulps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * mulps (%rax), %xmm2 -# CHECK-NEXT: 1 3 0.50 mulss %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * mulss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 orps %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * orps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pavgb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pavgw (%rax), %mm2 -# CHECK-NEXT: 2 2 1.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pmaxsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pmaxub (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pminsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pminub (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) -# CHECK-NEXT: 1 5 1.00 psadbw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * psadbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rcpps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rcpss %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rcpss (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.33 * * * sfence -# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 11 7.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 16 7.00 * sqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 11 4.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax) -# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * subps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * subss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * unpcklps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 xorps %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * xorps (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andnps %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * andnps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * andps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * comiss (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 2 4 1.00 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 3 5 2.00 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 2 4 1.00 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %ecx +# CHECK-NEXT: 4 10 1.00 * cvttss2si (%rax), %rcx +# CHECK-NEXT: 1 11 5.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 2 16 5.00 * divps (%rax), %xmm2 +# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 2 16 5.00 * divss (%rax), %xmm2 +# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * maxss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * minss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movaps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movaps %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movups %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movups %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movups (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 mulps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * mulps (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 mulss %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * mulss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 orps %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * orps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pavgb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pavgw (%rax), %mm2 +# CHECK-NEXT: 2 2 1.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pmaxsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pmaxub (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pminsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pminub (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) +# CHECK-NEXT: 1 5 1.00 psadbw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * psadbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rcpps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rcpss %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rcpss (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.33 * * * sfence +# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 11 7.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 16 7.00 * sqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 11 4.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2 +# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax) +# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * unpcklps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 xorps %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * xorps (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 43.00 34.50 50.50 32.00 32.00 8.00 41.50 0.50 3.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - addps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - addss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - andnps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - andps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - comiss %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comiss (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - - - cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtps2pi (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtss2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtss2si (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvttps2pi (%rax), %mm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttss2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - cvttss2si (%rax), %rcx -# CHECK-NEXT: - 5.00 1.00 - - - - - - - divps %xmm0, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - divps (%rax), %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - divss %xmm0, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - divss (%rax), %xmm2 -# CHECK-NEXT: - - 1.25 0.25 0.50 0.50 - 0.25 0.25 - ldmxcsr (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - maskmovq %mm0, %mm1 -# CHECK-NEXT: - - - 1.00 - - - - - - maxps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - maxss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - minps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - minss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movaps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movaps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movhlps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movlhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhps (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movmskps %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntq %mm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - movss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movss %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movups %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movups %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movups (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - orps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - orps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %mm0, %ecx -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrw $1, %eax, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxub %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxub (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminub %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminub (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht0 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht1 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht2 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetchnta (%rax) -# CHECK-NEXT: - - 1.00 - - - - - - - psadbw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - psadbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufw $1, %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufw $1, (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rcpps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rcpss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtss (%rax), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 - 0.25 0.25 0.33 sfence -# CHECK-NEXT: - - - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufps $1, (%rax), %xmm2 -# CHECK-NEXT: - 7.00 1.00 - - - - - - - sqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - sqrtps (%rax), %xmm2 -# CHECK-NEXT: - 4.00 1.00 - - - - - - - sqrtss %xmm0, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - sqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 stmxcsr (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - subps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - subss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - ucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - ucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - unpckhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - unpcklps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - xorps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - xorps (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - addps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - addss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - andnps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - andps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - comiss %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comiss (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - - - cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtps2pi (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtss2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtss2si (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvttps2pi (%rax), %mm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttss2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - cvttss2si (%rax), %rcx +# CHECK-NEXT: - 5.00 1.00 - - - - - - - divps %xmm0, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - divps (%rax), %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - divss %xmm0, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - divss (%rax), %xmm2 +# CHECK-NEXT: - - 1.25 0.25 0.50 0.50 - 0.25 0.25 - ldmxcsr (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - maskmovq %mm0, %mm1 +# CHECK-NEXT: - - - 1.00 - - - - - - maxps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - maxss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - minps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - minss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movaps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movhlps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movlhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhps (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movmskps %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntq %mm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - movss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movss %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movups %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movups %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movups (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - orps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - orps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %mm0, %ecx +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrw $1, %eax, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxub %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxub (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminub %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminub (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht0 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht1 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht2 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetchnta (%rax) +# CHECK-NEXT: - - 1.00 - - - - - - - psadbw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - psadbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufw $1, %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufw $1, (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rcpps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rcpss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtss (%rax), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 - 0.25 0.25 0.33 sfence +# CHECK-NEXT: - - - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufps $1, (%rax), %xmm2 +# CHECK-NEXT: - 7.00 1.00 - - - - - - - sqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - sqrtps (%rax), %xmm2 +# CHECK-NEXT: - 4.00 1.00 - - - - - - - sqrtss %xmm0, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - sqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 stmxcsr (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - subps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - subss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - ucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - ucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - unpckhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - unpcklps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - xorps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - xorps (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s index 1cb18aa..e374e26 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s @@ -401,552 +401,552 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * addsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * andnpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * andpd (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax) -# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * comisd (%rax), %xmm1 -# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 3 9 1.00 * cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 9 1.00 * cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 9 1.00 * cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 2 4 1.00 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 3 9 1.00 * cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 3 9 1.00 * cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 3 9 1.00 * cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 9 1.00 * cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 9 1.00 * cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 14 8.00 divpd %xmm0, %xmm2 -# CHECK-NEXT: 2 19 8.00 * divpd (%rax), %xmm2 -# CHECK-NEXT: 1 14 4.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 2 19 8.00 * divsd (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.50 * * * lfence -# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * maxpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * maxsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * minpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * minsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movapd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movapd %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movdqa %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movdqu %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movdqu (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.67 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 2 1 1.00 * movhpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movq %xmm0, %rcx -# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movupd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movupd (%rax), %xmm2 -# CHECK-NEXT: 1 3 0.50 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * mulpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 0.50 mulsd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * mulsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 orpd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * orpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * packssdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * packsswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * packuswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * paddsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * paddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * paddusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * paddusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * paddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pand (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pandn (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pavgb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pavgw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pmaxub (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pminsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pminub (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * pmulhw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmullw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * pmullw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * por (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 psadbw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * psadbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 -# CHECK-NEXT: 3 7 1.00 * pslld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 -# CHECK-NEXT: 3 7 1.00 * psllq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 -# CHECK-NEXT: 3 7 1.00 * psllw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 -# CHECK-NEXT: 3 7 1.00 * psrad (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 -# CHECK-NEXT: 3 7 1.00 * psraw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 -# CHECK-NEXT: 3 7 1.00 * psrld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 3 7 1.00 * psrlq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 3 7 1.00 * psrlw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psubsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psubusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psubusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psubw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pxor (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 16 14.00 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 2 21 14.00 * sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 16 8.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 2 21 14.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * subsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * xorpd (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * andnpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * andpd (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax) +# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * comisd (%rax), %xmm1 +# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 3 9 1.00 * cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 9 1.00 * cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 9 1.00 * cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 2 4 1.00 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 3 9 1.00 * cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 3 9 1.00 * cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 3 9 1.00 * cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 9 1.00 * cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 9 1.00 * cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 14 8.00 divpd %xmm0, %xmm2 +# CHECK-NEXT: 2 19 8.00 * divpd (%rax), %xmm2 +# CHECK-NEXT: 1 14 4.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 2 19 8.00 * divsd (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.50 * * * lfence +# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * maxsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * minsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movapd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movapd %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movdqa %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movdqu %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movdqu (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.67 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 2 1 1.00 * movhpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movq %xmm0, %rcx +# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movupd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movupd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * mulpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 mulsd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * mulsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 orpd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * orpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * packssdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * packsswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * packuswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * paddsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * paddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * paddusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * paddusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * paddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pand (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pandn (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pavgb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pavgw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pmaxub (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pminsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pminub (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * pmulhw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmullw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * pmullw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * por (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 psadbw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * psadbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 +# CHECK-NEXT: 3 7 1.00 * pslld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 +# CHECK-NEXT: 3 7 1.00 * psllq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 +# CHECK-NEXT: 3 7 1.00 * psllw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 +# CHECK-NEXT: 3 7 1.00 * psrad (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 +# CHECK-NEXT: 3 7 1.00 * psraw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 +# CHECK-NEXT: 3 7 1.00 * psrld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 3 7 1.00 * psrlq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 3 7 1.00 * psrlw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psubsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psubusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psubusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psubw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pxor (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 16 14.00 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 2 21 14.00 * sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 16 8.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 2 21 14.00 * sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * xorpd (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 78.00 70.25 95.25 62.67 62.67 14.00 123.75 1.75 4.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - addpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - addsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - andnpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - andpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - comisd %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comisd (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %rcx -# CHECK-NEXT: - 8.00 1.00 - - - - - - - divpd %xmm0, %xmm2 -# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - divpd (%rax), %xmm2 -# CHECK-NEXT: - 4.00 1.00 - - - - - - - divsd %xmm0, %xmm2 -# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - divsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - lfence -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - - - maxpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - maxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - minpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - minsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movapd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movd %eax, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movd %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqa %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqa (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqu %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqu (%rax), %xmm2 -# CHECK-NEXT: - - 0.83 0.83 - - - 0.33 - - movdq2q %xmm0, %mm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movq %rax, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movq %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - movq2dq %mm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movsd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movupd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movupd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - orpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - orpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packssdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packssdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packsswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packsswb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packuswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packuswb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddq %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddq (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pand %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pand (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - - - pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddwd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxub %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxub (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminub %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminub (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmullw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmullw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - por %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - por (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psadbw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - psadbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pslld $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pslld %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - pslld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pslldq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psllq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psllq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psllq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psllw $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psllw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psllw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psrad $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrad %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrad (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psraw $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psraw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psraw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psrld $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrld %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - psrldq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psrlq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrlq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrlq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psrlw $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrlw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrlw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubq %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubq (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - sqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 8.00 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - subpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - subsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - ucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - ucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - xorpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - xorpd (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - addpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - addsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - andnpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - andpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - comisd %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comisd (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %rcx +# CHECK-NEXT: - 8.00 1.00 - - - - - - - divpd %xmm0, %xmm2 +# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - divpd (%rax), %xmm2 +# CHECK-NEXT: - 4.00 1.00 - - - - - - - divsd %xmm0, %xmm2 +# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - divsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - lfence +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - - - maxpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - maxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - minpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - minsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movapd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movd %eax, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movd %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqa %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqa (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqu %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqu (%rax), %xmm2 +# CHECK-NEXT: - - 0.83 0.83 - - - 0.33 - - movdq2q %xmm0, %mm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movq %rax, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movq %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - movq2dq %mm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movsd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movupd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movupd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - orpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - orpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packssdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packssdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packsswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packsswb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packuswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packuswb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddq %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddq (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pand %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pand (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - - - pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddwd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxub %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxub (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminub %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminub (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmullw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmullw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - por %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - por (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psadbw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - psadbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pslld $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pslld %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - pslld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pslldq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psllq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psllq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psllq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psllw $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psllw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psllw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psrad $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrad %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrad (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psraw $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psraw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psraw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psrld $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrld %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - psrldq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psrlq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrlq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrlq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psrlw $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrlw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrlw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubq %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubq (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - sqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 8.00 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - sqrtsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - subpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - subsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - ucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - ucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - xorpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - xorpd (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s index a5e7b27..3e1b6e4 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s @@ -38,62 +38,62 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * addsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 haddpd %xmm0, %xmm2 -# CHECK-NEXT: 4 10 2.00 * haddpd (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 haddps %xmm0, %xmm2 -# CHECK-NEXT: 4 10 2.00 * haddps (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 4 10 2.00 * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2 -# CHECK-NEXT: 4 10 2.00 * hsubps (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 * lddqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movsldup (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * addsubps (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 4 10 2.00 * haddpd (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 haddps %xmm0, %xmm2 +# CHECK-NEXT: 4 10 2.00 * haddps (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 4 10 2.00 * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 4 10 2.00 * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 * lddqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movsldup (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 12.00 5.00 5.00 - 19.00 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsubps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - haddpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - haddpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - haddps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - haddps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - addsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsubps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - haddpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - haddpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - haddps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - haddps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s index 37d629b..787c13f 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s @@ -154,216 +154,216 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * blendps $11, (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 7 2.00 * blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 7 2.00 * blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: 4 14 1.00 * dppd $22, (%rax), %xmm2 -# CHECK-NEXT: 4 14 2.00 dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: 5 19 2.00 * dpps $22, (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 extractps $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * extractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * insertps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 3 7 2.00 mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 12 2.00 * mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * packusdw (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 7 2.00 * pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 pextrb $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 pextrd $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 pextrq $1, %xmm0, %rcx -# CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 phminposuw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * phminposuw (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 2.00 pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pmaxsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pmaxsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pmaxud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pmaxuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pminsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pminsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pminud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pminuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmuldq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * pmuldq (%rax), %xmm2 -# CHECK-NEXT: 2 10 2.00 pmulld %xmm0, %xmm2 -# CHECK-NEXT: 3 15 2.00 * pmulld (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 ptest %xmm0, %xmm1 -# CHECK-NEXT: 3 7 1.00 * ptest (%rax), %xmm1 -# CHECK-NEXT: 1 6 0.50 roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 11 2.00 * roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 11 2.00 * roundps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 11 2.00 * roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 11 2.00 * roundss $1, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * blendps $11, (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 7 2.00 * blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 7 2.00 * blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: 4 14 1.00 * dppd $22, (%rax), %xmm2 +# CHECK-NEXT: 4 14 2.00 dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: 5 19 2.00 * dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 extractps $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * extractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * insertps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 * movntdqa (%rax), %xmm2 +# CHECK-NEXT: 3 7 2.00 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 12 2.00 * mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * packusdw (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 7 2.00 * pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 pextrb $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 pextrd $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 pextrq $1, %xmm0, %rcx +# CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 phminposuw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * phminposuw (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 2.00 pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pmaxsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pmaxsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pmaxud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pmaxuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pminsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pminsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pminud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pminuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmuldq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * pmuldq (%rax), %xmm2 +# CHECK-NEXT: 2 10 2.00 pmulld %xmm0, %xmm2 +# CHECK-NEXT: 3 15 2.00 * pmulld (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 ptest %xmm0, %xmm1 +# CHECK-NEXT: 3 7 1.00 * ptest (%rax), %xmm1 +# CHECK-NEXT: 1 6 0.50 roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 11 2.00 * roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 11 2.00 * roundps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 11 2.00 * roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 11 2.00 * roundss $1, (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 23.33 22.33 25.67 25.67 5.00 80.33 - 1.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendps $11, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 - - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - dppd $22, (%rax), %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - dpps $22, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - extractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 extractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - insertps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movntdqa (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packusdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packusdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - - - phminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - phminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxud %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxud (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxuw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminud %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminud (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmuldq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuldq (%rax), %xmm2 -# CHECK-NEXT: - - 2.00 - - - - - - - pmulld %xmm0, %xmm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - pmulld (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundss $1, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendps $11, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 - - dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - dppd $22, (%rax), %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - dpps $22, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - extractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 extractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - insertps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movntdqa (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packusdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packusdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - - - phminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - phminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxud %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxud (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxuw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminud %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminud (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmuldq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuldq (%rax), %xmm2 +# CHECK-NEXT: - - 2.00 - - - - - - - pmulld %xmm0, %xmm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - pmulld (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundss $1, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse42.s index 11ccc47..359db59 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse42.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse42.s @@ -39,64 +39,64 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx -# CHECK-NEXT: 8 18 4.00 pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 9 23 4.00 * pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 9 19 4.00 pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 10 24 4.00 * pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 3 11 3.00 pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 16 3.00 * pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 3 11 3.00 pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 16 3.00 * pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * pcmpgtq (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx +# CHECK-NEXT: 8 18 4.00 pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 23 4.00 * pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 19 4.00 pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 10 24 4.00 * pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * pcmpgtq (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 31.67 11.67 5.00 5.00 - 13.67 1.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32l %eax, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32l (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32w %ax, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32w (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32q %rax, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32q (%rax), %rcx -# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pcmpgtq (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32l %eax, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32l (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32w %ax, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32w (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32q %rax, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32q (%rax), %rcx +# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pcmpgtq (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-ssse3.s index fc7041e..b34ab7d 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-ssse3.s @@ -105,152 +105,152 @@ psignw (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddd %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddd %xmm0, %xmm2 -# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddsw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddw %xmm0, %xmm2 -# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubd %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubd %xmm0, %xmm2 -# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubsw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2 -# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddd %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddsw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubd %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubsw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 8.00 24.00 16.00 16.00 - 80.00 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignw (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignw (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s index 2e5eb7f..78385dc 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s @@ -606,1102 +606,1102 @@ xorq (%rax), %rdi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 2 0.50 adcb $7, %al -# CHECK-NEXT: 2 2 0.50 adcb $7, %dil -# CHECK-NEXT: 6 8 1.00 * * adcb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil -# CHECK-NEXT: 6 8 1.00 * * adcb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 adcw $511, %ax -# CHECK-NEXT: 1 1 0.50 adcw $511, %di -# CHECK-NEXT: 6 8 1.00 * * adcw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw $7, %di -# CHECK-NEXT: 6 8 1.00 * * adcw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw %di, %di -# CHECK-NEXT: 6 8 1.00 * * adcw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax -# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi -# CHECK-NEXT: 6 8 1.00 * * adcl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl $7, %edi -# CHECK-NEXT: 6 8 1.00 * * adcl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi -# CHECK-NEXT: 6 8 1.00 * * adcl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi -# CHECK-NEXT: 6 8 1.00 * * adcq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi -# CHECK-NEXT: 6 8 1.00 * * adcq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi -# CHECK-NEXT: 6 8 1.00 * * adcq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 addb $7, %al -# CHECK-NEXT: 1 1 0.25 addb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 addw $511, %ax -# CHECK-NEXT: 1 1 0.25 addw $511, %di -# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 addw $7, %di -# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addw %di, %di -# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di -# CHECK-NEXT: 1 1 0.25 addl $665536, %eax -# CHECK-NEXT: 1 1 0.25 addl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 addq $665536, %rax -# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 andb $7, %al -# CHECK-NEXT: 1 1 0.25 andb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 andw $511, %ax -# CHECK-NEXT: 1 1 0.25 andw $511, %di -# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 andw $7, %di -# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andw %di, %di -# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di -# CHECK-NEXT: 1 1 0.25 andl $665536, %eax -# CHECK-NEXT: 1 1 0.25 andl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 andq $665536, %rax -# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 btw %si, %di -# CHECK-NEXT: 1 1 0.50 btcw %si, %di -# CHECK-NEXT: 1 1 0.50 btrw %si, %di -# CHECK-NEXT: 1 1 0.50 btsw %si, %di -# CHECK-NEXT: 2 6 0.50 * btw %si, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btcw %si, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btrw %si, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btsw %si, (%rax) -# CHECK-NEXT: 1 1 0.50 btw $7, %di -# CHECK-NEXT: 1 1 0.50 btcw $7, %di -# CHECK-NEXT: 1 1 0.50 btrw $7, %di -# CHECK-NEXT: 1 1 0.50 btsw $7, %di -# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btcw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btrw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btsw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi -# CHECK-NEXT: 2 6 0.50 * btl %esi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btcl %esi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btrl %esi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btsl %esi, (%rax) -# CHECK-NEXT: 1 1 0.50 btl $7, %edi -# CHECK-NEXT: 1 1 0.50 btcl $7, %edi -# CHECK-NEXT: 1 1 0.50 btrl $7, %edi -# CHECK-NEXT: 1 1 0.50 btsl $7, %edi -# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btcl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btrl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btsl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi -# CHECK-NEXT: 2 6 0.50 * btq %rsi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btcq %rsi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btrq %rsi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btsq %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 btq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi -# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 decb %dil -# CHECK-NEXT: 3 7 1.00 * * decb (%rax) -# CHECK-NEXT: 1 1 0.25 decw %di -# CHECK-NEXT: 3 7 1.00 * * decw (%rax) -# CHECK-NEXT: 1 1 0.25 decl %edi -# CHECK-NEXT: 3 7 1.00 * * decl (%rax) -# CHECK-NEXT: 1 1 0.25 decq %rdi -# CHECK-NEXT: 3 7 1.00 * * decq (%rax) -# CHECK-NEXT: 1 25 10.00 * divb %dil -# CHECK-NEXT: 8 34 2.00 * * divb (%rax) -# CHECK-NEXT: 32 80 8.00 * divw %si -# CHECK-NEXT: 8 34 2.00 * * divw (%rax) -# CHECK-NEXT: 32 80 8.00 * divl %edx -# CHECK-NEXT: 8 34 2.00 * * divl (%rax) -# CHECK-NEXT: 32 80 8.00 * divq %rcx -# CHECK-NEXT: 8 34 2.00 * * divq (%rax) -# CHECK-NEXT: 1 25 10.00 * idivb %dil -# CHECK-NEXT: 8 35 2.00 * * idivb (%rax) -# CHECK-NEXT: 1 25 10.00 * idivw %si -# CHECK-NEXT: 8 35 2.00 * * idivw (%rax) -# CHECK-NEXT: 1 25 10.00 * idivl %edx -# CHECK-NEXT: 8 35 2.00 * * idivl (%rax) -# CHECK-NEXT: 1 25 10.00 * idivq %rcx -# CHECK-NEXT: 8 35 2.00 * * idivq (%rax) -# CHECK-NEXT: 1 3 1.00 imulb %dil -# CHECK-NEXT: 2 8 1.00 * imulb (%rax) -# CHECK-NEXT: 4 4 1.00 imulw %di -# CHECK-NEXT: 5 9 1.00 * imulw (%rax) -# CHECK-NEXT: 1 3 1.00 imulw %di, %di -# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di -# CHECK-NEXT: 3 4 1.00 imull %edi -# CHECK-NEXT: 4 9 1.00 * imull (%rax) -# CHECK-NEXT: 1 3 1.00 imull %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi -# CHECK-NEXT: 2 4 1.00 imulq %rdi -# CHECK-NEXT: 3 9 1.00 * imulq (%rax) -# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 incb %dil -# CHECK-NEXT: 3 7 1.00 * * incb (%rax) -# CHECK-NEXT: 1 1 0.25 incw %di -# CHECK-NEXT: 3 7 1.00 * * incw (%rax) -# CHECK-NEXT: 1 1 0.25 incl %edi -# CHECK-NEXT: 3 7 1.00 * * incl (%rax) -# CHECK-NEXT: 1 1 0.25 incq %rdi -# CHECK-NEXT: 3 7 1.00 * * incq (%rax) -# CHECK-NEXT: 1 3 1.00 mulb %dil -# CHECK-NEXT: 2 8 1.00 * mulb (%rax) -# CHECK-NEXT: 4 4 1.00 mulw %si -# CHECK-NEXT: 5 9 1.00 * mulw (%rax) -# CHECK-NEXT: 3 4 1.00 mull %edx -# CHECK-NEXT: 4 9 1.00 * mull (%rax) -# CHECK-NEXT: 2 4 1.00 mulq %rcx -# CHECK-NEXT: 3 9 1.00 * mulq (%rax) -# CHECK-NEXT: 1 1 0.25 negb %dil -# CHECK-NEXT: 3 7 1.00 * * negb (%r8) -# CHECK-NEXT: 1 1 0.25 negw %si -# CHECK-NEXT: 3 7 1.00 * * negw (%r9) -# CHECK-NEXT: 1 1 0.25 negl %edx -# CHECK-NEXT: 3 7 1.00 * * negl (%rax) -# CHECK-NEXT: 1 1 0.25 negq %rcx -# CHECK-NEXT: 3 7 1.00 * * negq (%r10) -# CHECK-NEXT: 1 1 0.25 nop -# CHECK-NEXT: 1 1 0.25 nopw %di -# CHECK-NEXT: 1 1 0.25 nopw (%rcx) -# CHECK-NEXT: 1 1 0.25 nopl %esi -# CHECK-NEXT: 1 1 0.25 nopl (%r8) -# CHECK-NEXT: 1 1 0.25 nopq %rdx -# CHECK-NEXT: 1 1 0.25 nopq (%r9) -# CHECK-NEXT: 1 1 0.25 notb %dil -# CHECK-NEXT: 3 7 1.00 * * notb (%r8) -# CHECK-NEXT: 1 1 0.25 notw %si -# CHECK-NEXT: 3 7 1.00 * * notw (%r9) -# CHECK-NEXT: 1 1 0.25 notl %edx -# CHECK-NEXT: 3 7 1.00 * * notl (%rax) -# CHECK-NEXT: 1 1 0.25 notq %rcx -# CHECK-NEXT: 3 7 1.00 * * notq (%r10) -# CHECK-NEXT: 1 1 0.25 orb $7, %al -# CHECK-NEXT: 1 1 0.25 orb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 orw $511, %ax -# CHECK-NEXT: 1 1 0.25 orw $511, %di -# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 orw $7, %di -# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orw %di, %di -# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di -# CHECK-NEXT: 1 1 0.25 orl $665536, %eax -# CHECK-NEXT: 1 1 0.25 orl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 orq $665536, %rax -# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi -# CHECK-NEXT: 3 3 0.75 rclb %dil -# CHECK-NEXT: 3 3 0.75 rcrb %dil -# CHECK-NEXT: 5 8 0.75 * rclb (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrb (%rax) -# CHECK-NEXT: 3 3 0.75 rclb $7, %dil -# CHECK-NEXT: 3 3 0.75 rcrb $7, %dil -# CHECK-NEXT: 5 8 0.75 * rclb $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrb $7, (%rax) -# CHECK-NEXT: 9 11 2.25 rclb %cl, %dil -# CHECK-NEXT: 10 14 2.50 rcrb %cl, %dil -# CHECK-NEXT: 10 15 2.00 * rclb %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrb %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rclw %di -# CHECK-NEXT: 3 3 0.75 rcrw %di -# CHECK-NEXT: 5 8 0.75 * rclw (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrw (%rax) -# CHECK-NEXT: 3 3 0.75 rclw $7, %di -# CHECK-NEXT: 3 3 0.75 rcrw $7, %di -# CHECK-NEXT: 5 8 0.75 * rclw $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrw $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rclw %cl, %di -# CHECK-NEXT: 7 11 2.00 rcrw %cl, %di -# CHECK-NEXT: 10 15 2.00 * rclw %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrw %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rcll %edi -# CHECK-NEXT: 3 3 0.75 rcrl %edi -# CHECK-NEXT: 5 8 0.75 * rcll (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrl (%rax) -# CHECK-NEXT: 3 3 0.75 rcll $7, %edi -# CHECK-NEXT: 3 3 0.75 rcrl $7, %edi -# CHECK-NEXT: 5 8 0.75 * rcll $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrl $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rcll %cl, %edi -# CHECK-NEXT: 7 11 2.00 rcrl %cl, %edi -# CHECK-NEXT: 10 15 2.00 * rcll %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrl %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rclq %rdi -# CHECK-NEXT: 3 3 0.75 rcrq %rdi -# CHECK-NEXT: 5 8 0.75 * rclq (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrq (%rax) -# CHECK-NEXT: 3 3 0.75 rclq $7, %rdi -# CHECK-NEXT: 3 3 0.75 rcrq $7, %rdi -# CHECK-NEXT: 5 8 0.75 * rclq $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrq $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rclq %cl, %rdi -# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi -# CHECK-NEXT: 10 15 2.00 * rclq %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrq %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolb %dil -# CHECK-NEXT: 2 2 1.00 rorb %dil -# CHECK-NEXT: 5 7 1.00 * * rolb (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorb (%rax) -# CHECK-NEXT: 2 2 1.00 rolb $7, %dil -# CHECK-NEXT: 2 2 1.00 rorb $7, %dil -# CHECK-NEXT: 5 7 1.00 * * rolb $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorb $7, (%rax) -# CHECK-NEXT: 3 3 1.00 rolb %cl, %dil -# CHECK-NEXT: 3 3 1.00 rorb %cl, %dil -# CHECK-NEXT: 6 8 1.00 * * rolb %cl, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorb %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolw %di -# CHECK-NEXT: 2 2 1.00 rorw %di -# CHECK-NEXT: 5 7 1.00 * * rolw (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorw (%rax) -# CHECK-NEXT: 2 2 1.00 rolw $7, %di -# CHECK-NEXT: 2 2 1.00 rorw $7, %di -# CHECK-NEXT: 5 7 1.00 * * rolw $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorw $7, (%rax) -# CHECK-NEXT: 3 3 1.00 rolw %cl, %di -# CHECK-NEXT: 3 3 1.00 rorw %cl, %di -# CHECK-NEXT: 6 8 1.00 * * rolw %cl, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorw %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 roll %edi -# CHECK-NEXT: 2 2 1.00 rorl %edi -# CHECK-NEXT: 5 7 1.00 * * roll (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorl (%rax) -# CHECK-NEXT: 2 2 1.00 roll $7, %edi -# CHECK-NEXT: 2 2 1.00 rorl $7, %edi -# CHECK-NEXT: 5 7 1.00 * * roll $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorl $7, (%rax) -# CHECK-NEXT: 3 3 1.00 roll %cl, %edi -# CHECK-NEXT: 3 3 1.00 rorl %cl, %edi -# CHECK-NEXT: 6 8 1.00 * * roll %cl, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorl %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolq %rdi -# CHECK-NEXT: 2 2 1.00 rorq %rdi -# CHECK-NEXT: 5 7 1.00 * * rolq (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorq (%rax) -# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi -# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi -# CHECK-NEXT: 5 7 1.00 * * rolq $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorq $7, (%rax) -# CHECK-NEXT: 3 3 1.00 rolq %cl, %rdi -# CHECK-NEXT: 3 3 1.00 rorq %cl, %rdi -# CHECK-NEXT: 6 8 1.00 * * rolq %cl, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarb %dil -# CHECK-NEXT: 1 1 0.50 shlb %dil -# CHECK-NEXT: 1 1 0.50 shrb %dil -# CHECK-NEXT: 4 6 1.00 * * sarb (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlb (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrb (%rax) -# CHECK-NEXT: 1 1 0.50 sarb $7, %dil -# CHECK-NEXT: 1 1 0.50 shlb $7, %dil -# CHECK-NEXT: 1 1 0.50 shrb $7, %dil -# CHECK-NEXT: 4 6 1.00 * * sarb $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlb $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrb $7, (%rax) -# CHECK-NEXT: 3 3 1.00 sarb %cl, %dil -# CHECK-NEXT: 3 3 1.00 shlb %cl, %dil -# CHECK-NEXT: 3 3 1.00 shrb %cl, %dil -# CHECK-NEXT: 6 8 1.00 * * sarb %cl, (%rax) -# CHECK-NEXT: 6 8 1.00 * * shlb %cl, (%rax) -# CHECK-NEXT: 6 8 1.00 * * shrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarw %di -# CHECK-NEXT: 1 1 0.50 shlw %di -# CHECK-NEXT: 1 1 0.50 shrw %di -# CHECK-NEXT: 4 6 1.00 * * sarw (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlw (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrw (%rax) -# CHECK-NEXT: 1 1 0.50 sarw $7, %di -# CHECK-NEXT: 1 1 0.50 shlw $7, %di -# CHECK-NEXT: 1 1 0.50 shrw $7, %di -# CHECK-NEXT: 4 6 1.00 * * sarw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrw $7, (%rax) -# CHECK-NEXT: 3 3 1.00 sarw %cl, %di -# CHECK-NEXT: 3 3 1.00 shlw %cl, %di -# CHECK-NEXT: 3 3 1.00 shrw %cl, %di -# CHECK-NEXT: 6 8 1.00 * * sarw %cl, (%rax) -# CHECK-NEXT: 6 8 1.00 * * shlw %cl, (%rax) -# CHECK-NEXT: 6 8 1.00 * * shrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarl %edi -# CHECK-NEXT: 1 1 0.50 shll %edi -# CHECK-NEXT: 1 1 0.50 shrl %edi -# CHECK-NEXT: 4 6 1.00 * * sarl (%rax) -# CHECK-NEXT: 4 6 1.00 * * shll (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrl (%rax) -# CHECK-NEXT: 1 1 0.50 sarl $7, %edi -# CHECK-NEXT: 1 1 0.50 shll $7, %edi -# CHECK-NEXT: 1 1 0.50 shrl $7, %edi -# CHECK-NEXT: 4 6 1.00 * * sarl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shll $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrl $7, (%rax) -# CHECK-NEXT: 3 3 1.00 sarl %cl, %edi -# CHECK-NEXT: 3 3 1.00 shll %cl, %edi -# CHECK-NEXT: 3 3 1.00 shrl %cl, %edi -# CHECK-NEXT: 6 8 1.00 * * sarl %cl, (%rax) -# CHECK-NEXT: 6 8 1.00 * * shll %cl, (%rax) -# CHECK-NEXT: 6 8 1.00 * * shrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarq %rdi -# CHECK-NEXT: 1 1 0.50 shlq %rdi -# CHECK-NEXT: 1 1 0.50 shrq %rdi -# CHECK-NEXT: 4 6 1.00 * * sarq (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlq (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrq (%rax) -# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi -# CHECK-NEXT: 4 6 1.00 * * sarq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrq $7, (%rax) -# CHECK-NEXT: 3 3 1.00 sarq %cl, %rdi -# CHECK-NEXT: 3 3 1.00 shlq %cl, %rdi -# CHECK-NEXT: 3 3 1.00 shrq %cl, %rdi -# CHECK-NEXT: 6 8 1.00 * * sarq %cl, (%rax) -# CHECK-NEXT: 6 8 1.00 * * shlq %cl, (%rax) -# CHECK-NEXT: 6 8 1.00 * * shrq %cl, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbb $7, %al -# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil -# CHECK-NEXT: 6 8 1.00 * * sbbb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil -# CHECK-NEXT: 6 8 1.00 * * sbbb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax -# CHECK-NEXT: 1 1 0.50 sbbw $511, %di -# CHECK-NEXT: 6 8 1.00 * * sbbw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw $7, %di -# CHECK-NEXT: 6 8 1.00 * * sbbw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw %di, %di -# CHECK-NEXT: 6 8 1.00 * * sbbw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi -# CHECK-NEXT: 6 8 1.00 * * sbbl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi -# CHECK-NEXT: 6 8 1.00 * * sbbl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi -# CHECK-NEXT: 6 8 1.00 * * sbbl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi -# CHECK-NEXT: 6 8 1.00 * * sbbq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi -# CHECK-NEXT: 6 8 1.00 * * sbbq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi -# CHECK-NEXT: 6 8 1.00 * * sbbq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbq (%rax), %rdi -# CHECK-NEXT: 4 6 1.00 shldw %cl, %si, %di -# CHECK-NEXT: 4 6 1.00 shrdw %cl, %si, %di -# CHECK-NEXT: 6 11 1.00 * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 6 11 1.00 * * shrdw %cl, %si, (%rax) -# CHECK-NEXT: 1 3 1.00 shldw $7, %si, %di -# CHECK-NEXT: 1 3 1.00 shrdw $7, %si, %di -# CHECK-NEXT: 4 9 1.00 * * shldw $7, %si, (%rax) -# CHECK-NEXT: 4 9 1.00 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 4 6 1.00 shldl %cl, %esi, %edi -# CHECK-NEXT: 4 6 1.00 shrdl %cl, %esi, %edi -# CHECK-NEXT: 6 11 1.00 * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 6 11 1.00 * * shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 1 3 1.00 shldl $7, %esi, %edi -# CHECK-NEXT: 1 3 1.00 shrdl $7, %esi, %edi -# CHECK-NEXT: 4 9 1.00 * * shldl $7, %esi, (%rax) -# CHECK-NEXT: 4 9 1.00 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 4 6 1.00 shldq %cl, %rsi, %rdi -# CHECK-NEXT: 4 6 1.00 shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 6 11 1.00 * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 6 11 1.00 * * shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 3 1.00 shldq $7, %rsi, %rdi -# CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 4 9 1.00 * * shldq $7, %rsi, (%rax) -# CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.25 subb $7, %al -# CHECK-NEXT: 1 1 0.25 subb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 subw $511, %ax -# CHECK-NEXT: 1 1 0.25 subw $511, %di -# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 subw $7, %di -# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subw %di, %di -# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di -# CHECK-NEXT: 1 1 0.25 subl $665536, %eax -# CHECK-NEXT: 1 1 0.25 subl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 subq $665536, %rax -# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 xorb $7, %al -# CHECK-NEXT: 1 1 0.25 xorb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 xorw $511, %ax -# CHECK-NEXT: 1 1 0.25 xorw $511, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw $7, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw %di, %di -# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di -# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax -# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorq (%rax), %rdi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 2 0.50 adcb $7, %al +# CHECK-NEXT: 2 2 0.50 adcb $7, %dil +# CHECK-NEXT: 6 8 1.00 * * adcb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil +# CHECK-NEXT: 6 8 1.00 * * adcb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 adcw $511, %ax +# CHECK-NEXT: 1 1 0.50 adcw $511, %di +# CHECK-NEXT: 6 8 1.00 * * adcw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw $7, %di +# CHECK-NEXT: 6 8 1.00 * * adcw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw %di, %di +# CHECK-NEXT: 6 8 1.00 * * adcw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcw (%rax), %di +# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax +# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi +# CHECK-NEXT: 6 8 1.00 * * adcl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl $7, %edi +# CHECK-NEXT: 6 8 1.00 * * adcl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi +# CHECK-NEXT: 6 8 1.00 * * adcl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi +# CHECK-NEXT: 6 8 1.00 * * adcq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi +# CHECK-NEXT: 6 8 1.00 * * adcq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi +# CHECK-NEXT: 6 8 1.00 * * adcq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 addb $7, %al +# CHECK-NEXT: 1 1 0.25 addb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 addw $511, %ax +# CHECK-NEXT: 1 1 0.25 addw $511, %di +# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 addw $7, %di +# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addw %di, %di +# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di +# CHECK-NEXT: 1 1 0.25 addl $665536, %eax +# CHECK-NEXT: 1 1 0.25 addl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 addq $665536, %rax +# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 andb $7, %al +# CHECK-NEXT: 1 1 0.25 andb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 andw $511, %ax +# CHECK-NEXT: 1 1 0.25 andw $511, %di +# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 andw $7, %di +# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andw %di, %di +# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di +# CHECK-NEXT: 1 1 0.25 andl $665536, %eax +# CHECK-NEXT: 1 1 0.25 andl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 andq $665536, %rax +# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 btw %si, %di +# CHECK-NEXT: 1 1 0.50 btcw %si, %di +# CHECK-NEXT: 1 1 0.50 btrw %si, %di +# CHECK-NEXT: 1 1 0.50 btsw %si, %di +# CHECK-NEXT: 2 6 0.50 * btw %si, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btcw %si, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btrw %si, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btsw %si, (%rax) +# CHECK-NEXT: 1 1 0.50 btw $7, %di +# CHECK-NEXT: 1 1 0.50 btcw $7, %di +# CHECK-NEXT: 1 1 0.50 btrw $7, %di +# CHECK-NEXT: 1 1 0.50 btsw $7, %di +# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btcw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btrw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btsw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi +# CHECK-NEXT: 2 6 0.50 * btl %esi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btcl %esi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btrl %esi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btsl %esi, (%rax) +# CHECK-NEXT: 1 1 0.50 btl $7, %edi +# CHECK-NEXT: 1 1 0.50 btcl $7, %edi +# CHECK-NEXT: 1 1 0.50 btrl $7, %edi +# CHECK-NEXT: 1 1 0.50 btsl $7, %edi +# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btcl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btrl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btsl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi +# CHECK-NEXT: 2 6 0.50 * btq %rsi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btcq %rsi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btrq %rsi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 btq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi +# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 decb %dil +# CHECK-NEXT: 3 7 1.00 * * decb (%rax) +# CHECK-NEXT: 1 1 0.25 decw %di +# CHECK-NEXT: 3 7 1.00 * * decw (%rax) +# CHECK-NEXT: 1 1 0.25 decl %edi +# CHECK-NEXT: 3 7 1.00 * * decl (%rax) +# CHECK-NEXT: 1 1 0.25 decq %rdi +# CHECK-NEXT: 3 7 1.00 * * decq (%rax) +# CHECK-NEXT: 1 25 10.00 * divb %dil +# CHECK-NEXT: 8 34 2.00 * * divb (%rax) +# CHECK-NEXT: 32 80 8.00 * divw %si +# CHECK-NEXT: 8 34 2.00 * * divw (%rax) +# CHECK-NEXT: 32 80 8.00 * divl %edx +# CHECK-NEXT: 8 34 2.00 * * divl (%rax) +# CHECK-NEXT: 32 80 8.00 * divq %rcx +# CHECK-NEXT: 8 34 2.00 * * divq (%rax) +# CHECK-NEXT: 1 25 10.00 * idivb %dil +# CHECK-NEXT: 8 35 2.00 * * idivb (%rax) +# CHECK-NEXT: 1 25 10.00 * idivw %si +# CHECK-NEXT: 8 35 2.00 * * idivw (%rax) +# CHECK-NEXT: 1 25 10.00 * idivl %edx +# CHECK-NEXT: 8 35 2.00 * * idivl (%rax) +# CHECK-NEXT: 1 25 10.00 * idivq %rcx +# CHECK-NEXT: 8 35 2.00 * * idivq (%rax) +# CHECK-NEXT: 1 3 1.00 imulb %dil +# CHECK-NEXT: 2 8 1.00 * imulb (%rax) +# CHECK-NEXT: 4 4 1.00 imulw %di +# CHECK-NEXT: 5 9 1.00 * imulw (%rax) +# CHECK-NEXT: 1 3 1.00 imulw %di, %di +# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di +# CHECK-NEXT: 3 4 1.00 imull %edi +# CHECK-NEXT: 4 9 1.00 * imull (%rax) +# CHECK-NEXT: 1 3 1.00 imull %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi +# CHECK-NEXT: 2 4 1.00 imulq %rdi +# CHECK-NEXT: 3 9 1.00 * imulq (%rax) +# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 incb %dil +# CHECK-NEXT: 3 7 1.00 * * incb (%rax) +# CHECK-NEXT: 1 1 0.25 incw %di +# CHECK-NEXT: 3 7 1.00 * * incw (%rax) +# CHECK-NEXT: 1 1 0.25 incl %edi +# CHECK-NEXT: 3 7 1.00 * * incl (%rax) +# CHECK-NEXT: 1 1 0.25 incq %rdi +# CHECK-NEXT: 3 7 1.00 * * incq (%rax) +# CHECK-NEXT: 1 3 1.00 mulb %dil +# CHECK-NEXT: 2 8 1.00 * mulb (%rax) +# CHECK-NEXT: 4 4 1.00 mulw %si +# CHECK-NEXT: 5 9 1.00 * mulw (%rax) +# CHECK-NEXT: 3 4 1.00 mull %edx +# CHECK-NEXT: 4 9 1.00 * mull (%rax) +# CHECK-NEXT: 2 4 1.00 mulq %rcx +# CHECK-NEXT: 3 9 1.00 * mulq (%rax) +# CHECK-NEXT: 1 1 0.25 negb %dil +# CHECK-NEXT: 3 7 1.00 * * negb (%r8) +# CHECK-NEXT: 1 1 0.25 negw %si +# CHECK-NEXT: 3 7 1.00 * * negw (%r9) +# CHECK-NEXT: 1 1 0.25 negl %edx +# CHECK-NEXT: 3 7 1.00 * * negl (%rax) +# CHECK-NEXT: 1 1 0.25 negq %rcx +# CHECK-NEXT: 3 7 1.00 * * negq (%r10) +# CHECK-NEXT: 1 1 0.25 nop +# CHECK-NEXT: 1 1 0.25 nopw %di +# CHECK-NEXT: 1 1 0.25 nopw (%rcx) +# CHECK-NEXT: 1 1 0.25 nopl %esi +# CHECK-NEXT: 1 1 0.25 nopl (%r8) +# CHECK-NEXT: 1 1 0.25 nopq %rdx +# CHECK-NEXT: 1 1 0.25 nopq (%r9) +# CHECK-NEXT: 1 1 0.25 notb %dil +# CHECK-NEXT: 3 7 1.00 * * notb (%r8) +# CHECK-NEXT: 1 1 0.25 notw %si +# CHECK-NEXT: 3 7 1.00 * * notw (%r9) +# CHECK-NEXT: 1 1 0.25 notl %edx +# CHECK-NEXT: 3 7 1.00 * * notl (%rax) +# CHECK-NEXT: 1 1 0.25 notq %rcx +# CHECK-NEXT: 3 7 1.00 * * notq (%r10) +# CHECK-NEXT: 1 1 0.25 orb $7, %al +# CHECK-NEXT: 1 1 0.25 orb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 orw $511, %ax +# CHECK-NEXT: 1 1 0.25 orw $511, %di +# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 orw $7, %di +# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orw %di, %di +# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di +# CHECK-NEXT: 1 1 0.25 orl $665536, %eax +# CHECK-NEXT: 1 1 0.25 orl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 orq $665536, %rax +# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi +# CHECK-NEXT: 3 3 0.75 rclb %dil +# CHECK-NEXT: 3 3 0.75 rcrb %dil +# CHECK-NEXT: 5 8 0.75 * rclb (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrb (%rax) +# CHECK-NEXT: 3 3 0.75 rclb $7, %dil +# CHECK-NEXT: 3 3 0.75 rcrb $7, %dil +# CHECK-NEXT: 5 8 0.75 * rclb $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrb $7, (%rax) +# CHECK-NEXT: 9 11 2.25 rclb %cl, %dil +# CHECK-NEXT: 10 14 2.50 rcrb %cl, %dil +# CHECK-NEXT: 10 15 2.00 * rclb %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrb %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rclw %di +# CHECK-NEXT: 3 3 0.75 rcrw %di +# CHECK-NEXT: 5 8 0.75 * rclw (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrw (%rax) +# CHECK-NEXT: 3 3 0.75 rclw $7, %di +# CHECK-NEXT: 3 3 0.75 rcrw $7, %di +# CHECK-NEXT: 5 8 0.75 * rclw $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrw $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rclw %cl, %di +# CHECK-NEXT: 7 11 2.00 rcrw %cl, %di +# CHECK-NEXT: 10 15 2.00 * rclw %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrw %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rcll %edi +# CHECK-NEXT: 3 3 0.75 rcrl %edi +# CHECK-NEXT: 5 8 0.75 * rcll (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrl (%rax) +# CHECK-NEXT: 3 3 0.75 rcll $7, %edi +# CHECK-NEXT: 3 3 0.75 rcrl $7, %edi +# CHECK-NEXT: 5 8 0.75 * rcll $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrl $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rcll %cl, %edi +# CHECK-NEXT: 7 11 2.00 rcrl %cl, %edi +# CHECK-NEXT: 10 15 2.00 * rcll %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrl %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rclq %rdi +# CHECK-NEXT: 3 3 0.75 rcrq %rdi +# CHECK-NEXT: 5 8 0.75 * rclq (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrq (%rax) +# CHECK-NEXT: 3 3 0.75 rclq $7, %rdi +# CHECK-NEXT: 3 3 0.75 rcrq $7, %rdi +# CHECK-NEXT: 5 8 0.75 * rclq $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrq $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rclq %cl, %rdi +# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi +# CHECK-NEXT: 10 15 2.00 * rclq %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrq %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolb %dil +# CHECK-NEXT: 2 2 1.00 rorb %dil +# CHECK-NEXT: 5 7 1.00 * * rolb (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorb (%rax) +# CHECK-NEXT: 2 2 1.00 rolb $7, %dil +# CHECK-NEXT: 2 2 1.00 rorb $7, %dil +# CHECK-NEXT: 5 7 1.00 * * rolb $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorb $7, (%rax) +# CHECK-NEXT: 3 3 1.00 rolb %cl, %dil +# CHECK-NEXT: 3 3 1.00 rorb %cl, %dil +# CHECK-NEXT: 6 8 1.00 * * rolb %cl, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorb %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolw %di +# CHECK-NEXT: 2 2 1.00 rorw %di +# CHECK-NEXT: 5 7 1.00 * * rolw (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorw (%rax) +# CHECK-NEXT: 2 2 1.00 rolw $7, %di +# CHECK-NEXT: 2 2 1.00 rorw $7, %di +# CHECK-NEXT: 5 7 1.00 * * rolw $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorw $7, (%rax) +# CHECK-NEXT: 3 3 1.00 rolw %cl, %di +# CHECK-NEXT: 3 3 1.00 rorw %cl, %di +# CHECK-NEXT: 6 8 1.00 * * rolw %cl, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorw %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 roll %edi +# CHECK-NEXT: 2 2 1.00 rorl %edi +# CHECK-NEXT: 5 7 1.00 * * roll (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorl (%rax) +# CHECK-NEXT: 2 2 1.00 roll $7, %edi +# CHECK-NEXT: 2 2 1.00 rorl $7, %edi +# CHECK-NEXT: 5 7 1.00 * * roll $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorl $7, (%rax) +# CHECK-NEXT: 3 3 1.00 roll %cl, %edi +# CHECK-NEXT: 3 3 1.00 rorl %cl, %edi +# CHECK-NEXT: 6 8 1.00 * * roll %cl, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorl %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolq %rdi +# CHECK-NEXT: 2 2 1.00 rorq %rdi +# CHECK-NEXT: 5 7 1.00 * * rolq (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorq (%rax) +# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi +# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi +# CHECK-NEXT: 5 7 1.00 * * rolq $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorq $7, (%rax) +# CHECK-NEXT: 3 3 1.00 rolq %cl, %rdi +# CHECK-NEXT: 3 3 1.00 rorq %cl, %rdi +# CHECK-NEXT: 6 8 1.00 * * rolq %cl, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarb %dil +# CHECK-NEXT: 1 1 0.50 shlb %dil +# CHECK-NEXT: 1 1 0.50 shrb %dil +# CHECK-NEXT: 4 6 1.00 * * sarb (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlb (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrb (%rax) +# CHECK-NEXT: 1 1 0.50 sarb $7, %dil +# CHECK-NEXT: 1 1 0.50 shlb $7, %dil +# CHECK-NEXT: 1 1 0.50 shrb $7, %dil +# CHECK-NEXT: 4 6 1.00 * * sarb $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlb $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrb $7, (%rax) +# CHECK-NEXT: 3 3 1.00 sarb %cl, %dil +# CHECK-NEXT: 3 3 1.00 shlb %cl, %dil +# CHECK-NEXT: 3 3 1.00 shrb %cl, %dil +# CHECK-NEXT: 6 8 1.00 * * sarb %cl, (%rax) +# CHECK-NEXT: 6 8 1.00 * * shlb %cl, (%rax) +# CHECK-NEXT: 6 8 1.00 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarw %di +# CHECK-NEXT: 1 1 0.50 shlw %di +# CHECK-NEXT: 1 1 0.50 shrw %di +# CHECK-NEXT: 4 6 1.00 * * sarw (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlw (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrw (%rax) +# CHECK-NEXT: 1 1 0.50 sarw $7, %di +# CHECK-NEXT: 1 1 0.50 shlw $7, %di +# CHECK-NEXT: 1 1 0.50 shrw $7, %di +# CHECK-NEXT: 4 6 1.00 * * sarw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrw $7, (%rax) +# CHECK-NEXT: 3 3 1.00 sarw %cl, %di +# CHECK-NEXT: 3 3 1.00 shlw %cl, %di +# CHECK-NEXT: 3 3 1.00 shrw %cl, %di +# CHECK-NEXT: 6 8 1.00 * * sarw %cl, (%rax) +# CHECK-NEXT: 6 8 1.00 * * shlw %cl, (%rax) +# CHECK-NEXT: 6 8 1.00 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarl %edi +# CHECK-NEXT: 1 1 0.50 shll %edi +# CHECK-NEXT: 1 1 0.50 shrl %edi +# CHECK-NEXT: 4 6 1.00 * * sarl (%rax) +# CHECK-NEXT: 4 6 1.00 * * shll (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrl (%rax) +# CHECK-NEXT: 1 1 0.50 sarl $7, %edi +# CHECK-NEXT: 1 1 0.50 shll $7, %edi +# CHECK-NEXT: 1 1 0.50 shrl $7, %edi +# CHECK-NEXT: 4 6 1.00 * * sarl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shll $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrl $7, (%rax) +# CHECK-NEXT: 3 3 1.00 sarl %cl, %edi +# CHECK-NEXT: 3 3 1.00 shll %cl, %edi +# CHECK-NEXT: 3 3 1.00 shrl %cl, %edi +# CHECK-NEXT: 6 8 1.00 * * sarl %cl, (%rax) +# CHECK-NEXT: 6 8 1.00 * * shll %cl, (%rax) +# CHECK-NEXT: 6 8 1.00 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarq %rdi +# CHECK-NEXT: 1 1 0.50 shlq %rdi +# CHECK-NEXT: 1 1 0.50 shrq %rdi +# CHECK-NEXT: 4 6 1.00 * * sarq (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlq (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrq (%rax) +# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi +# CHECK-NEXT: 4 6 1.00 * * sarq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrq $7, (%rax) +# CHECK-NEXT: 3 3 1.00 sarq %cl, %rdi +# CHECK-NEXT: 3 3 1.00 shlq %cl, %rdi +# CHECK-NEXT: 3 3 1.00 shrq %cl, %rdi +# CHECK-NEXT: 6 8 1.00 * * sarq %cl, (%rax) +# CHECK-NEXT: 6 8 1.00 * * shlq %cl, (%rax) +# CHECK-NEXT: 6 8 1.00 * * shrq %cl, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbb $7, %al +# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil +# CHECK-NEXT: 6 8 1.00 * * sbbb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil +# CHECK-NEXT: 6 8 1.00 * * sbbb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax +# CHECK-NEXT: 1 1 0.50 sbbw $511, %di +# CHECK-NEXT: 6 8 1.00 * * sbbw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw $7, %di +# CHECK-NEXT: 6 8 1.00 * * sbbw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw %di, %di +# CHECK-NEXT: 6 8 1.00 * * sbbw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbw (%rax), %di +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi +# CHECK-NEXT: 6 8 1.00 * * sbbl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi +# CHECK-NEXT: 6 8 1.00 * * sbbl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi +# CHECK-NEXT: 6 8 1.00 * * sbbl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi +# CHECK-NEXT: 6 8 1.00 * * sbbq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi +# CHECK-NEXT: 6 8 1.00 * * sbbq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi +# CHECK-NEXT: 6 8 1.00 * * sbbq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbq (%rax), %rdi +# CHECK-NEXT: 4 6 1.00 shldw %cl, %si, %di +# CHECK-NEXT: 4 6 1.00 shrdw %cl, %si, %di +# CHECK-NEXT: 6 11 1.00 * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 6 11 1.00 * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 1 3 1.00 shldw $7, %si, %di +# CHECK-NEXT: 1 3 1.00 shrdw $7, %si, %di +# CHECK-NEXT: 4 9 1.00 * * shldw $7, %si, (%rax) +# CHECK-NEXT: 4 9 1.00 * * shrdw $7, %si, (%rax) +# CHECK-NEXT: 4 6 1.00 shldl %cl, %esi, %edi +# CHECK-NEXT: 4 6 1.00 shrdl %cl, %esi, %edi +# CHECK-NEXT: 6 11 1.00 * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 6 11 1.00 * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 1 3 1.00 shldl $7, %esi, %edi +# CHECK-NEXT: 1 3 1.00 shrdl $7, %esi, %edi +# CHECK-NEXT: 4 9 1.00 * * shldl $7, %esi, (%rax) +# CHECK-NEXT: 4 9 1.00 * * shrdl $7, %esi, (%rax) +# CHECK-NEXT: 4 6 1.00 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 4 6 1.00 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 6 11 1.00 * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 6 11 1.00 * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 3 1.00 shldq $7, %rsi, %rdi +# CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 4 9 1.00 * * shldq $7, %rsi, (%rax) +# CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 subb $7, %al +# CHECK-NEXT: 1 1 0.25 subb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 subw $511, %ax +# CHECK-NEXT: 1 1 0.25 subw $511, %di +# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 subw $7, %di +# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subw %di, %di +# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di +# CHECK-NEXT: 1 1 0.25 subl $665536, %eax +# CHECK-NEXT: 1 1 0.25 subl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 subq $665536, %rax +# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 xorb $7, %al +# CHECK-NEXT: 1 1 0.25 xorb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 xorw $511, %ax +# CHECK-NEXT: 1 1 0.25 xorw $511, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw $7, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw %di, %di +# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di +# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax +# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorq (%rax), %rdi # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: 50.00 - 363.75 244.25 202.00 202.00 167.00 149.75 329.25 69.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb %dil, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %dil, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %ax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $7, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw %di, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %di, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %eax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $7, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl %edi, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %edi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $7, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq %rdi, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq %rdi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andq (%rax), %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw %si, %di -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsw %si, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw $7, %di -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl %esi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsl %esi, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl $7, %edi -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq %rsi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsq %rsi, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq $7, %rdi -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decw (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decl %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decq (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - - - divb %dil -# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divb (%rax) -# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divw %si -# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divw (%rax) -# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divl %edx -# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divl (%rax) -# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divq %rcx -# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divq (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil -# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivb (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivw %si -# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivw (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivl %edx -# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivl (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivq %rcx -# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di -# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulw (%rax), %di -# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di -# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di -# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di -# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - imulq %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - imulq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incb (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incw %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incw (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incl %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si -# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax) -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax) -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulq %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulq (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negb (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negw %si -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negw (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negl %edx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negq %rcx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negq (%r10) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nop -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notb (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notw %si -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notw (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notl %edx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notq %rcx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notq (%r10) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orq (%rax), %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb $7, %dil -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb $7, %dil -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb $7, (%rax) -# CHECK-NEXT: - - 2.75 2.25 - - - 1.25 2.75 - rclb %cl, %dil -# CHECK-NEXT: - - 2.50 3.50 - - - 1.50 2.50 - rcrb %cl, %dil -# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclb %cl, (%rax) -# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrb %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw %di -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw %di -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw $7, %di -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw $7, %di -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw $7, (%rax) -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rclw %cl, %di -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrw %cl, %di -# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclw %cl, (%rax) -# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrw %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll %edi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl %edi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll $7, %edi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl $7, %edi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl $7, (%rax) -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcll %cl, %edi -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrl %cl, %edi -# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rcll %cl, (%rax) -# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrl %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq %rdi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq $7, %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq $7, %rdi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq $7, (%rax) -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rclq %cl, %rdi -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrq %cl, %rdi -# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclq %cl, (%rax) -# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrq %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb $7, %dil -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb $7, %dil -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolb %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorb %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw %di -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw %di -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw $7, %di -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw $7, %di -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolw %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorw %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll %edi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl %edi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll $7, %edi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl $7, %edi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - roll %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorl %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 roll %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorl %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq %rdi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq %rdi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq $7, %rdi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq $7, %rdi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolq %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorq %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb $7, %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb $7, %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb $7, %dil -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarb %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlb %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrb %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw %di -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw $7, %di -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarw %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlw %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrw %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl %edi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl $7, %edi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarl %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shll %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrl %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarl %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shll %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrl %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq %rdi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq $7, %rdi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarq %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlq %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrq %cl, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb %dil, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %dil, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %ax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $7, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw %di, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %di, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %eax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $7, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl %edi, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %edi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $7, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq %rdi, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq %rdi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbq (%rax), %rdi -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldw %cl, %si, %di -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdw %cl, %si, %di -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldw %cl, %si, (%rax) -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdw %cl, %si, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldw $7, %si, %di -# CHECK-NEXT: - - - 1.00 - - - - - - shrdw $7, %si, %di -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldw $7, %si, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdw $7, %si, (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldl %cl, %esi, %edi -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdl %cl, %esi, %edi -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldl %cl, %esi, (%rax) -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdl %cl, %esi, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldl $7, %esi, %edi -# CHECK-NEXT: - - - 1.00 - - - - - - shrdl $7, %esi, %edi -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldl $7, %esi, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdl $7, %esi, (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldq %cl, %rsi, (%rax) -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldq $7, %rsi, %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorq (%rax), %rdi +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb %dil, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %dil, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcb (%rax), %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %ax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $7, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw %di, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %di, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcw (%rax), %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %eax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $7, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl %edi, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %edi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcl (%rax), %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $7, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq %rdi, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq %rdi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andq (%rax), %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw %si, %di +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsw %si, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw $7, %di +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl %esi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsl %esi, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl $7, %edi +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq %rsi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsq %rsi, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq $7, %rdi +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decw (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decl %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decq (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - - - divb %dil +# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divb (%rax) +# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divw %si +# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divw (%rax) +# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divl %edx +# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divl (%rax) +# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divq %rcx +# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - divq (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil +# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivb (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivw %si +# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivw (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivl %edx +# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivl (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivq %rcx +# CHECK-NEXT: - - 2.25 2.25 0.50 0.50 - 2.25 0.25 - idivq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di +# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulw (%rax), %di +# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di +# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di +# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di +# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - imulq %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - imulq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incb (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incw %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incw (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incl %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si +# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax) +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax) +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulq %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulq (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negb (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negw %si +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negw (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negl %edx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negq %rcx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negq (%r10) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nop +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notb (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notw %si +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notw (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notl %edx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notq %rcx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notq (%r10) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orq (%rax), %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb $7, %dil +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb $7, %dil +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb $7, (%rax) +# CHECK-NEXT: - - 2.75 2.25 - - - 1.25 2.75 - rclb %cl, %dil +# CHECK-NEXT: - - 2.50 3.50 - - - 1.50 2.50 - rcrb %cl, %dil +# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclb %cl, (%rax) +# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrb %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw %di +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw %di +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw $7, %di +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw $7, %di +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw $7, (%rax) +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rclw %cl, %di +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrw %cl, %di +# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclw %cl, (%rax) +# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrw %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll %edi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl %edi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll $7, %edi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl $7, %edi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl $7, (%rax) +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcll %cl, %edi +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrl %cl, %edi +# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rcll %cl, (%rax) +# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrl %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq %rdi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq $7, %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq $7, %rdi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq $7, (%rax) +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rclq %cl, %rdi +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrq %cl, %rdi +# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclq %cl, (%rax) +# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrq %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb $7, %dil +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb $7, %dil +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolb %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorb %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw %di +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw %di +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw $7, %di +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw $7, %di +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolw %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorw %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll %edi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl %edi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll $7, %edi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl $7, %edi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - roll %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorl %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 roll %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorl %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq %rdi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq %rdi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq $7, %rdi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq $7, %rdi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolq %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorq %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb $7, %dil +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarb %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlb %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrb %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw %di +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw $7, %di +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarw %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlw %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrw %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl %edi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl $7, %edi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarl %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shll %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrl %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarl %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shll %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrl %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq %rdi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq $7, %rdi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarq %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlq %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrq %cl, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb %dil, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %dil, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbb (%rax), %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %ax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $7, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw %di, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %di, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbw (%rax), %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %eax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $7, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl %edi, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %edi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbl (%rax), %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $7, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq %rdi, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq %rdi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbq (%rax), %rdi +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldw %cl, %si, %di +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdw %cl, %si, %di +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldw %cl, %si, (%rax) +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdw %cl, %si, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldw $7, %si, %di +# CHECK-NEXT: - - - 1.00 - - - - - - shrdw $7, %si, %di +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldw $7, %si, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdw $7, %si, (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldl %cl, %esi, %edi +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdl %cl, %esi, %edi +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldl %cl, %esi, (%rax) +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdl %cl, %esi, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldl $7, %esi, %edi +# CHECK-NEXT: - - - 1.00 - - - - - - shrdl $7, %esi, %edi +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldl $7, %esi, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdl $7, %esi, (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldq %cl, %rsi, (%rax) +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldq $7, %rsi, %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorq (%rax), %rdi diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s index 29fc7f3..42c4058 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s @@ -205,320 +205,320 @@ fyl2xp1 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 0.25 * f2xm1 -# CHECK-NEXT: 1 1 1.00 * fabs -# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fadd %st(2) -# CHECK-NEXT: 2 9 1.00 * * fadds (%ecx) -# CHECK-NEXT: 2 9 1.00 * * faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 * faddp %st(1) -# CHECK-NEXT: 1 3 1.00 * faddp %st(2) -# CHECK-NEXT: 3 12 2.00 * * fiadds (%ecx) -# CHECK-NEXT: 3 12 2.00 * * fiaddl (%ecx) -# CHECK-NEXT: 1 100 0.25 * fbld (%ecx) -# CHECK-NEXT: 2 1 1.00 * fbstp (%eax) -# CHECK-NEXT: 1 1 1.00 * fchs -# CHECK-NEXT: 4 4 1.00 * fnclex -# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 * fcom %st(1) -# CHECK-NEXT: 1 1 1.00 * fcom %st(3) -# CHECK-NEXT: 2 7 1.00 * fcoms (%ecx) -# CHECK-NEXT: 2 7 1.00 * fcoml (%eax) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) -# CHECK-NEXT: 2 7 1.00 * fcomps (%ecx) -# CHECK-NEXT: 2 7 1.00 * fcompl (%eax) -# CHECK-NEXT: 1 100 0.25 * fcompp -# CHECK-NEXT: 1 3 1.00 * fcomi %st(3) -# CHECK-NEXT: 1 3 1.00 * fcompi %st(3) -# CHECK-NEXT: 1 100 0.25 * fcos -# CHECK-NEXT: 2 2 1.00 * fdecstp -# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1) -# CHECK-NEXT: 1 20 1.00 * fdiv %st(2) -# CHECK-NEXT: 2 21 1.00 * * fdivs (%ecx) -# CHECK-NEXT: 2 21 1.00 * * fdivl (%eax) -# CHECK-NEXT: 1 15 1.00 * fdivp %st(1) -# CHECK-NEXT: 1 15 1.00 * fdivp %st(2) -# CHECK-NEXT: 3 24 1.00 * * fidivs (%ecx) -# CHECK-NEXT: 3 24 1.00 * * fidivl (%eax) -# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1) -# CHECK-NEXT: 1 15 1.00 * fdivr %st(2) -# CHECK-NEXT: 2 26 1.00 * * fdivrs (%ecx) -# CHECK-NEXT: 2 26 1.00 * * fdivrl (%eax) -# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1) -# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2) -# CHECK-NEXT: 3 29 1.00 * * fidivrs (%ecx) -# CHECK-NEXT: 3 29 1.00 * * fidivrl (%eax) -# CHECK-NEXT: 1 100 0.25 * ffree %st(0) -# CHECK-NEXT: 3 10 2.00 * ficoms (%ecx) -# CHECK-NEXT: 3 10 2.00 * ficoml (%eax) -# CHECK-NEXT: 3 10 2.00 * ficomps (%ecx) -# CHECK-NEXT: 3 10 2.00 * ficompl (%eax) -# CHECK-NEXT: 2 9 1.00 * * filds (%edx) -# CHECK-NEXT: 2 9 1.00 * * fildl (%ecx) -# CHECK-NEXT: 2 9 1.00 * * fildll (%eax) -# CHECK-NEXT: 1 1 0.50 * fincstp -# CHECK-NEXT: 15 75 6.00 * fninit -# CHECK-NEXT: 3 4 1.00 * * fists (%edx) -# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fistps (%edx) -# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax) -# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx) -# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax) -# CHECK-NEXT: 1 1 0.25 * fld %st(0) -# CHECK-NEXT: 1 6 0.50 * * flds (%edx) -# CHECK-NEXT: 1 6 0.50 * * fldl (%ecx) -# CHECK-NEXT: 1 6 0.50 * * fldt (%eax) -# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax) -# CHECK-NEXT: 64 60 14.00 * fldenv (%eax) -# CHECK-NEXT: 1 1 - * fld1 -# CHECK-NEXT: 1 100 0.25 * fldl2e -# CHECK-NEXT: 1 100 0.25 * fldl2t -# CHECK-NEXT: 1 100 0.25 * fldlg2 -# CHECK-NEXT: 1 100 0.25 * fldln2 -# CHECK-NEXT: 1 100 0.25 * fldpi -# CHECK-NEXT: 1 1 - * fldz -# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1) -# CHECK-NEXT: 1 5 1.00 * fmul %st(2) -# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx) -# CHECK-NEXT: 2 11 1.00 * * fmull (%eax) -# CHECK-NEXT: 1 5 1.00 * fmulp %st(1) -# CHECK-NEXT: 1 5 1.00 * fmulp %st(2) -# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx) -# CHECK-NEXT: 3 14 1.00 * * fimull (%eax) -# CHECK-NEXT: 1 1 0.50 * fnop -# CHECK-NEXT: 1 100 0.25 * fpatan -# CHECK-NEXT: 1 100 0.25 * fprem -# CHECK-NEXT: 1 100 0.25 * fprem1 -# CHECK-NEXT: 1 100 0.25 * fptan -# CHECK-NEXT: 1 100 0.25 * frndint -# CHECK-NEXT: 1 100 0.25 * frstor (%eax) -# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) -# CHECK-NEXT: 1 100 0.25 * fscale -# CHECK-NEXT: 1 100 0.25 * fsin -# CHECK-NEXT: 1 100 0.25 * fsincos -# CHECK-NEXT: 1 23 9.00 * fsqrt -# CHECK-NEXT: 1 1 0.25 * fst %st(0) -# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) -# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) -# CHECK-NEXT: 1 1 0.25 * fstp %st(0) -# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx) -# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx) -# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax) -# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax) -# CHECK-NEXT: 100 115 19.50 * fnstenv (%eax) -# CHECK-NEXT: 3 4 1.00 * fnstsw (%eax) -# CHECK-NEXT: 1 100 0.25 * frstor (%eax) -# CHECK-NEXT: 2 2 0.50 * wait -# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsub %st(2) -# CHECK-NEXT: 2 9 1.00 * * fsubs (%ecx) -# CHECK-NEXT: 2 9 1.00 * * fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) -# CHECK-NEXT: 3 12 2.00 * * fisubs (%ecx) -# CHECK-NEXT: 3 12 2.00 * * fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) -# CHECK-NEXT: 2 9 1.00 * * fsubrs (%ecx) -# CHECK-NEXT: 2 9 1.00 * * fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) -# CHECK-NEXT: 3 12 2.00 * * fisubrs (%ecx) -# CHECK-NEXT: 3 12 2.00 * * fisubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * ftst -# CHECK-NEXT: 1 1 1.00 * fucom %st(1) -# CHECK-NEXT: 1 1 1.00 * fucom %st(3) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) -# CHECK-NEXT: 1 3 1.00 * fucompp -# CHECK-NEXT: 1 3 1.00 * fucomi %st(3) -# CHECK-NEXT: 1 3 1.00 * fucompi %st(3) -# CHECK-NEXT: 2 2 0.50 * wait -# CHECK-NEXT: 1 100 0.25 * fxam -# CHECK-NEXT: 12 14 4.00 * fxch %st(1) -# CHECK-NEXT: 12 14 4.00 * fxch %st(3) -# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax) -# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) -# CHECK-NEXT: 1 100 0.25 * fxtract -# CHECK-NEXT: 1 100 0.25 * fyl2x -# CHECK-NEXT: 1 100 0.25 * fyl2xp1 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 100 0.25 * f2xm1 +# CHECK-NEXT: 1 1 1.00 * fabs +# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fadd %st(2) +# CHECK-NEXT: 2 9 1.00 * * fadds (%ecx) +# CHECK-NEXT: 2 9 1.00 * * faddl (%ecx) +# CHECK-NEXT: 1 3 1.00 * faddp %st(1) +# CHECK-NEXT: 1 3 1.00 * faddp %st(2) +# CHECK-NEXT: 3 12 2.00 * * fiadds (%ecx) +# CHECK-NEXT: 3 12 2.00 * * fiaddl (%ecx) +# CHECK-NEXT: 1 100 0.25 * fbld (%ecx) +# CHECK-NEXT: 2 1 1.00 * fbstp (%eax) +# CHECK-NEXT: 1 1 1.00 * fchs +# CHECK-NEXT: 4 4 1.00 * fnclex +# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 1 1.00 * fcom %st(1) +# CHECK-NEXT: 1 1 1.00 * fcom %st(3) +# CHECK-NEXT: 2 7 1.00 * fcoms (%ecx) +# CHECK-NEXT: 2 7 1.00 * fcoml (%eax) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) +# CHECK-NEXT: 2 7 1.00 * fcomps (%ecx) +# CHECK-NEXT: 2 7 1.00 * fcompl (%eax) +# CHECK-NEXT: 1 100 0.25 * fcompp +# CHECK-NEXT: 1 3 1.00 * fcomi %st(3) +# CHECK-NEXT: 1 3 1.00 * fcompi %st(3) +# CHECK-NEXT: 1 100 0.25 * fcos +# CHECK-NEXT: 2 2 1.00 * fdecstp +# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1) +# CHECK-NEXT: 1 20 1.00 * fdiv %st(2) +# CHECK-NEXT: 2 21 1.00 * * fdivs (%ecx) +# CHECK-NEXT: 2 21 1.00 * * fdivl (%eax) +# CHECK-NEXT: 1 15 1.00 * fdivp %st(1) +# CHECK-NEXT: 1 15 1.00 * fdivp %st(2) +# CHECK-NEXT: 3 24 1.00 * * fidivs (%ecx) +# CHECK-NEXT: 3 24 1.00 * * fidivl (%eax) +# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 * fdivr %st(2) +# CHECK-NEXT: 2 26 1.00 * * fdivrs (%ecx) +# CHECK-NEXT: 2 26 1.00 * * fdivrl (%eax) +# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1) +# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2) +# CHECK-NEXT: 3 29 1.00 * * fidivrs (%ecx) +# CHECK-NEXT: 3 29 1.00 * * fidivrl (%eax) +# CHECK-NEXT: 1 100 0.25 * ffree %st(0) +# CHECK-NEXT: 3 10 2.00 * ficoms (%ecx) +# CHECK-NEXT: 3 10 2.00 * ficoml (%eax) +# CHECK-NEXT: 3 10 2.00 * ficomps (%ecx) +# CHECK-NEXT: 3 10 2.00 * ficompl (%eax) +# CHECK-NEXT: 2 9 1.00 * * filds (%edx) +# CHECK-NEXT: 2 9 1.00 * * fildl (%ecx) +# CHECK-NEXT: 2 9 1.00 * * fildll (%eax) +# CHECK-NEXT: 1 1 0.50 * fincstp +# CHECK-NEXT: 15 75 6.00 * fninit +# CHECK-NEXT: 3 4 1.00 * * fists (%edx) +# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fistps (%edx) +# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax) +# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx) +# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax) +# CHECK-NEXT: 1 1 0.25 * fld %st(0) +# CHECK-NEXT: 1 6 0.50 * * flds (%edx) +# CHECK-NEXT: 1 6 0.50 * * fldl (%ecx) +# CHECK-NEXT: 1 6 0.50 * * fldt (%eax) +# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax) +# CHECK-NEXT: 64 60 14.00 * fldenv (%eax) +# CHECK-NEXT: 1 1 - * fld1 +# CHECK-NEXT: 1 100 0.25 * fldl2e +# CHECK-NEXT: 1 100 0.25 * fldl2t +# CHECK-NEXT: 1 100 0.25 * fldlg2 +# CHECK-NEXT: 1 100 0.25 * fldln2 +# CHECK-NEXT: 1 100 0.25 * fldpi +# CHECK-NEXT: 1 1 - * fldz +# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 * fmul %st(2) +# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx) +# CHECK-NEXT: 2 11 1.00 * * fmull (%eax) +# CHECK-NEXT: 1 5 1.00 * fmulp %st(1) +# CHECK-NEXT: 1 5 1.00 * fmulp %st(2) +# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx) +# CHECK-NEXT: 3 14 1.00 * * fimull (%eax) +# CHECK-NEXT: 1 1 0.50 * fnop +# CHECK-NEXT: 1 100 0.25 * fpatan +# CHECK-NEXT: 1 100 0.25 * fprem +# CHECK-NEXT: 1 100 0.25 * fprem1 +# CHECK-NEXT: 1 100 0.25 * fptan +# CHECK-NEXT: 1 100 0.25 * frndint +# CHECK-NEXT: 1 100 0.25 * frstor (%eax) +# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) +# CHECK-NEXT: 1 100 0.25 * fscale +# CHECK-NEXT: 1 100 0.25 * fsin +# CHECK-NEXT: 1 100 0.25 * fsincos +# CHECK-NEXT: 1 23 9.00 * fsqrt +# CHECK-NEXT: 1 1 0.25 * fst %st(0) +# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) +# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) +# CHECK-NEXT: 1 1 0.25 * fstp %st(0) +# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx) +# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx) +# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax) +# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax) +# CHECK-NEXT: 100 115 19.50 * fnstenv (%eax) +# CHECK-NEXT: 3 4 1.00 * fnstsw (%eax) +# CHECK-NEXT: 1 100 0.25 * frstor (%eax) +# CHECK-NEXT: 2 2 0.50 * wait +# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) +# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsub %st(2) +# CHECK-NEXT: 2 9 1.00 * * fsubs (%ecx) +# CHECK-NEXT: 2 9 1.00 * * fsubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) +# CHECK-NEXT: 3 12 2.00 * * fisubs (%ecx) +# CHECK-NEXT: 3 12 2.00 * * fisubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) +# CHECK-NEXT: 2 9 1.00 * * fsubrs (%ecx) +# CHECK-NEXT: 2 9 1.00 * * fsubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) +# CHECK-NEXT: 3 12 2.00 * * fisubrs (%ecx) +# CHECK-NEXT: 3 12 2.00 * * fisubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * ftst +# CHECK-NEXT: 1 1 1.00 * fucom %st(1) +# CHECK-NEXT: 1 1 1.00 * fucom %st(3) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) +# CHECK-NEXT: 1 3 1.00 * fucompp +# CHECK-NEXT: 1 3 1.00 * fucomi %st(3) +# CHECK-NEXT: 1 3 1.00 * fucompi %st(3) +# CHECK-NEXT: 2 2 0.50 * wait +# CHECK-NEXT: 1 100 0.25 * fxam +# CHECK-NEXT: 12 14 4.00 * fxch %st(1) +# CHECK-NEXT: 12 14 4.00 * fxch %st(3) +# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax) +# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) +# CHECK-NEXT: 1 100 0.25 * fxtract +# CHECK-NEXT: 1 100 0.25 * fyl2x +# CHECK-NEXT: 1 100 0.25 * fyl2xp1 # CHECK: Resources: -# CHECK-NEXT: [0] - BWDivider -# CHECK-NEXT: [1] - BWFPDivider -# CHECK-NEXT: [2] - BWPort0 -# CHECK-NEXT: [3] - BWPort1 -# CHECK-NEXT: [4] - BWPort2 -# CHECK-NEXT: [5] - BWPort3 -# CHECK-NEXT: [6] - BWPort4 -# CHECK-NEXT: [7] - BWPort5 -# CHECK-NEXT: [8] - BWPort6 -# CHECK-NEXT: [9] - BWPort7 +# CHECK-NEXT: [0] - BWDivider +# CHECK-NEXT: [1] - BWFPDivider +# CHECK-NEXT: [2] - BWPort0 +# CHECK-NEXT: [3] - BWPort1 +# CHECK-NEXT: [4] - BWPort2 +# CHECK-NEXT: [5] - BWPort3 +# CHECK-NEXT: [6] - BWPort4 +# CHECK-NEXT: [7] - BWPort5 +# CHECK-NEXT: [8] - BWPort6 +# CHECK-NEXT: [9] - BWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 9.00 111.67 140.67 49.00 49.00 27.00 60.67 71.00 9.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 -# CHECK-NEXT: - - - - - - - 1.00 - - fabs -# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fadds (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - faddl (%ecx) -# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(2) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiadds (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiaddl (%ecx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fchs -# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(3) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoms (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoml (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fcomp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fcomp %st(3) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcomps (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcompl (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp -# CHECK-NEXT: - - - 1.00 - - - - - - fcomi %st(3) -# CHECK-NEXT: - - - 1.00 - - - - - - fcompi %st(3) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos -# CHECK-NEXT: - - 1.00 1.00 - - - - - - fdecstp -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivs (%ecx) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrs (%ecx) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrl (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoms (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoml (%eax) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficomps (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficompl (%eax) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - filds (%edx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fildl (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fildll (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fincstp -# CHECK-NEXT: - - 3.00 3.00 - - - 7.50 1.50 - fninit -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fists (%edx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistl (%ecx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistps (%edx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistpl (%ecx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistpll (%eax) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttps (%edx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpl (%ecx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpll (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - fldcw (%eax) -# CHECK-NEXT: - - 18.92 11.42 4.00 4.00 - 10.92 14.75 - fldenv (%eax) -# CHECK-NEXT: - - - - - - - - - - fld1 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2e -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2t -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldlg2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldln2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldpi -# CHECK-NEXT: - - - - - - - - - - fldz -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimuls (%ecx) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimull (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fnop -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fpatan -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem1 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fptan -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frndint -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fscale -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos -# CHECK-NEXT: - 9.00 1.00 - - - - - - - fsqrt -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - 1.00 0.33 fnstcw (%eax) -# CHECK-NEXT: - - 27.00 16.50 3.67 3.67 11.00 15.50 19.00 3.67 fnstenv (%eax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 1.00 - - 0.33 fnstsw (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubs (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(2) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubs (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrs (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(2) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrs (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - ftst -# CHECK-NEXT: - - - 1.00 - - - - - - fucom %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fucom %st(3) -# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(3) -# CHECK-NEXT: - - - 1.00 - - - - - - fucompp -# CHECK-NEXT: - - - 1.00 - - - - - - fucomi %st(3) -# CHECK-NEXT: - - - 1.00 - - - - - - fucompi %st(3) -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam -# CHECK-NEXT: - - 3.25 2.25 - - - 1.25 5.25 - fxch %st(1) -# CHECK-NEXT: - - 3.25 2.25 - - - 1.25 5.25 - fxch %st(3) -# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxsave (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxtract -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2x -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2xp1 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 +# CHECK-NEXT: - - - - - - - 1.00 - - fabs +# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fadds (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - faddl (%ecx) +# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(2) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiadds (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiaddl (%ecx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fchs +# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(3) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoms (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoml (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fcomp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fcomp %st(3) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcomps (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcompl (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp +# CHECK-NEXT: - - - 1.00 - - - - - - fcomi %st(3) +# CHECK-NEXT: - - - 1.00 - - - - - - fcompi %st(3) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos +# CHECK-NEXT: - - 1.00 1.00 - - - - - - fdecstp +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivs (%ecx) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrs (%ecx) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrl (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoms (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoml (%eax) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficomps (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficompl (%eax) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - filds (%edx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fildl (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fildll (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fincstp +# CHECK-NEXT: - - 3.00 3.00 - - - 7.50 1.50 - fninit +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fists (%edx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistl (%ecx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistps (%edx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistpl (%ecx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistpll (%eax) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttps (%edx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpl (%ecx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpll (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - fldcw (%eax) +# CHECK-NEXT: - - 18.92 11.42 4.00 4.00 - 10.92 14.75 - fldenv (%eax) +# CHECK-NEXT: - - - - - - - - - - fld1 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2e +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2t +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldlg2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldln2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldpi +# CHECK-NEXT: - - - - - - - - - - fldz +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimuls (%ecx) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimull (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fnop +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fpatan +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem1 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fptan +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frndint +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fscale +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos +# CHECK-NEXT: - 9.00 1.00 - - - - - - - fsqrt +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - 1.00 0.33 fnstcw (%eax) +# CHECK-NEXT: - - 27.00 16.50 3.67 3.67 11.00 15.50 19.00 3.67 fnstenv (%eax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 1.00 - - 0.33 fnstsw (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubs (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(2) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubs (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrs (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(2) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrs (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - ftst +# CHECK-NEXT: - - - 1.00 - - - - - - fucom %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fucom %st(3) +# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(3) +# CHECK-NEXT: - - - 1.00 - - - - - - fucompp +# CHECK-NEXT: - - - 1.00 - - - - - - fucomi %st(3) +# CHECK-NEXT: - - - 1.00 - - - - - - fucompi %st(3) +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam +# CHECK-NEXT: - - 3.25 2.25 - - - 1.25 5.25 - fxch %st(1) +# CHECK-NEXT: - - 3.25 2.25 - - - 1.25 5.25 - fxch %st(3) +# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxsave (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxtract +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2x +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2xp1 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/dot-product.s b/llvm/test/tools/llvm-mca/X86/BtVer2/dot-product.s index e806825..a15dc10 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/dot-product.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/dot-product.s @@ -19,50 +19,50 @@ vhaddps %xmm3, %xmm3, %xmm4 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vhaddps %xmm2, %xmm2, %xmm3 -# CHECK-NEXT: 1 3 1.00 vhaddps %xmm3, %xmm3, %xmm4 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vhaddps %xmm2, %xmm2, %xmm3 +# CHECK-NEXT: 1 3 1.00 vhaddps %xmm3, %xmm3, %xmm4 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - 2.00 1.00 2.00 1.00 - - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm2, %xmm2, %xmm3 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm3, %xmm3, %xmm4 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm2, %xmm2, %xmm3 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm3, %xmm3, %xmm4 # CHECK: Timeline view: -# CHECK-NEXT: 012345 -# CHECK-NEXT: Index 0123456789 +# CHECK-NEXT: 012345 +# CHECK-NEXT: Index 0123456789 -# CHECK: [0,0] DeeER. . . vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [0,1] D==eeeER . . vhaddps %xmm2, %xmm2, %xmm3 -# CHECK-NEXT: [0,2] .D====eeeER . vhaddps %xmm3, %xmm3, %xmm4 -# CHECK-NEXT: [1,0] .DeeE-----R . vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [1,1] . D=eeeE---R . vhaddps %xmm2, %xmm2, %xmm3 -# CHECK-NEXT: [1,2] . D====eeeER . vhaddps %xmm3, %xmm3, %xmm4 -# CHECK-NEXT: [2,0] . DeeE-----R . vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [2,1] . D====eeeER . vhaddps %xmm2, %xmm2, %xmm3 -# CHECK-NEXT: [2,2] . D======eeeER vhaddps %xmm3, %xmm3, %xmm4 +# CHECK: [0,0] DeeER. . . vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [0,1] D==eeeER . . vhaddps %xmm2, %xmm2, %xmm3 +# CHECK-NEXT: [0,2] .D====eeeER . vhaddps %xmm3, %xmm3, %xmm4 +# CHECK-NEXT: [1,0] .DeeE-----R . vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [1,1] . D=eeeE---R . vhaddps %xmm2, %xmm2, %xmm3 +# CHECK-NEXT: [1,2] . D====eeeER . vhaddps %xmm3, %xmm3, %xmm4 +# CHECK-NEXT: [2,0] . DeeE-----R . vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [2,1] . D====eeeER . vhaddps %xmm2, %xmm2, %xmm3 +# CHECK-NEXT: [2,2] . D======eeeER vhaddps %xmm3, %xmm3, %xmm4 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -71,7 +71,7 @@ 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 3.3 vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1. 3 3.3 0.7 1.0 vhaddps %xmm2, %xmm2, %xmm3 -# CHECK-NEXT: 2. 3 5.7 0.0 0.0 vhaddps %xmm3, %xmm3, %xmm4 +# CHECK-NEXT: 0. 3 1.0 1.0 3.3 vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1. 3 3.3 0.7 1.0 vhaddps %xmm2, %xmm2, %xmm3 +# CHECK-NEXT: 2. 3 5.7 0.0 0.0 vhaddps %xmm3, %xmm3, %xmm4 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s index 4abd1f6..a5b15d1 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s @@ -18,16 +18,16 @@ vhaddps (%rdi), %xmm1, %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 vshufps $0, %xmm0, %xmm1, %xmm1 -# CHECK-NEXT: 1 8 1.00 * vhaddps (%rdi), %xmm1, %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 vshufps $0, %xmm0, %xmm1, %xmm1 +# CHECK-NEXT: 1 8 1.00 * vhaddps (%rdi), %xmm1, %xmm2 # CHECK: Timeline view: -# CHECK-NEXT: 0 -# CHECK-NEXT: Index 0123456789 +# CHECK-NEXT: 0 +# CHECK-NEXT: Index 0123456789 -# CHECK: [0,0] DeER . . vshufps $0, %xmm0, %xmm1, %xmm1 -# CHECK-NEXT: [0,1] DeeeeeeeeER vhaddps (%rdi), %xmm1, %xmm2 +# CHECK: [0,0] DeER . . vshufps $0, %xmm0, %xmm1, %xmm1 +# CHECK-NEXT: [0,1] DeeeeeeeeER vhaddps (%rdi), %xmm1, %xmm2 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -36,6 +36,6 @@ vhaddps (%rdi), %xmm1, %xmm2 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vshufps $0, %xmm0, %xmm1, %xmm1 -# CHECK-NEXT: 1. 1 1.0 0.0 0.0 vhaddps (%rdi), %xmm1, %xmm2 +# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vshufps $0, %xmm0, %xmm1, %xmm1 +# CHECK-NEXT: 1. 1 1.0 0.0 0.0 vhaddps (%rdi), %xmm1, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s b/llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s index f2a1d67..2f9a797 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s @@ -18,16 +18,16 @@ vhaddps (%rdi), %ymm1, %ymm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 vshufps $0, %xmm0, %xmm1, %xmm1 -# CHECK-NEXT: 2 8 2.00 * vhaddps (%rdi), %ymm1, %ymm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 vshufps $0, %xmm0, %xmm1, %xmm1 +# CHECK-NEXT: 2 8 2.00 * vhaddps (%rdi), %ymm1, %ymm2 # CHECK: Timeline view: -# CHECK-NEXT: 01 -# CHECK-NEXT: Index 0123456789 +# CHECK-NEXT: 01 +# CHECK-NEXT: Index 0123456789 -# CHECK: [0,0] DeER . .. vshufps $0, %xmm0, %xmm1, %xmm1 -# CHECK-NEXT: [0,1] .DeeeeeeeeER vhaddps (%rdi), %ymm1, %ymm2 +# CHECK: [0,0] DeER . .. vshufps $0, %xmm0, %xmm1, %xmm1 +# CHECK-NEXT: [0,1] .DeeeeeeeeER vhaddps (%rdi), %ymm1, %ymm2 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -36,6 +36,6 @@ vhaddps (%rdi), %ymm1, %ymm2 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vshufps $0, %xmm0, %xmm1, %xmm1 -# CHECK-NEXT: 1. 1 1.0 1.0 0.0 vhaddps (%rdi), %ymm1, %ymm2 +# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vshufps $0, %xmm0, %xmm1, %xmm1 +# CHECK-NEXT: 1. 1 1.0 1.0 0.0 vhaddps (%rdi), %ymm1, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/instruction-info-view.s b/llvm/test/tools/llvm-mca/X86/BtVer2/instruction-info-view.s index 533fccb..77fc5fa 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/instruction-info-view.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/instruction-info-view.s @@ -24,8 +24,8 @@ vhaddps %xmm3, %xmm3, %xmm4 # ENABLED-NEXT: [5]: MayStore # ENABLED-NEXT: [6]: HasSideEffects -# ENABLED: [1] [2] [3] [4] [5] [6] Instructions: -# ENABLED-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2 -# ENABLED-NEXT: 1 3 1.00 vhaddps %xmm2, %xmm2, %xmm3 -# ENABLED-NEXT: 1 3 1.00 vhaddps %xmm3, %xmm3, %xmm4 +# ENABLED: [1] [2] [3] [4] [5] [6] Instructions: +# ENABLED-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2 +# ENABLED-NEXT: 1 3 1.00 vhaddps %xmm2, %xmm2, %xmm3 +# ENABLED-NEXT: 1 3 1.00 vhaddps %xmm3, %xmm3, %xmm4 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s b/llvm/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s index 382f616..95d6906 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s @@ -24,59 +24,59 @@ vmovaps %xmm0, 48(%rdi) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0 -# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rdi) -# CHECK-NEXT: 1 5 1.00 * vmovaps 16(%rsi), %xmm0 -# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 16(%rdi) -# CHECK-NEXT: 1 5 1.00 * vmovaps 32(%rsi), %xmm0 -# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 32(%rdi) -# CHECK-NEXT: 1 5 1.00 * vmovaps 48(%rsi), %xmm0 -# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 48(%rdi) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0 +# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rdi) +# CHECK-NEXT: 1 5 1.00 * vmovaps 16(%rsi), %xmm0 +# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 16(%rdi) +# CHECK-NEXT: 1 5 1.00 * vmovaps 32(%rsi), %xmm0 +# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 32(%rdi) +# CHECK-NEXT: 1 5 1.00 * vmovaps 48(%rsi), %xmm0 +# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 48(%rdi) # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - 2.00 2.00 3.99 4.01 4.00 - 4.00 4.00 - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - 1.00 0.99 0.01 1.00 - - - - - - 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-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - 1.00 0.99 0.01 1.00 - - - - - - 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 -# CHECK-NEXT: Index 0123456789 0123456 +# CHECK-NEXT: 0123456789 +# CHECK-NEXT: Index 0123456789 0123456 -# 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: [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 @@ -85,12 +85,12 @@ vmovaps %xmm0, 48(%rdi) # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vmovaps (%rsi), %xmm0 -# CHECK-NEXT: 1. 1 6.0 0.0 0.0 vmovaps %xmm0, (%rdi) -# CHECK-NEXT: 2. 1 6.0 0.0 0.0 vmovaps 16(%rsi), %xmm0 -# CHECK-NEXT: 3. 1 11.0 0.0 0.0 vmovaps %xmm0, 16(%rdi) -# CHECK-NEXT: 4. 1 11.0 0.0 0.0 vmovaps 32(%rsi), %xmm0 -# CHECK-NEXT: 5. 1 16.0 0.0 0.0 vmovaps %xmm0, 32(%rdi) -# CHECK-NEXT: 6. 1 16.0 0.0 0.0 vmovaps 48(%rsi), %xmm0 -# CHECK-NEXT: 7. 1 21.0 0.0 0.0 vmovaps %xmm0, 48(%rdi) +# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vmovaps (%rsi), %xmm0 +# CHECK-NEXT: 1. 1 6.0 0.0 0.0 vmovaps %xmm0, (%rdi) +# CHECK-NEXT: 2. 1 6.0 0.0 0.0 vmovaps 16(%rsi), %xmm0 +# CHECK-NEXT: 3. 1 11.0 0.0 0.0 vmovaps %xmm0, 16(%rdi) +# CHECK-NEXT: 4. 1 11.0 0.0 0.0 vmovaps 32(%rsi), %xmm0 +# CHECK-NEXT: 5. 1 16.0 0.0 0.0 vmovaps %xmm0, 32(%rdi) +# CHECK-NEXT: 6. 1 16.0 0.0 0.0 vmovaps 48(%rsi), %xmm0 +# CHECK-NEXT: 7. 1 21.0 0.0 0.0 vmovaps %xmm0, 48(%rdi) diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s b/llvm/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s index 6ea2eac..708add2 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s @@ -24,59 +24,59 @@ vmovaps %xmm0, 48(%rdi) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0 -# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rdi) -# CHECK-NEXT: 1 5 1.00 * vmovaps 16(%rsi), %xmm0 -# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 16(%rdi) -# CHECK-NEXT: 1 5 1.00 * vmovaps 32(%rsi), %xmm0 -# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 32(%rdi) -# CHECK-NEXT: 1 5 1.00 * vmovaps 48(%rsi), %xmm0 -# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 48(%rdi) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0 +# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rdi) +# CHECK-NEXT: 1 5 1.00 * vmovaps 16(%rsi), %xmm0 +# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 16(%rdi) +# CHECK-NEXT: 1 5 1.00 * vmovaps 32(%rsi), %xmm0 +# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 32(%rdi) +# CHECK-NEXT: 1 5 1.00 * vmovaps 48(%rsi), %xmm0 +# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 48(%rdi) # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - 2.00 2.00 3.97 4.03 4.00 - 4.00 4.00 - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - 1.00 0.98 0.02 1.00 - - - - - - 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 0.99 0.01 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-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - 1.00 0.98 0.02 1.00 - - - - - - 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 0.99 0.01 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: 01 -# CHECK-NEXT: Index 0123456789 +# CHECK-NEXT: 01 +# CHECK-NEXT: Index 0123456789 -# CHECK: [0,0] DeeeeeER .. vmovaps (%rsi), %xmm0 -# CHECK-NEXT: [0,1] D=====eER .. vmovaps %xmm0, (%rdi) -# CHECK-NEXT: [0,2] .DeeeeeER .. vmovaps 16(%rsi), %xmm0 -# CHECK-NEXT: [0,3] .D=====eER.. vmovaps %xmm0, 16(%rdi) -# CHECK-NEXT: [0,4] . DeeeeeER.. vmovaps 32(%rsi), %xmm0 -# CHECK-NEXT: [0,5] . D=====eER. vmovaps %xmm0, 32(%rdi) -# CHECK-NEXT: [0,6] . DeeeeeER. 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] .DeeeeeER .. vmovaps 16(%rsi), %xmm0 +# CHECK-NEXT: [0,3] .D=====eER.. vmovaps %xmm0, 16(%rdi) +# CHECK-NEXT: [0,4] . DeeeeeER.. vmovaps 32(%rsi), %xmm0 +# CHECK-NEXT: [0,5] . D=====eER. vmovaps %xmm0, 32(%rdi) +# CHECK-NEXT: [0,6] . DeeeeeER. 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 @@ -85,12 +85,12 @@ vmovaps %xmm0, 48(%rdi) # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vmovaps (%rsi), %xmm0 -# CHECK-NEXT: 1. 1 6.0 0.0 0.0 vmovaps %xmm0, (%rdi) -# CHECK-NEXT: 2. 1 1.0 1.0 0.0 vmovaps 16(%rsi), %xmm0 -# CHECK-NEXT: 3. 1 6.0 0.0 0.0 vmovaps %xmm0, 16(%rdi) -# CHECK-NEXT: 4. 1 1.0 1.0 0.0 vmovaps 32(%rsi), %xmm0 -# CHECK-NEXT: 5. 1 6.0 0.0 0.0 vmovaps %xmm0, 32(%rdi) -# CHECK-NEXT: 6. 1 1.0 1.0 0.0 vmovaps 48(%rsi), %xmm0 -# CHECK-NEXT: 7. 1 6.0 0.0 0.0 vmovaps %xmm0, 48(%rdi) +# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vmovaps (%rsi), %xmm0 +# CHECK-NEXT: 1. 1 6.0 0.0 0.0 vmovaps %xmm0, (%rdi) +# CHECK-NEXT: 2. 1 1.0 1.0 0.0 vmovaps 16(%rsi), %xmm0 +# CHECK-NEXT: 3. 1 6.0 0.0 0.0 vmovaps %xmm0, 16(%rdi) +# CHECK-NEXT: 4. 1 1.0 1.0 0.0 vmovaps 32(%rsi), %xmm0 +# CHECK-NEXT: 5. 1 6.0 0.0 0.0 vmovaps %xmm0, 32(%rdi) +# CHECK-NEXT: 6. 1 1.0 1.0 0.0 vmovaps 48(%rsi), %xmm0 +# CHECK-NEXT: 7. 1 6.0 0.0 0.0 vmovaps %xmm0, 48(%rdi) diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s b/llvm/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s index 471ebe2..6042ce3 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s @@ -31,64 +31,64 @@ vsqrtps %ymm0, %ymm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 3 4 2.00 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 2 1.00 vpclmulqdq $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 21 21.00 vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 3 2.00 vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 42 42.00 vsqrtps %ymm0, %ymm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 3 4 2.00 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 2 1.00 vpclmulqdq $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 21 21.00 vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 3 2.00 vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 42 42.00 vsqrtps %ymm0, %ymm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - 3.00 63.00 6.01 5.99 - - - 1.00 1.00 1.00 3.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - - 2.00 1.00 - - - - 0.02 0.98 2.00 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.98 0.02 - 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: - - - 1.00 - 1.00 - - - - - - - - vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 42.00 - 2.00 - - - - - - - vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - - 2.00 1.00 - - - - 0.02 0.98 2.00 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.98 0.02 - 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: - - - 1.00 - 1.00 - - - - - - - - vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 42.00 - 2.00 - - - - - - - vsqrtps %ymm0, %ymm2 # CHECK: Timeline view: -# CHECK-NEXT: 0123456789 0123456789 0123456789 0 -# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 +# CHECK-NEXT: 0123456789 0123456789 0123456789 0 +# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 -# CHECK: [0,0] DeeeeER . . . . . . . . . . . . . vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [0,1] .DeE--R . . . . . . . . . . . . . vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [0,2] . DeeeER . . . . . . . . . . . . . vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: [0,3] . DeeE-R . . . . . . . . . . . . . vpclmulqdq $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [0,4] . DeeeER . . . . . . . . . . . . . vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [0,5] . DeeeeeeeeeeeeeeeeeeeeeER . . . . . . . . . vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: [0,6] . DeeeE-----------------R . . . . . . . . . vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: [0,7] . D===================eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER . vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: [1,0] . .DeeeeE--------------------------------------------------------R . vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [1,1] . . DeE-----------------------------------------------------------R. vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [1,2] . . DeeeE--------------------------------------------------------R. vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: [1,3] . . DeeE----------------------------------------------------------R vpclmulqdq $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: [1,4] . . DeeeE--------------------------------------------------------R vaddps %xmm0, %xmm1, %xmm2 +# CHECK: [0,0] DeeeeER . . . . . . . . . . . . . vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [0,1] .DeE--R . . . . . . . . . . . . . vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [0,2] . DeeeER . . . . . . . . . . . . . vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: [0,3] . DeeE-R . . . . . . . . . . . . . vpclmulqdq $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [0,4] . DeeeER . . . . . . . . . . . . . vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [0,5] . DeeeeeeeeeeeeeeeeeeeeeER . . . . . . . . . vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: [0,6] . DeeeE-----------------R . . . . . . . . . vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: [0,7] . D===================eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER . vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: [1,0] . .DeeeeE--------------------------------------------------------R . vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [1,1] . . DeE-----------------------------------------------------------R. vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [1,2] . . DeeeE--------------------------------------------------------R. vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: [1,3] . . DeeE----------------------------------------------------------R vpclmulqdq $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: [1,4] . . DeeeE--------------------------------------------------------R vaddps %xmm0, %xmm1, %xmm2 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -97,12 +97,12 @@ 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 28.0 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1. 2 1.0 1.0 30.5 vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2. 2 1.0 1.0 28.0 vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 3. 2 1.0 1.0 29.5 vpclmulqdq $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4. 2 1.0 1.0 28.0 vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 5. 1 1.0 1.0 0.0 vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 6. 1 1.0 1.0 17.0 vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 7. 1 20.0 20.0 0.0 vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 0. 2 1.0 1.0 28.0 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1. 2 1.0 1.0 30.5 vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2. 2 1.0 1.0 28.0 vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 3. 2 1.0 1.0 29.5 vpclmulqdq $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4. 2 1.0 1.0 28.0 vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 5. 1 1.0 1.0 0.0 vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 6. 1 1.0 1.0 17.0 vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 7. 1 20.0 20.0 0.0 vsqrtps %ymm0, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/rcu-statistics.s b/llvm/test/tools/llvm-mca/X86/BtVer2/rcu-statistics.s index 1405db3..c1f9ea2 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/rcu-statistics.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/rcu-statistics.s @@ -32,23 +32,23 @@ # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 21 21.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: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 21 21.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: Retire Control Unit - number of cycles where we saw N instructions retired: # CHECK-NEXT: [# retired], [# cycles] diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s index 63c97f2e..9e47e44 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s @@ -22,16 +22,16 @@ vmulps (%rdi), %xmm1, %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm0, %xmm1 -# CHECK-NEXT: 1 7 1.00 * vmulps (%rdi), %xmm1, %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm0, %xmm1 +# CHECK-NEXT: 1 7 1.00 * vmulps (%rdi), %xmm1, %xmm2 # CHECK: Timeline view: -# CHECK: Index 0123456789 +# CHECK: Index 0123456789 -# CHECK: [0,0] DeeeER . vaddps %xmm0, %xmm0, %xmm1 -# CHECK-NEXT: [0,1] DeeeeeeeER vmulps (%rdi), %xmm1, %xmm2 +# CHECK: [0,0] DeeeER . vaddps %xmm0, %xmm0, %xmm1 +# CHECK-NEXT: [0,1] DeeeeeeeER vmulps (%rdi), %xmm1, %xmm2 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -40,6 +40,6 @@ vmulps (%rdi), %xmm1, %xmm2 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vaddps %xmm0, %xmm0, %xmm1 -# CHECK-NEXT: 1. 1 1.0 0.0 0.0 vmulps (%rdi), %xmm1, %xmm2 +# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vaddps %xmm0, %xmm0, %xmm1 +# CHECK-NEXT: 1. 1 1.0 0.0 0.0 vmulps (%rdi), %xmm1, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s b/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s index 1492b70a6..fe1eb76 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s @@ -21,16 +21,16 @@ # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 3 1.00 imull %esi -# CHECK-NEXT: 2 6 1.00 * imull (%rdi) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 3 1.00 imull %esi +# CHECK-NEXT: 2 6 1.00 * imull (%rdi) # CHECK: Timeline view: -# CHECK: Index 0123456789 +# CHECK: Index 0123456789 -# CHECK: [0,0] DeeeER . imull %esi -# CHECK-NEXT: [0,1] .DeeeeeeER imull (%rdi) +# CHECK: [0,0] DeeeER . imull %esi +# CHECK-NEXT: [0,1] .DeeeeeeER imull (%rdi) # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -39,6 +39,6 @@ # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # 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: 0. 1 1.0 1.0 0.0 imull %esi +# CHECK-NEXT: 1. 1 1.0 1.0 0.0 imull (%rdi) diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s b/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s index b9daa9c..2f9cdf5 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s @@ -19,18 +19,18 @@ # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 addq %rdi, %rsi -# CHECK-NEXT: 1 4 1.00 * addq (%rsp), %rsi -# CHECK-NEXT: 1 1 0.50 addq %rdx, %r8 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 addq %rdi, %rsi +# CHECK-NEXT: 1 4 1.00 * addq (%rsp), %rsi +# CHECK-NEXT: 1 1 0.50 addq %rdx, %r8 # CHECK: Timeline view: -# CHECK: Index 0123456 +# CHECK: Index 0123456 -# CHECK: [0,0] DeER .. addq %rdi, %rsi -# CHECK-NEXT: [0,1] DeeeeER addq (%rsp), %rsi -# CHECK-NEXT: [0,2] D=eE--R addq %rdx, %r8 +# CHECK: [0,0] DeER .. addq %rdi, %rsi +# CHECK-NEXT: [0,1] DeeeeER 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 @@ -39,7 +39,7 @@ # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # 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 2.0 2.0 2.0 addq %rdx, %r8 +# 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 2.0 2.0 2.0 addq %rdx, %r8 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-1.s index ad24c35..5eb7156 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-1.s @@ -38,44 +38,44 @@ vmulps %xmm0, %xmm0, %xmm0 # CHECK-NEXT: Max number of mappings used: 0 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 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 -# CHECK-NEXT: Index 0123456789 01234567 +# CHECK-NEXT: 0123456789 +# CHECK-NEXT: Index 0123456789 01234567 -# CHECK: [0,0] DeeeER . . . . . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [0,1] D===eeER . . . . . vmulps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [1,0] .D====eeeER . . . . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [1,1] .D=======eeER . . . . vmulps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [2,0] . D========eeeER . . . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [2,1] . D===========eeER . . . vmulps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [3,0] . D============eeeER . . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [3,1] . D===============eeER . . vmulps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [4,0] . D================eeeER . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [4,1] . D===================eeER vmulps %xmm0, %xmm0, %xmm0 +# CHECK: [0,0] DeeeER . . . . . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [0,1] D===eeER . . . . . vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [1,0] .D====eeeER . . . . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [1,1] .D=======eeER . . . . vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [2,0] . D========eeeER . . . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [2,1] . D===========eeER . . . vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [3,0] . D============eeeER . . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [3,1] . D===============eeER . . vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [4,0] . D================eeeER . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [4,1] . D===================eeER vmulps %xmm0, %xmm0, %xmm0 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -84,6 +84,6 @@ vmulps %xmm0, %xmm0, %xmm0 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 5 9.0 0.2 0.0 vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: 1. 5 12.0 0.0 0.0 vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: 0. 5 9.0 0.2 0.0 vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: 1. 5 12.0 0.0 0.0 vmulps %xmm0, %xmm0, %xmm0 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-2.s b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-2.s index 787f12b..885a603 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-2.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-2.s @@ -39,44 +39,44 @@ vmulps %xmm0, %xmm0, %xmm0 # CHECK-NEXT: Max number of mappings used: 0 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 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 -# CHECK-NEXT: Index 0123456789 01234567 +# CHECK-NEXT: 0123456789 +# CHECK-NEXT: Index 0123456789 01234567 -# CHECK: [0,0] DeeeER . . . . . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [0,1] D===eeER . . . . . vmulps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [1,0] .D====eeeER . . . . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [1,1] .D=======eeER . . . . vmulps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [2,0] . D========eeeER . . . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [2,1] . D========eeER . . . vmulps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [3,0] . . D========eeeER . . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [3,1] . . D========eeER . . vmulps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [4,0] . . . D========eeeER . vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: [4,1] . . . D========eeER vmulps %xmm0, %xmm0, %xmm0 +# CHECK: [0,0] DeeeER . . . . . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [0,1] D===eeER . . . . . vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [1,0] .D====eeeER . . . . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [1,1] .D=======eeER . . . . vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [2,0] . D========eeeER . . . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [2,1] . D========eeER . . . vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [3,0] . . D========eeeER . . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [3,1] . . D========eeER . . vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [4,0] . . . D========eeeER . vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: [4,1] . . . D========eeER vmulps %xmm0, %xmm0, %xmm0 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -85,6 +85,6 @@ vmulps %xmm0, %xmm0, %xmm0 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 5 6.6 0.2 0.0 vaddps %xmm0, %xmm0, %xmm0 -# CHECK-NEXT: 1. 5 7.8 0.0 0.0 vmulps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: 0. 5 6.6 0.2 0.0 vaddps %xmm0, %xmm0, %xmm0 +# CHECK-NEXT: 1. 5 7.8 0.0 0.0 vmulps %xmm0, %xmm0, %xmm0 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-3.s b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-3.s index df95792..26764e6 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-3.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-3.s @@ -17,8 +17,8 @@ idiv %eax # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 25 25.00 * idivl %eax +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 25 25.00 * idivl %eax # CHECK: Dynamic Dispatch Stall Cycles: # CHECK-NEXT: RAT - Register unavailable: 26 @@ -48,35 +48,35 @@ idiv %eax # CHECK-NEXT: Max number of mappings used: 3 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - 1.00 25.00 - - - - - - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - 1.00 25.00 - - - - - - - - - - - idivl %eax +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - 1.00 25.00 - - - - - - - - - - - idivl %eax # CHECK: Timeline view: -# CHECK-NEXT: 0123456789 0123456789 01234 -# CHECK-NEXT: Index 0123456789 0123456789 0123456789 +# CHECK-NEXT: 0123456789 0123456789 01234 +# CHECK-NEXT: Index 0123456789 0123456789 0123456789 -# CHECK: [0,0] DeeeeeeeeeeeeeeeeeeeeeeeeeER . . . . . . idivl %eax -# CHECK-NEXT: [1,0] . . . . . . DeeeeeeeeeeeeeeeeeeeeeeeeeER idivl %eax +# CHECK: [0,0] DeeeeeeeeeeeeeeeeeeeeeeeeeER . . . . . . idivl %eax +# CHECK-NEXT: [1,0] . . . . . . DeeeeeeeeeeeeeeeeeeeeeeeeeER idivl %eax # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -85,5 +85,5 @@ 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 1.0 1.0 0.0 idivl %eax diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-4.s b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-4.s index 86f4f8a..922c442 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-4.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-4.s @@ -17,8 +17,8 @@ idiv %eax # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 25 25.00 * idivl %eax +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 25 25.00 * idivl %eax # CHECK: Dynamic Dispatch Stall Cycles: # CHECK-NEXT: RAT - Register unavailable: 6 @@ -48,12 +48,12 @@ idiv %eax # CHECK-NEXT: Max number of mappings used: 63 # CHECK: Timeline view: -# CHECK-NEXT: 0123456789 0123456789 0123456789 01234567 -# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 +# CHECK-NEXT: 0123456789 0123456789 0123456789 01234567 +# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 -# 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] DeeeeeeeeeeeeeeeeeeeeeeeeeER . . . . . . . . . . . idivl %eax +# CHECK-NEXT: [1,0] .D========================eeeeeeeeeeeeeeeeeeeeeeeeeER . . . . . . idivl %eax +# CHECK-NEXT: [2,0] . D================================================eeeeeeeeeeeeeeeeeeeeeeeeeER idivl %eax # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -62,5 +62,5 @@ idiv %eax # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 3 25.0 0.3 0.0 idivl %eax +# CHECK-NEXT: 0. 3 25.0 0.3 0.0 idivl %eax diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-5.s b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-5.s index 7922a6a..a93a31b 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-5.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/register-files-5.s @@ -69,42 +69,42 @@ # CHECK-NEXT: Max number of mappings used: 0 # CHECK: Timeline view: -# CHECK-NEXT: 0123456789 0123456789 0123456789 -# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 +# CHECK-NEXT: 0123456789 0123456789 0123456789 +# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 -# CHECK: [0,0] DeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER . . . . . . vdivps %ymm0, %ymm0, %ymm1 -# CHECK-NEXT: [0,1] .DeeeE----------------------------------R . . . . . . vaddps %ymm0, %ymm0, %ymm2 -# CHECK-NEXT: [0,2] . D=eeeE---------------------------------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=======================eeeER . . . . vaddps %ymm2, %ymm0, %ymm10 -# CHECK-NEXT: [0,24] . . . . . D========================eeeER . . . . vaddps %ymm2, %ymm0, %ymm11 -# CHECK-NEXT: [0,25] . . . . . D=========================eeeER . . . vaddps %ymm2, %ymm0, %ymm12 -# CHECK-NEXT: [0,26] . . . . . .D==========================eeeER . . . 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] DeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER . . . . . . vdivps %ymm0, %ymm0, %ymm1 +# CHECK-NEXT: [0,1] .DeeeE----------------------------------R . . . . . . vaddps %ymm0, %ymm0, %ymm2 +# CHECK-NEXT: [0,2] . D=eeeE---------------------------------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=======================eeeER . . . . vaddps %ymm2, %ymm0, %ymm10 +# CHECK-NEXT: [0,24] . . . . . D========================eeeER . . . . vaddps %ymm2, %ymm0, %ymm11 +# CHECK-NEXT: [0,25] . . . . . D=========================eeeER . . . vaddps %ymm2, %ymm0, %ymm12 +# CHECK-NEXT: [0,26] . . . . . .D==========================eeeER . . . 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: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -113,37 +113,37 @@ # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # 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 34.0 vaddps %ymm0, %ymm0, %ymm2 -# CHECK-NEXT: 2. 1 2.0 2.0 33.0 vaddps %ymm0, %ymm0, %ymm3 -# CHECK-NEXT: 3. 1 3.0 3.0 31.0 vaddps %ymm0, %ymm0, %ymm4 -# CHECK-NEXT: 4. 1 4.0 4.0 30.0 vaddps %ymm0, %ymm0, %ymm5 -# CHECK-NEXT: 5. 1 5.0 5.0 28.0 vaddps %ymm0, %ymm0, %ymm6 -# CHECK-NEXT: 6. 1 6.0 6.0 27.0 vaddps %ymm0, %ymm0, %ymm7 -# CHECK-NEXT: 7. 1 7.0 7.0 25.0 vaddps %ymm0, %ymm0, %ymm8 -# CHECK-NEXT: 8. 1 8.0 8.0 24.0 vaddps %ymm0, %ymm0, %ymm9 -# CHECK-NEXT: 9. 1 9.0 9.0 22.0 vaddps %ymm0, %ymm0, %ymm10 -# CHECK-NEXT: 10. 1 10.0 10.0 21.0 vaddps %ymm0, %ymm0, %ymm11 -# CHECK-NEXT: 11. 1 11.0 11.0 19.0 vaddps %ymm0, %ymm0, %ymm12 -# CHECK-NEXT: 12. 1 12.0 12.0 18.0 vaddps %ymm0, %ymm0, %ymm13 -# CHECK-NEXT: 13. 1 13.0 13.0 16.0 vaddps %ymm0, %ymm0, %ymm14 -# CHECK-NEXT: 14. 1 14.0 14.0 15.0 vaddps %ymm0, %ymm0, %ymm15 -# CHECK-NEXT: 15. 1 15.0 15.0 13.0 vaddps %ymm2, %ymm0, %ymm0 -# CHECK-NEXT: 16. 1 17.0 0.0 11.0 vaddps %ymm2, %ymm0, %ymm3 -# CHECK-NEXT: 17. 1 18.0 2.0 9.0 vaddps %ymm2, %ymm0, %ymm4 -# CHECK-NEXT: 18. 1 19.0 4.0 8.0 vaddps %ymm2, %ymm0, %ymm5 -# CHECK-NEXT: 19. 1 20.0 6.0 6.0 vaddps %ymm2, %ymm0, %ymm6 -# CHECK-NEXT: 20. 1 21.0 8.0 5.0 vaddps %ymm2, %ymm0, %ymm7 -# CHECK-NEXT: 21. 1 22.0 10.0 3.0 vaddps %ymm2, %ymm0, %ymm8 -# CHECK-NEXT: 22. 1 23.0 12.0 2.0 vaddps %ymm2, %ymm0, %ymm9 -# CHECK-NEXT: 23. 1 24.0 14.0 0.0 vaddps %ymm2, %ymm0, %ymm10 -# CHECK-NEXT: 24. 1 25.0 16.0 0.0 vaddps %ymm2, %ymm0, %ymm11 -# CHECK-NEXT: 25. 1 26.0 18.0 0.0 vaddps %ymm2, %ymm0, %ymm12 -# CHECK-NEXT: 26. 1 27.0 20.0 0.0 vaddps %ymm2, %ymm0, %ymm13 -# CHECK-NEXT: 27. 1 28.0 22.0 0.0 vaddps %ymm2, %ymm0, %ymm14 -# CHECK-NEXT: 28. 1 29.0 24.0 0.0 vaddps %ymm2, %ymm0, %ymm15 -# CHECK-NEXT: 29. 1 30.0 23.0 0.0 vaddps %ymm3, %ymm0, %ymm2 -# CHECK-NEXT: 30. 1 31.0 25.0 0.0 vaddps %ymm3, %ymm0, %ymm4 -# CHECK-NEXT: 31. 1 32.0 27.0 0.0 vaddps %ymm3, %ymm0, %ymm5 -# CHECK-NEXT: 32. 1 25.0 25.0 0.0 vaddps %ymm3, %ymm0, %ymm6 +# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vdivps %ymm0, %ymm0, %ymm1 +# CHECK-NEXT: 1. 1 1.0 1.0 34.0 vaddps %ymm0, %ymm0, %ymm2 +# CHECK-NEXT: 2. 1 2.0 2.0 33.0 vaddps %ymm0, %ymm0, %ymm3 +# CHECK-NEXT: 3. 1 3.0 3.0 31.0 vaddps %ymm0, %ymm0, %ymm4 +# CHECK-NEXT: 4. 1 4.0 4.0 30.0 vaddps %ymm0, %ymm0, %ymm5 +# CHECK-NEXT: 5. 1 5.0 5.0 28.0 vaddps %ymm0, %ymm0, %ymm6 +# CHECK-NEXT: 6. 1 6.0 6.0 27.0 vaddps %ymm0, %ymm0, %ymm7 +# CHECK-NEXT: 7. 1 7.0 7.0 25.0 vaddps %ymm0, %ymm0, %ymm8 +# CHECK-NEXT: 8. 1 8.0 8.0 24.0 vaddps %ymm0, %ymm0, %ymm9 +# CHECK-NEXT: 9. 1 9.0 9.0 22.0 vaddps %ymm0, %ymm0, %ymm10 +# CHECK-NEXT: 10. 1 10.0 10.0 21.0 vaddps %ymm0, %ymm0, %ymm11 +# CHECK-NEXT: 11. 1 11.0 11.0 19.0 vaddps %ymm0, %ymm0, %ymm12 +# CHECK-NEXT: 12. 1 12.0 12.0 18.0 vaddps %ymm0, %ymm0, %ymm13 +# CHECK-NEXT: 13. 1 13.0 13.0 16.0 vaddps %ymm0, %ymm0, %ymm14 +# CHECK-NEXT: 14. 1 14.0 14.0 15.0 vaddps %ymm0, %ymm0, %ymm15 +# CHECK-NEXT: 15. 1 15.0 15.0 13.0 vaddps %ymm2, %ymm0, %ymm0 +# CHECK-NEXT: 16. 1 17.0 0.0 11.0 vaddps %ymm2, %ymm0, %ymm3 +# CHECK-NEXT: 17. 1 18.0 2.0 9.0 vaddps %ymm2, %ymm0, %ymm4 +# CHECK-NEXT: 18. 1 19.0 4.0 8.0 vaddps %ymm2, %ymm0, %ymm5 +# CHECK-NEXT: 19. 1 20.0 6.0 6.0 vaddps %ymm2, %ymm0, %ymm6 +# CHECK-NEXT: 20. 1 21.0 8.0 5.0 vaddps %ymm2, %ymm0, %ymm7 +# CHECK-NEXT: 21. 1 22.0 10.0 3.0 vaddps %ymm2, %ymm0, %ymm8 +# CHECK-NEXT: 22. 1 23.0 12.0 2.0 vaddps %ymm2, %ymm0, %ymm9 +# CHECK-NEXT: 23. 1 24.0 14.0 0.0 vaddps %ymm2, %ymm0, %ymm10 +# CHECK-NEXT: 24. 1 25.0 16.0 0.0 vaddps %ymm2, %ymm0, %ymm11 +# CHECK-NEXT: 25. 1 26.0 18.0 0.0 vaddps %ymm2, %ymm0, %ymm12 +# CHECK-NEXT: 26. 1 27.0 20.0 0.0 vaddps %ymm2, %ymm0, %ymm13 +# CHECK-NEXT: 27. 1 28.0 22.0 0.0 vaddps %ymm2, %ymm0, %ymm14 +# CHECK-NEXT: 28. 1 29.0 24.0 0.0 vaddps %ymm2, %ymm0, %ymm15 +# CHECK-NEXT: 29. 1 30.0 23.0 0.0 vaddps %ymm3, %ymm0, %ymm2 +# CHECK-NEXT: 30. 1 31.0 25.0 0.0 vaddps %ymm3, %ymm0, %ymm4 +# CHECK-NEXT: 31. 1 32.0 27.0 0.0 vaddps %ymm3, %ymm0, %ymm5 +# CHECK-NEXT: 32. 1 25.0 25.0 0.0 vaddps %ymm3, %ymm0, %ymm6 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-aes.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-aes.s index d52d12a..e2fe0df 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-aes.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-aes.s @@ -27,52 +27,52 @@ aeskeygenassist $22, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 3 1.00 aesdec %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * aesdec (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 aesdeclast %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * aesdeclast (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 aesenc %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * aesenc (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 aesenclast %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * aesenclast (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 aesimc %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * aesimc (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 aeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * aeskeygenassist $22, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 3 1.00 aesdec %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * aesdec (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 aesdeclast %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * aesdeclast (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 aesenc %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * aesenc (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 aesenclast %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * aesenclast (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 aesimc %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * aesimc (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 aeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * aeskeygenassist $22, (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - - - 12.00 - 6.00 - - - - - 12.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesdec %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesdec (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesdeclast %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesdeclast (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesenc %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesenc (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesenclast %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesenclast (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesimc %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesimc (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesdec %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesdec (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesdeclast %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesdeclast (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesenc %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesenc (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesenclast %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesenclast (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesimc %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesimc (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aeskeygenassist $22, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s index aa8dc2c..209a6e7 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s @@ -1017,1394 +1017,1394 @@ vzeroupper # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vaddsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 3 1.00 vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 1.00 vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 1.00 vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vaesimc %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vaesimc (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vandps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 2 2.00 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 6 3 3.00 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 6 8 3.00 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 2 2.00 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 6 3 3.00 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 6 8 3.00 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 6 1.00 * vbroadcastf128 (%rax), %ymm2 -# CHECK-NEXT: 2 6 2.00 * vbroadcastsd (%rax), %ymm2 -# CHECK-NEXT: 1 6 1.00 * 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: 1 3 1.00 vcomisd %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * vcomisd (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * vcomiss (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 2 3 2.00 vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vcvtdq2pd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 2 3 2.00 vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vcvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 3 11 2.00 * vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: 3 11 2.00 * vcvtpd2psy (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 3 2.00 vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: 1 2 1.00 vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: 2 7 2.00 * vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: 2 7 1.00 vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 7 1.00 vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * vcvtsd2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * vcvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 7 2.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 12 2.00 * vcvtsd2ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 9 1.00 vcvtsi2sdl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 vcvtsi2sdq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: 2 14 1.00 * vcvtsi2sdl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 14 1.00 * vcvtsi2sdq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 vcvtsi2ssq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: 2 14 1.00 * vcvtsi2ssl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 14 1.00 * vcvtsi2ssq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 7 2.00 vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 12 2.00 * vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 7 1.00 vcvtss2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * vcvtss2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * vcvtss2si (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 3 11 2.00 * vcvttpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 3 2.00 vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vcvttps2dq (%rax), %ymm2 -# CHECK-NEXT: 2 7 1.00 vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 7 1.00 vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * vcvttsd2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * vcvttsd2si (%rax), %rcx -# CHECK-NEXT: 2 7 1.00 vcvttss2si %xmm0, %ecx -# CHECK-NEXT: 2 7 1.00 vcvttss2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * vcvttss2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * vcvttss2si (%rax), %rcx -# CHECK-NEXT: 1 19 19.00 vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 24 19.00 * vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 38 38.00 vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 43 38.00 * vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 19 19.00 vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 24 19.00 * vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 38 38.00 vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 43 38.00 * vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 19 19.00 vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 24 19.00 * vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 19 19.00 vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 24 19.00 * vdivss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 9 3.00 vdppd $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 14 3.00 * vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 5 11 3.00 vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 5 16 3.00 * vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 10 12 6.00 vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 10 17 6.00 * vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: 1 3 1.00 vextractps $1, %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 * vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vinsertf128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 6 1.00 * vinsertf128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vinsertps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 * * * vldmxcsr (%rax) -# CHECK-NEXT: 1 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 6 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 6 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 1 6 2.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 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: 1 6 2.00 * * vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 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 5 1.00 * vmovapd (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 vmovapd %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovapd %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovapd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovaps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovaps (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 vmovaps %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovaps %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovaps (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovd %eax, %xmm2 -# CHECK-NEXT: 1 5 1.00 * vmovd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * vmovd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 vmovddup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vmovddup (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 vmovddup %ymm0, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vmovddup (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovdqa %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovdqa %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovdqa (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovdqa %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovdqa (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovdqu %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovdqu %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovdqu (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovdqu %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovdqu (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovhlps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovlhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovhpd %xmm0, (%rax) -# CHECK-NEXT: 1 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovhps %xmm0, (%rax) -# CHECK-NEXT: 1 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovlpd %xmm0, (%rax) -# CHECK-NEXT: 1 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovlps %xmm0, (%rax) -# CHECK-NEXT: 1 6 1.00 * vmovlps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx -# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 vmovmskps %ymm0, %ecx -# CHECK-NEXT: 1 2 1.00 * vmovntdq %xmm0, (%rax) -# CHECK-NEXT: 1 2 2.00 * vmovntdq %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovntdqa (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 * vmovntdqa (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 * vmovntpd %xmm0, (%rax) -# CHECK-NEXT: 1 3 2.00 * vmovntpd %ymm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * vmovntps %xmm0, (%rax) -# CHECK-NEXT: 1 3 2.00 * vmovntps %ymm0, (%rax) -# CHECK-NEXT: 1 1 0.50 vmovq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovq %rax, %xmm2 -# CHECK-NEXT: 1 5 1.00 * vmovq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovq %xmm0, %rcx -# CHECK-NEXT: 1 1 1.00 * vmovq %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vmovshdup (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 vmovshdup %ymm0, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vmovshdup (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vmovsldup (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 vmovsldup %ymm0, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vmovsldup (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovss %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovupd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovupd %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovupd (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 vmovupd %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovupd %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovupd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovups %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * vmovups %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovups (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 vmovups %ymm0, %ymm2 -# CHECK-NEXT: 1 1 1.00 * vmovups %ymm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * vmovups (%rax), %ymm2 -# CHECK-NEXT: 1 3 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 2.00 vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 9 2.00 * vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 4 4.00 vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 4.00 * vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 2.00 * vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 2.00 vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 9 2.00 * vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpabsd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpabsw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpackuswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpaddb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpaddq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpaddsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpaddusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpaddusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpalignr $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpand (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpandn %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpandn (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpavgb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpavgb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpavgw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpavgw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 2 2.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpclmulqdq $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpcmpeqb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpcmpeqd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpcmpeqq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpcmpeqw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpcmpgtb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpcmpgtd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpcmpgtw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 6 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpermilpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: 3 2 2.00 vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vpermilpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vpermilpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: 6 3 3.00 vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 6 8 3.00 * vpermilpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpermilps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: 3 2 2.00 vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vpermilps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vpermilps $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: 6 3 3.00 vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 6 8 3.00 * vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 * vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 * vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: 1 3 1.00 * vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 * vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vphaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vphminposuw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vphminposuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpmaddubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpmaddwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmaxsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmaxsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmaxub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmaxud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmaxuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmaxuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpminsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpminsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpminub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpminud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpminuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpminuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vpmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 vpmuldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpmuldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpmulhrsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vpmulhuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpmulhuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vpmulhw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpmulhw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 4 2.00 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 9 2.00 * vpmulld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vpmullw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpmullw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vpmuludq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpmuludq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 0.50 vpsadbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 2 2.00 vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsignb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsignb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsignd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsignd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsignw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsignw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpslld $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsrlw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsubb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsubq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsubsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsubusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsubusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vptest %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * vptest (%rax), %xmm1 -# CHECK-NEXT: 3 4 2.00 vptest %ymm0, %ymm1 -# CHECK-NEXT: 3 9 2.00 * vptest (%rax), %ymm1 -# CHECK-NEXT: 1 1 0.50 vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpunpcklwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpxor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vpxor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vrcpps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vrcpps (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 vrcpps %ymm0, %ymm2 -# CHECK-NEXT: 2 7 2.00 * vrcpps (%rax), %ymm2 -# CHECK-NEXT: 1 2 1.00 vrcpss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vrcpss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 2 3 2.00 vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: 2 3 2.00 vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vroundss $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vrsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vrsqrtps (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 2 7 2.00 * vrsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 2 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 * vrsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vshufpd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vshufpd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vshufpd $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vshufpd $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vshufps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vshufps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vshufps $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vshufps $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 27 27.00 vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 1 32 27.00 * vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: 2 54 54.00 vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: 2 59 54.00 * vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: 1 21 21.00 vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 26 21.00 * vsqrtps (%rax), %xmm2 -# CHECK-NEXT: 2 42 42.00 vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 2 47 42.00 * vsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 27 27.00 vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 32 27.00 * vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 21 21.00 vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 26 21.00 * vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * vstmxcsr (%rax) -# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 2.00 vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 2.00 * vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vsubss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vtestpd %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * vtestpd (%rax), %xmm1 -# CHECK-NEXT: 3 4 2.00 vtestpd %ymm0, %ymm1 -# CHECK-NEXT: 3 9 2.00 * vtestpd (%rax), %ymm1 -# CHECK-NEXT: 1 3 1.00 vtestps %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * vtestps (%rax), %xmm1 -# CHECK-NEXT: 3 4 2.00 vtestps %ymm0, %ymm1 -# CHECK-NEXT: 3 9 2.00 * vtestps (%rax), %ymm1 -# CHECK-NEXT: 1 3 1.00 vucomisd %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * vucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 vucomiss %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * vucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 vunpckhpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vunpckhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vunpckhpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vunpckhpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vunpckhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vunpckhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vunpckhps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vunpckhps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vunpcklpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vunpcklpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vunpcklpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vunpcklpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vunpcklps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vunpcklps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vunpcklps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vunpcklps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 * vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 6 2.00 * vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 73 90 - * * * vzeroall -# CHECK-NEXT: 37 46 - * * * vzeroupper +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 3 1.00 vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vaesimc %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vaesimc (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vandps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 2 2.00 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 6 3 3.00 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 6 8 3.00 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 2 2.00 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 6 3 3.00 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 6 8 3.00 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 6 1.00 * vbroadcastf128 (%rax), %ymm2 +# CHECK-NEXT: 2 6 2.00 * vbroadcastsd (%rax), %ymm2 +# CHECK-NEXT: 1 6 1.00 * 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: 1 3 1.00 vcomisd %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * vcomisd (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * vcomiss (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 2 3 2.00 vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vcvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 2 3 2.00 vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 3 11 2.00 * vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: 3 11 2.00 * vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 3 2.00 vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: 1 2 1.00 vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: 2 7 2.00 * vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: 2 7 1.00 vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 7 1.00 vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * vcvtsd2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * vcvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 7 2.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 12 2.00 * vcvtsd2ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 9 1.00 vcvtsi2sdl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 vcvtsi2sdq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: 2 14 1.00 * vcvtsi2sdl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 14 1.00 * vcvtsi2sdq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 vcvtsi2ssq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: 2 14 1.00 * vcvtsi2ssl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 14 1.00 * vcvtsi2ssq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 7 2.00 vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 12 2.00 * vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 7 1.00 vcvtss2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * vcvtss2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * vcvtss2si (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 3 11 2.00 * vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 3 2.00 vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: 2 7 1.00 vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 7 1.00 vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * vcvttsd2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * vcvttsd2si (%rax), %rcx +# CHECK-NEXT: 2 7 1.00 vcvttss2si %xmm0, %ecx +# CHECK-NEXT: 2 7 1.00 vcvttss2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * vcvttss2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * vcvttss2si (%rax), %rcx +# CHECK-NEXT: 1 19 19.00 vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 24 19.00 * vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 38 38.00 vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 43 38.00 * vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 19 19.00 vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 24 19.00 * vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 38 38.00 vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 43 38.00 * vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 19 19.00 vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 24 19.00 * vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 19 19.00 vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 24 19.00 * vdivss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 9 3.00 vdppd $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 14 3.00 * vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 5 11 3.00 vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 5 16 3.00 * vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 10 12 6.00 vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 10 17 6.00 * vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: 1 3 1.00 vextractps $1, %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 * vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vinsertf128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 6 1.00 * vinsertf128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vinsertps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 * * * vldmxcsr (%rax) +# CHECK-NEXT: 1 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 6 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 6 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 1 6 2.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 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: 1 6 2.00 * * vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 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 5 1.00 * vmovapd (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 vmovapd %ymm0, %ymm2 +# CHECK-NEXT: 1 1 1.00 * vmovapd %ymm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovapd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovaps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovaps (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 vmovaps %ymm0, %ymm2 +# CHECK-NEXT: 1 1 1.00 * vmovaps %ymm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovaps (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovd %eax, %xmm2 +# CHECK-NEXT: 1 5 1.00 * vmovd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * vmovd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 vmovddup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vmovddup (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 vmovddup %ymm0, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vmovddup (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovdqa %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovdqa %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovdqa (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: 1 1 1.00 * vmovdqa %ymm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovdqa (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovdqu %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovdqu %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovdqu (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: 1 1 1.00 * vmovdqu %ymm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovdqu (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovhlps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovlhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovhpd %xmm0, (%rax) +# CHECK-NEXT: 1 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovhps %xmm0, (%rax) +# CHECK-NEXT: 1 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovlpd %xmm0, (%rax) +# CHECK-NEXT: 1 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovlps %xmm0, (%rax) +# CHECK-NEXT: 1 6 1.00 * vmovlps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx +# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 vmovmskps %ymm0, %ecx +# CHECK-NEXT: 1 2 1.00 * vmovntdq %xmm0, (%rax) +# CHECK-NEXT: 1 2 2.00 * vmovntdq %ymm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovntdqa (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 * vmovntdqa (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 * vmovntpd %xmm0, (%rax) +# CHECK-NEXT: 1 3 2.00 * vmovntpd %ymm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * vmovntps %xmm0, (%rax) +# CHECK-NEXT: 1 3 2.00 * vmovntps %ymm0, (%rax) +# CHECK-NEXT: 1 1 0.50 vmovq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovq %rax, %xmm2 +# CHECK-NEXT: 1 5 1.00 * vmovq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovq %xmm0, %rcx +# CHECK-NEXT: 1 1 1.00 * vmovq %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vmovshdup (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 vmovshdup %ymm0, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vmovshdup (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vmovsldup (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 vmovsldup %ymm0, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vmovsldup (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovss %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovupd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovupd %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovupd (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 vmovupd %ymm0, %ymm2 +# CHECK-NEXT: 1 1 1.00 * vmovupd %ymm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovupd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovups %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * vmovups %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovups (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 vmovups %ymm0, %ymm2 +# CHECK-NEXT: 1 1 1.00 * vmovups %ymm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * vmovups (%rax), %ymm2 +# CHECK-NEXT: 1 3 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 2.00 vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 9 2.00 * vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 4 4.00 vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 4.00 * vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 2.00 * vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 2.00 vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 9 2.00 * vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpabsd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpabsw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpaddq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpaddsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpaddusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpaddusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpandn (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpavgb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpavgb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpavgw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpavgw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 2 2.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpclmulqdq $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpcmpeqb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpcmpeqd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpcmpeqq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpcmpgtb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpcmpgtd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpcmpgtq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 6 1.00 * vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpermilpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: 3 2 2.00 vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vpermilpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vpermilpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: 6 3 3.00 vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 6 8 3.00 * vpermilpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpermilps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: 3 2 2.00 vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vpermilps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vpermilps $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: 6 3 3.00 vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 6 8 3.00 * vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 * vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 * vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: 1 3 1.00 * vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 * vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vphminposuw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vphminposuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpmaddubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpmaddwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmaxsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmaxsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmaxub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmaxud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmaxuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmaxuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpminsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpminsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpminub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpminud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpminuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpminuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vpmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 vpmuldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpmuldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpmulhrsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vpmulhuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpmulhuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vpmulhw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpmulhw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 4 2.00 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 9 2.00 * vpmulld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vpmullw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpmullw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vpmuludq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpmuludq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 0.50 vpsadbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 2 2.00 vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsignb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsignb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsignd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsignd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsignw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsignw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpslld $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsubq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsubsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsubusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsubusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vptest %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * vptest (%rax), %xmm1 +# CHECK-NEXT: 3 4 2.00 vptest %ymm0, %ymm1 +# CHECK-NEXT: 3 9 2.00 * vptest (%rax), %ymm1 +# CHECK-NEXT: 1 1 0.50 vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vpxor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vrcpps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vrcpps (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 vrcpps %ymm0, %ymm2 +# CHECK-NEXT: 2 7 2.00 * vrcpps (%rax), %ymm2 +# CHECK-NEXT: 1 2 1.00 vrcpss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vrcpss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 2 3 2.00 vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: 2 3 2.00 vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vroundss $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vrsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vrsqrtps (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 2 7 2.00 * vrsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 2 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 * vrsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vshufpd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vshufpd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vshufpd $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vshufpd $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vshufps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vshufps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vshufps $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 27 27.00 vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 1 32 27.00 * vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: 2 54 54.00 vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: 2 59 54.00 * vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: 1 21 21.00 vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 26 21.00 * vsqrtps (%rax), %xmm2 +# CHECK-NEXT: 2 42 42.00 vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 2 47 42.00 * vsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 27 27.00 vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 32 27.00 * vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 21 21.00 vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 26 21.00 * vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * vstmxcsr (%rax) +# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 2.00 vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 2.00 * vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vtestpd %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * vtestpd (%rax), %xmm1 +# CHECK-NEXT: 3 4 2.00 vtestpd %ymm0, %ymm1 +# CHECK-NEXT: 3 9 2.00 * vtestpd (%rax), %ymm1 +# CHECK-NEXT: 1 3 1.00 vtestps %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * vtestps (%rax), %xmm1 +# CHECK-NEXT: 3 4 2.00 vtestps %ymm0, %ymm1 +# CHECK-NEXT: 3 9 2.00 * vtestps (%rax), %ymm1 +# CHECK-NEXT: 1 3 1.00 vucomisd %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * vucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 vucomiss %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * vucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 vunpckhpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vunpckhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vunpckhpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vunpckhpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vunpckhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vunpckhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vunpckhps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vunpckhps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vunpcklpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vunpcklpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vunpcklpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vunpcklpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vunpcklps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vunpcklps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vunpcklps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vunpcklps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 * vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 6 2.00 * vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 73 90 - * * * vzeroall +# CHECK-NEXT: 37 46 - * * * vzeroupper # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 48.00 2.00 - 349.50 909.50 397.00 411.00 382.00 - 43.00 124.00 118.50 118.50 38.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vaddsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesimc %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesimc (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 2.00 - - - - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 2.00 - - - - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vbroadcastf128 (%rax), %ymm2 -# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 1.00 - - - - - - vbroadcastsd (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vbroadcastss (%rax), %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 1.00 - - - - - - vbroadcastss (%rax), %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmppd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vcmppd $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpps $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vcmpps $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpsd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpss $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vcomisd %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vcomisd (%rax), %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vcomiss %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vcomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtdq2pd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 - 2.00 - - - 2.00 - - - vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 - 2.00 2.00 - - 2.00 - - - vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 - 2.00 - - - 2.00 - - - vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 - 2.00 2.00 - - 2.00 - - - vcvtpd2psy (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtsd2si (%rax), %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtsd2si (%rax), %rcx -# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.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: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2sdl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 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: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %rcx -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 - 2.00 - - - 2.00 - - - vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 - 2.00 2.00 - - 2.00 - - - vcvttpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvttps2dq (%rax), %ymm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttss2si %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttss2si %xmm0, %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttss2si (%rax), %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttss2si (%rax), %rcx -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 38.00 - 2.00 - - - - - - - vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 38.00 - 2.00 2.00 - - - - - - vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 38.00 - 2.00 - - - - - - - vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 38.00 - 2.00 2.00 - - - - - - vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - vdppd $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 6.00 6.00 - 2.00 - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 6.00 6.00 - 2.00 2.00 - - - - - - vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vextractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 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 1.00 - - - - - - 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 1.00 - - - - - - vinsertps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vlddqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vlddqu (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vldmxcsr (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 2.00 - - - - - - vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - 1.00 - - - - vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 - - 2.00 - - - - vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 2.00 - - - - - - vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - 1.00 - - - - vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 - - 2.00 - - - - vmaskmovps %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vmaxpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vmaxps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vminpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vminps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovapd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovapd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovapd %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovapd %ymm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovapd (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovaps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovaps %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %ymm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovaps (%rax), %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovd %eax, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovd %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - - 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 1.00 - - - - - - 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 2.00 - - - - - - vmovddup (%rax), %ymm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqa %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 - vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %ymm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %ymm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqu %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 - vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %ymm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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: - - - - - - - - - 1.00 - - - - vmovhpd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhps %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlpd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlps %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovlps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vmovmskpd %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vmovmskpd %ymm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vmovmskps %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vmovmskps %ymm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovntdq %ymm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntpd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovntpd %ymm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntps %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 2.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 - - - - - - - - - - - - vmovq %rax, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovq (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovq %xmm0, %rcx -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovq %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovsd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vmovsldup (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovss %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovupd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovupd %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %ymm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovupd (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovups %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovups (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovups %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %ymm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovups (%rax), %ymm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 4.00 - 2.00 - - - - - - - vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 4.00 - 2.00 2.00 - - - - - - vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 2.00 - 2.00 - - - - - - - vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 2.00 - 2.00 2.00 - - - - - - vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpabsb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpavgw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - 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 1.00 - - - 0.50 0.50 - vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpcmpeqw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpgtb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpcmpgtw (%rax), %xmm1, %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 1.00 - - - - - - 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 1.00 - - - - - - vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - 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 2.00 - - - - - - vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 2.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 1.00 - - - - - - vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - 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 2.00 - - - - - - vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 - - - - - - - vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 2.00 - - - - - - vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vphaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vphminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vphminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpinsrw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpminuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpmovmskb %xmm0, %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmuldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulhrsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulhuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulhw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 2.50 0.50 - - - - 0.50 0.50 2.00 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 2.50 0.50 1.00 - - - 0.50 0.50 2.00 vpmulld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmullw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmullw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuludq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vptest %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vptest (%rax), %xmm1 -# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 - - - - - - - vptest %ymm0, %ymm1 -# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 2.00 - - - - - - vptest (%rax), %ymm1 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpxor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrcpps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpps (%rax), %xmm2 -# CHECK-NEXT: - - - - 2.00 - 2.00 - - - - - - - vrcpps %ymm0, %ymm2 -# CHECK-NEXT: - - - - 2.00 - 2.00 2.00 - - - - - - vrcpps (%rax), %ymm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrcpss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vroundss $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - - - 2.00 - 2.00 - - - - - - - vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - - - - 2.00 - 2.00 2.00 - - - - - - vrsqrtps (%rax), %ymm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vshufps $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 54.00 - 2.00 - - - - - - - vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: - - - - 54.00 - 2.00 2.00 - - - - - - vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - vsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - - - 42.00 - 2.00 - - - - - - - vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - - - - 42.00 - 2.00 2.00 - - - - - - vsqrtps (%rax), %ymm2 -# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vstmxcsr (%rax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vtestpd %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vtestpd (%rax), %xmm1 -# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 - - - - - - - vtestpd %ymm0, %ymm1 -# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 2.00 - - - - - - vtestpd (%rax), %ymm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vtestps %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vtestps (%rax), %xmm1 -# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 - - - - - - - vtestps %ymm0, %ymm1 -# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 2.00 - - - - - - vtestps (%rax), %ymm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vucomisd %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vucomisd (%rax), %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vucomiss %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - - - vzeroall -# CHECK-NEXT: - - - - - - - - - - - - - - vzeroupper +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesimc %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesimc (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 2.00 - - - - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 2.00 - - - - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vbroadcastf128 (%rax), %ymm2 +# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 1.00 - - - - - - vbroadcastsd (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vbroadcastss (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 1.00 - - - - - - vbroadcastss (%rax), %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmppd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vcmppd $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpps $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vcmpps $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpsd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpss $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vcomisd %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vcomisd (%rax), %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vcomiss %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vcomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 - 2.00 - - - 2.00 - - - vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 - 2.00 2.00 - - 2.00 - - - vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 - 2.00 - - - 2.00 - - - vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 - 2.00 2.00 - - 2.00 - - - vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtsd2si (%rax), %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtsd2si (%rax), %rcx +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.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: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2sdl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 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: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %rcx +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 - 2.00 - - - 2.00 - - - vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 - 2.00 2.00 - - 2.00 - - - vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttss2si %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttss2si %xmm0, %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttss2si (%rax), %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttss2si (%rax), %rcx +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 38.00 - 2.00 - - - - - - - vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 38.00 - 2.00 2.00 - - - - - - vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 38.00 - 2.00 - - - - - - - vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 38.00 - 2.00 2.00 - - - - - - vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - vdppd $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 6.00 6.00 - 2.00 - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 6.00 6.00 - 2.00 2.00 - - - - - - vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vextractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 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 1.00 - - - - - - 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 1.00 - - - - - - vinsertps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vlddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vlddqu (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vldmxcsr (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 2.00 - - - - - - vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - 1.00 - - - - vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 - - 2.00 - - - - vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 2.00 - - - - - - vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - 1.00 - - - - vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 - - 2.00 - - - - vmaskmovps %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovapd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovapd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovapd %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovapd %ymm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovapd (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovaps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovaps %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %ymm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovaps (%rax), %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovd %eax, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovd %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - - 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 1.00 - - - - - - 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 2.00 - - - - - - vmovddup (%rax), %ymm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqa %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 - vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %ymm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqu %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 - vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %ymm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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: - - - - - - - - - 1.00 - - - - vmovhpd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhps %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlpd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlps %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovlps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vmovmskpd %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vmovmskpd %ymm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vmovmskps %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vmovmskps %ymm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovntdq %ymm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntpd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 2.00 - - 2.00 2.00 - - - vmovntpd %ymm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntps %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 2.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 - - - - - - - - - - - - vmovq %rax, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovq (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovq %xmm0, %rcx +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovq %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovsd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vmovsldup (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovss %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovupd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovupd %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %ymm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovupd (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovups %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovups (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vmovups %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %ymm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovups (%rax), %ymm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 4.00 - 2.00 - - - - - - - vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 4.00 - 2.00 2.00 - - - - - - vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 2.00 - 2.00 - - - - - - - vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 2.00 - 2.00 2.00 - - - - - - vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpabsb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpavgw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - 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 1.00 - - - 0.50 0.50 - vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpgtb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpcmpgtw (%rax), %xmm1, %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 1.00 - - - - - - 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 1.00 - - - - - - vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - 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 2.00 - - - - - - vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 2.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 1.00 - - - - - - vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - 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 2.00 - - - - - - vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 - - - - - - - vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 3.00 3.00 1.00 1.00 2.00 - - - - - - vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vphminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vphminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpminuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vpmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmuldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulhrsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulhuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulhw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 2.50 0.50 - - - - 0.50 0.50 2.00 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 2.50 0.50 1.00 - - - 0.50 0.50 2.00 vpmulld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmullw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmullw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuludq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vptest %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vptest (%rax), %xmm1 +# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 - - - - - - - vptest %ymm0, %ymm1 +# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 2.00 - - - - - - vptest (%rax), %ymm1 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - vpxor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrcpps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpps (%rax), %xmm2 +# CHECK-NEXT: - - - - 2.00 - 2.00 - - - - - - - vrcpps %ymm0, %ymm2 +# CHECK-NEXT: - - - - 2.00 - 2.00 2.00 - - - - - - vrcpps (%rax), %ymm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrcpss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vroundss $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - - - 2.00 - 2.00 - - - - - - - vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - - - - 2.00 - 2.00 2.00 - - - - - - vrsqrtps (%rax), %ymm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 54.00 - 2.00 - - - - - - - vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: - - - - 54.00 - 2.00 2.00 - - - - - - vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - vsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - - - 42.00 - 2.00 - - - - - - - vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - - - - 42.00 - 2.00 2.00 - - - - - - vsqrtps (%rax), %ymm2 +# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vstmxcsr (%rax) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vtestpd %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vtestpd (%rax), %xmm1 +# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 - - - - - - - vtestpd %ymm0, %ymm1 +# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 2.00 - - - - - - vtestpd (%rax), %ymm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vtestps %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vtestps (%rax), %xmm1 +# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 - - - - - - - vtestps %ymm0, %ymm1 +# CHECK-NEXT: 1.00 - - 3.00 1.00 1.00 1.00 2.00 - - - - - - vtestps (%rax), %ymm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vucomisd %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vucomisd (%rax), %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vucomiss %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.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 1.00 - - - - - - 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 2.00 - - - - - - vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - - - vzeroall +# CHECK-NEXT: - - - - - - - - - - - - - - vzeroupper diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s index d67e042..3bb962c 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s @@ -45,76 +45,76 @@ tzcnt (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx -# CHECK-NEXT: 1 4 1.00 * andnl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx -# CHECK-NEXT: 1 4 1.00 * andnq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 1 0.50 bextrl %eax, %ebx, %ecx -# CHECK-NEXT: 1 4 1.00 * bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 bextrq %rax, %rbx, %rcx -# CHECK-NEXT: 1 4 1.00 * bextrq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx -# CHECK-NEXT: 1 4 1.00 * blsil (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx -# CHECK-NEXT: 1 4 1.00 * blsiq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx -# CHECK-NEXT: 1 4 1.00 * blsmskl (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx -# CHECK-NEXT: 1 4 1.00 * blsmskq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx -# CHECK-NEXT: 1 4 1.00 * blsrl (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsrq %rax, %rcx -# CHECK-NEXT: 1 4 1.00 * blsrq (%rax), %rcx -# CHECK-NEXT: 1 2 1.00 tzcntl %eax, %ecx -# CHECK-NEXT: 1 5 1.00 * tzcntl (%rax), %ecx -# CHECK-NEXT: 1 2 1.00 tzcntq %rax, %rcx -# CHECK-NEXT: 1 5 1.00 * tzcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx +# CHECK-NEXT: 1 4 1.00 * andnl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx +# CHECK-NEXT: 1 4 1.00 * andnq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 1 0.50 bextrl %eax, %ebx, %ecx +# CHECK-NEXT: 1 4 1.00 * bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 bextrq %rax, %rbx, %rcx +# CHECK-NEXT: 1 4 1.00 * bextrq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx +# CHECK-NEXT: 1 4 1.00 * blsil (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx +# CHECK-NEXT: 1 4 1.00 * blsiq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx +# CHECK-NEXT: 1 4 1.00 * blsmskl (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx +# CHECK-NEXT: 1 4 1.00 * blsmskq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx +# CHECK-NEXT: 1 4 1.00 * blsrl (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsrq %rax, %rcx +# CHECK-NEXT: 1 4 1.00 * blsrq (%rax), %rcx +# CHECK-NEXT: 1 2 1.00 tzcntl %eax, %ecx +# CHECK-NEXT: 1 5 1.00 * tzcntl (%rax), %ecx +# CHECK-NEXT: 1 2 1.00 tzcntq %rax, %rcx +# CHECK-NEXT: 1 5 1.00 * tzcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 14.00 14.00 - - - - - 12.00 - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andnl %eax, %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andnl (%rax), %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andnq %rax, %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andnq (%rax), %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - bextrl %eax, %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - bextrq %rax, %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - bextrq %rax, (%rbx), %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsil %eax, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsil (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsiq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsiq (%rax), %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsmskl %eax, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsmskl (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsmskq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsmskq (%rax), %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsrl %eax, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsrl (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsrq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsrq (%rax), %rcx -# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - tzcntl %eax, %ecx -# CHECK-NEXT: 1.00 1.00 - - - - - 1.00 - - - - - - tzcntl (%rax), %ecx -# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - tzcntq %rax, %rcx -# CHECK-NEXT: 1.00 1.00 - - - - - 1.00 - - - - - - tzcntq (%rax), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andnl %eax, %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andnl (%rax), %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andnq %rax, %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andnq (%rax), %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - bextrl %eax, %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - bextrq %rax, %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - bextrq %rax, (%rbx), %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsil %eax, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsil (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsiq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsiq (%rax), %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsmskl %eax, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsmskl (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsmskq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsmskq (%rax), %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsrl %eax, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsrl (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - blsrq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - blsrq (%rax), %rcx +# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - tzcntl %eax, %ecx +# CHECK-NEXT: 1.00 1.00 - - - - - 1.00 - - - - - - tzcntl (%rax), %ecx +# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - tzcntq %rax, %rcx +# CHECK-NEXT: 1.00 1.00 - - - - - 1.00 - - - - - - tzcntq (%rax), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-clmul.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-clmul.s index 8e4ca80..2958cc7 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-clmul.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-clmul.s @@ -12,32 +12,32 @@ pclmulqdq $11, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 2 1.00 pclmulqdq $11, %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pclmulqdq $11, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 2 1.00 pclmulqdq $11, %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pclmulqdq $11, (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - 2.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pclmulqdq $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pclmulqdq $11, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pclmulqdq $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pclmulqdq $11, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-f16c.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-f16c.s index d407cc4..cc71f86 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-f16c.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-f16c.s @@ -21,44 +21,44 @@ vcvtps2ph $0, %ymm0, (%rax) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: 2 3 2.00 vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: 2 8 2.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: 3 6 2.00 vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: 3 7 2.00 * vcvtps2ph $0, %ymm0, (%rax) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: 2 3 2.00 vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: 2 8 2.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: 3 6 2.00 vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: 3 7 2.00 * vcvtps2ph $0, %ymm0, (%rax) # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - 2.00 2.00 - 12.00 3.00 - 2.00 12.00 - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 1.00 - 2.00 - - - 2.00 - - - vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 - 2.00 - - 1.00 2.00 - - - vcvtps2ph $0, %ymm0, (%rax) +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 1.00 - 2.00 - - - 2.00 - - - vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 - 2.00 - - 1.00 2.00 - - - vcvtps2ph $0, %ymm0, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-lzcnt.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-lzcnt.s index 1dd144d..b08960e 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-lzcnt.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-lzcnt.s @@ -18,40 +18,40 @@ lzcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 lzcntw %cx, %cx -# CHECK-NEXT: 1 4 1.00 * lzcntw (%rax), %cx -# CHECK-NEXT: 1 1 0.50 lzcntl %eax, %ecx -# CHECK-NEXT: 1 4 1.00 * lzcntl (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 lzcntq %rax, %rcx -# CHECK-NEXT: 1 4 1.00 * lzcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 lzcntw %cx, %cx +# CHECK-NEXT: 1 4 1.00 * lzcntw (%rax), %cx +# CHECK-NEXT: 1 1 0.50 lzcntl %eax, %ecx +# CHECK-NEXT: 1 4 1.00 * lzcntl (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 lzcntq %rax, %rcx +# CHECK-NEXT: 1 4 1.00 * lzcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 3.00 3.00 - - - - - 3.00 - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lzcntw %cx, %cx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - lzcntw (%rax), %cx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lzcntl %eax, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - lzcntl (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lzcntq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - lzcntq (%rax), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lzcntw %cx, %cx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - lzcntw (%rax), %cx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lzcntl %eax, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - lzcntl (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lzcntq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - lzcntq (%rax), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s index 3927306..20fad19 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s @@ -163,238 +163,238 @@ pxor (%rax), %mm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 2 0.50 * * * emms -# CHECK-NEXT: 1 1 0.50 movd %eax, %mm2 -# CHECK-NEXT: 1 5 1.00 * movd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 movd %mm0, %ecx -# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movq %rax, %mm2 -# CHECK-NEXT: 1 5 1.00 * movq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 movq %mm0, %rcx -# CHECK-NEXT: 1 1 1.00 * movq %mm0, (%rax) -# CHECK-NEXT: 1 1 0.50 packsswb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * packsswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 packssdw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * packssdw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 packuswb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * packuswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * paddb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * paddd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * paddsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * paddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * paddusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * paddusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * paddw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pand (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pandn (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pcmpeqb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pcmpeqd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pcmpeqw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pcmpgtb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pcmpgtd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pcmpgtw (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 pmaddwd %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmaddwd (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 pmulhw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmulhw (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 pmullw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmullw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 por %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * por (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pslld $1, %mm2 -# CHECK-NEXT: 1 1 0.50 pslld %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pslld (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psllq $1, %mm2 -# CHECK-NEXT: 1 1 0.50 psllq %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psllq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psllw $1, %mm2 -# CHECK-NEXT: 1 1 0.50 psllw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psllw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psrad $1, %mm2 -# CHECK-NEXT: 1 1 0.50 psrad %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psrad (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psraw $1, %mm2 -# CHECK-NEXT: 1 1 0.50 psraw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psraw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psrld $1, %mm2 -# CHECK-NEXT: 1 1 0.50 psrld %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psrld (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psrlq $1, %mm2 -# CHECK-NEXT: 1 1 0.50 psrlq %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psrlq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psrlw $1, %mm2 -# CHECK-NEXT: 1 1 0.50 psrlw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psrlw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psubb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psubd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psubsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psubusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psubusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psubw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 punpckhbw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * punpckhbw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 punpckhdq %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * punpckhdq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 punpckhwd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * punpckhwd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 punpcklbw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * punpcklbw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 punpckldq %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * punpckldq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 punpcklwd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * punpcklwd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pxor %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pxor (%rax), %mm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 2 0.50 * * * emms +# CHECK-NEXT: 1 1 0.50 movd %eax, %mm2 +# CHECK-NEXT: 1 5 1.00 * movd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 movd %mm0, %ecx +# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movq %rax, %mm2 +# CHECK-NEXT: 1 5 1.00 * movq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 movq %mm0, %rcx +# CHECK-NEXT: 1 1 1.00 * movq %mm0, (%rax) +# CHECK-NEXT: 1 1 0.50 packsswb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * packsswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 packssdw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * packssdw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 packuswb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * packuswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * paddb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * paddd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * paddsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * paddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * paddusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * paddusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * paddw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pand (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pandn (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pcmpeqb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pcmpeqd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pcmpeqw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pcmpgtb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pcmpgtd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pcmpgtw (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 pmaddwd %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmaddwd (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 pmulhw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmulhw (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 pmullw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmullw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 por %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * por (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pslld $1, %mm2 +# CHECK-NEXT: 1 1 0.50 pslld %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pslld (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psllq $1, %mm2 +# CHECK-NEXT: 1 1 0.50 psllq %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psllq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psllw $1, %mm2 +# CHECK-NEXT: 1 1 0.50 psllw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psllw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psrad $1, %mm2 +# CHECK-NEXT: 1 1 0.50 psrad %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psrad (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psraw $1, %mm2 +# CHECK-NEXT: 1 1 0.50 psraw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psraw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psrld $1, %mm2 +# CHECK-NEXT: 1 1 0.50 psrld %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psrld (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psrlq $1, %mm2 +# CHECK-NEXT: 1 1 0.50 psrlq %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psrlq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psrlw $1, %mm2 +# CHECK-NEXT: 1 1 0.50 psrlw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psrlw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psubb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psubd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psubsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psubusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psubusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psubw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 punpckhbw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * punpckhbw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 punpckhdq %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * punpckhdq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 punpckhwd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * punpckhwd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 punpcklbw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * punpcklbw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 punpckldq %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * punpckldq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 punpcklwd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * punpcklwd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pxor %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pxor (%rax), %mm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 2.00 2.00 - 0.50 0.50 52.00 47.00 46.00 - 2.00 1.00 45.50 45.50 6.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - emms -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %eax, %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movd (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %mm0, %ecx -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movd %mm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %rax, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movq (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %mm0, %rcx -# CHECK-NEXT: - - - - - - 1.00 - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - pcmpgtw (%rax), %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddwd %mm0, %mm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddwd (%rax), %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhw %mm0, %mm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhw (%rax), %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmullw %mm0, %mm2 -# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - pxor (%rax), %mm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - emms +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %eax, %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movd (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %mm0, %ecx +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movd %mm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %rax, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movq (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %mm0, %rcx +# CHECK-NEXT: - - - - - - 1.00 - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - pcmpgtw (%rax), %mm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddwd %mm0, %mm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddwd (%rax), %mm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhw %mm0, %mm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhw (%rax), %mm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmullw %mm0, %mm2 +# CHECK-NEXT: - - - - - 1.00 - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 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 1.00 - - - 0.50 0.50 - pxor (%rax), %mm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-popcnt.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-popcnt.s index 45ea05c..a729524d 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-popcnt.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-popcnt.s @@ -18,40 +18,40 @@ popcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 popcntw %cx, %cx -# CHECK-NEXT: 1 4 1.00 * popcntw (%rax), %cx -# CHECK-NEXT: 1 1 0.50 popcntl %eax, %ecx -# CHECK-NEXT: 1 4 1.00 * popcntl (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 popcntq %rax, %rcx -# CHECK-NEXT: 1 4 1.00 * popcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 popcntw %cx, %cx +# CHECK-NEXT: 1 4 1.00 * popcntw (%rax), %cx +# CHECK-NEXT: 1 1 0.50 popcntl %eax, %ecx +# CHECK-NEXT: 1 4 1.00 * popcntl (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 popcntq %rax, %rcx +# CHECK-NEXT: 1 4 1.00 * popcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 3.00 3.00 - - - - - 3.00 - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - popcntw %cx, %cx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - popcntw (%rax), %cx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - popcntl %eax, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - popcntl (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - popcntq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - popcntq (%rax), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - popcntw %cx, %cx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - popcntw (%rax), %cx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - popcntl %eax, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - popcntl (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - popcntq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - popcntq (%rax), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s index 2e9b85a..0e870ed 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s @@ -193,276 +193,276 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * addss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andnps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * andnps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * andps (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * comiss (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 1 8 1.00 * cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 2 9 1.00 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 2 9 1.00 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 2 14 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 14 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 7 1.00 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 1 8 1.00 * cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 2 7 1.00 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 2 7 1.00 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %rcx -# CHECK-NEXT: 1 19 19.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 1 24 19.00 * divps (%rax), %xmm2 -# CHECK-NEXT: 1 19 19.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 1 24 19.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 1 0.50 * * * maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 2 1.00 maxps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * maxps (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 maxss %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 minps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * minps (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 minss %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * minss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movaps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * movaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 movlhps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax) -# CHECK-NEXT: 1 6 1.00 * movhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax) -# CHECK-NEXT: 1 6 1.00 * movlps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 * movntps %xmm0, (%rax) -# CHECK-NEXT: 1 2 1.00 * * * movntq %mm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * movss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movups %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movups %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * movups (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 mulps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * mulps (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 mulss %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * mulss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 orps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * orps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pavgb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pavgw (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 1 1 0.50 pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 1 6 1.00 * pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pmaxsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pmaxub (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pminsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pminub (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 2 1.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 * * prefetcht0 (%rax) -# CHECK-NEXT: 1 5 1.00 * * prefetcht1 (%rax) -# CHECK-NEXT: 1 5 1.00 * * prefetcht2 (%rax) -# CHECK-NEXT: 1 5 1.00 * * prefetchnta (%rax) -# CHECK-NEXT: 1 2 0.50 psadbw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * psadbw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * rcpps (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 rcpss %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * rcpss (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * sfence -# CHECK-NEXT: 1 1 0.50 shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 21 21.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 26 21.00 * sqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 21 21.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 1 26 21.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rax) -# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * subps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * subss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * unpcklps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 xorps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * xorps (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andnps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * andnps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * andps (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * comiss (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 1 8 1.00 * cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 2 9 1.00 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 2 9 1.00 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 2 14 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 14 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 7 1.00 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 1 8 1.00 * cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 2 7 1.00 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 2 7 1.00 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %rcx +# CHECK-NEXT: 1 19 19.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 1 24 19.00 * divps (%rax), %xmm2 +# CHECK-NEXT: 1 19 19.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 1 24 19.00 * divss (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 1 0.50 * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 2 1.00 maxps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 maxss %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * maxss (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 minps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 minss %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * minss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movaps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * movaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 movlhps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax) +# CHECK-NEXT: 1 6 1.00 * movhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax) +# CHECK-NEXT: 1 6 1.00 * movlps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 * movntps %xmm0, (%rax) +# CHECK-NEXT: 1 2 1.00 * * * movntq %mm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * movss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movups %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movups %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * movups (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 mulps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * mulps (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 mulss %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * mulss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 orps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * orps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pavgb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pavgw (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 1 1 0.50 pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 1 6 1.00 * pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pmaxsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pmaxub (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pminsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pminub (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 2 1.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 * * prefetcht0 (%rax) +# CHECK-NEXT: 1 5 1.00 * * prefetcht1 (%rax) +# CHECK-NEXT: 1 5 1.00 * * prefetcht2 (%rax) +# CHECK-NEXT: 1 5 1.00 * * prefetchnta (%rax) +# CHECK-NEXT: 1 2 0.50 psadbw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * psadbw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * rcpps (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 rcpss %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * rcpss (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * sfence +# CHECK-NEXT: 1 1 0.50 shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 21 21.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 26 21.00 * sqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 21 21.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 1 26 21.00 * sqrtss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rax) +# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * unpcklps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 xorps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * xorps (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 15.00 - - 46.50 183.50 50.00 63.00 58.00 - 9.00 22.00 9.50 9.50 2.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andnps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andnps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - comiss %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - comiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2pi (%rax), %mm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %rcx -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %rcx -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divps (%rax), %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - ldmxcsr (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - maskmovq %mm0, %mm1 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movaps %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movaps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movhlps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movlhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhps %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movhps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlps %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movlps (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movmskps %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntps %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntq %mm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movss %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movss %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movups %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movups %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movups (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - orps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - orps (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgb %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgb (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgw (%rax), %mm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrw $1, %mm0, %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrw $1, %eax, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsw (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxub %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxub (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsw (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminub %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminub (%rax), %mm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhuw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - prefetcht0 (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - prefetcht1 (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - prefetcht2 (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - prefetchnta (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psadbw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psadbw (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufw $1, %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufw $1, (%rax), %mm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rcpps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rcpps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rcpss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rcpss (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rsqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sfence -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - shufps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtps (%rax), %xmm2 -# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - stmxcsr (%rax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subss (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpckhps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpckhps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpcklps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpcklps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - xorps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - xorps (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andnps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andnps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - comiss %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - comiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2pi (%rax), %mm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %rcx +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %rcx +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divps (%rax), %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - ldmxcsr (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - maskmovq %mm0, %mm1 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movaps %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movaps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movhlps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movlhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhps %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movhps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlps %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movlps (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movmskps %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntps %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntq %mm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movss %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movss %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movups %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movups %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movups (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - orps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - orps (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgb %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgb (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgw (%rax), %mm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrw $1, %mm0, %ecx +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrw $1, %eax, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsw (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxub %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxub (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsw (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminub %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminub (%rax), %mm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhuw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - prefetcht0 (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - prefetcht1 (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - prefetcht2 (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - prefetchnta (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psadbw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psadbw (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufw $1, %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufw $1, (%rax), %mm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rcpps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rcpps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rcpss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rcpss (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rsqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sfence +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - shufps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtps (%rax), %xmm2 +# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - stmxcsr (%rax) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subss (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpckhps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpckhps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpcklps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpcklps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - xorps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - xorps (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s index ecb5f69..3975b47 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s @@ -401,556 +401,556 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * addsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * andnpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * andpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 * * * clflush (%rax) -# CHECK-NEXT: 1 2 1.00 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * comisd (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 1 8 1.00 * cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 7 1.00 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * cvtsd2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * cvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 7 2.00 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 2 12 2.00 * cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 2 9 1.00 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 2 14 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 14 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 7 2.00 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 2 12 2.00 * cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 1 8 1.00 * cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 7 1.00 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * cvttsd2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * cvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 19 19.00 divpd %xmm0, %xmm2 -# CHECK-NEXT: 1 24 19.00 * divpd (%rax), %xmm2 -# CHECK-NEXT: 1 19 19.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 1 24 19.00 * divsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * lfence -# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 2 1.00 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * maxpd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 maxsd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * maxsd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 minpd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * minpd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 minsd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * minsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movapd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * movapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movd %eax, %xmm2 -# CHECK-NEXT: 1 5 1.00 * movd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * movdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movdqu %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * movdqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * movhpd %xmm0, (%rax) -# CHECK-NEXT: 1 6 1.00 * movhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax) -# CHECK-NEXT: 1 6 1.00 * movlpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax) -# CHECK-NEXT: 1 2 1.00 * movntdq %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 movq %rax, %xmm2 -# CHECK-NEXT: 1 5 1.00 * movq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movq %xmm0, %rcx -# CHECK-NEXT: 1 1 1.00 * movq %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 movsd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * movsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movupd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movupd %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 * movupd (%rax), %xmm2 -# CHECK-NEXT: 1 4 2.00 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 1 9 2.00 * mulpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 2.00 mulsd %xmm0, %xmm2 -# CHECK-NEXT: 1 9 2.00 * mulsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 orpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * orpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 packssdw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * packssdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 packsswb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * packsswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 packuswb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * packuswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * paddb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * paddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * paddq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * paddq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * paddsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * paddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * paddusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * paddusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * paddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pand %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pand (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pandn %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pandn (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pavgb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pavgw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 2 1.00 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmaxub (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pminsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pminub (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 2 1.00 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmulhw (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 pmullw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmullw (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 por %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * por (%rax), %xmm2 -# CHECK-NEXT: 1 2 0.50 psadbw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * psadbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pslld $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 pslld %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pslld (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psllq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psllq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psllq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psllw $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psllw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psllw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrad $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psrad %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psrad (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psraw $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psraw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psraw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrld $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psrld %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psrld (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psrlq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlw $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psrlw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psubb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psubd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psubq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psubq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psubsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psubusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psubusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psubw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pxor %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pxor (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 27 27.00 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 1 32 27.00 * sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 27 27.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 1 32 27.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * subsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * xorpd (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * andnpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * andpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 * * * clflush (%rax) +# CHECK-NEXT: 1 2 1.00 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * comisd (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 1 8 1.00 * cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 7 1.00 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * cvtsd2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * cvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 7 2.00 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 2 12 2.00 * cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 2 9 1.00 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 2 14 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 14 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 7 2.00 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 2 12 2.00 * cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 1 8 1.00 * cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 7 1.00 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * cvttsd2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * cvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 19 19.00 divpd %xmm0, %xmm2 +# CHECK-NEXT: 1 24 19.00 * divpd (%rax), %xmm2 +# CHECK-NEXT: 1 19 19.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 1 24 19.00 * divsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * lfence +# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 2 1.00 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 maxsd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * maxsd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 minpd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 minsd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * minsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movapd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * movapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movd %eax, %xmm2 +# CHECK-NEXT: 1 5 1.00 * movd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * movdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movdqu %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * movdqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * movhpd %xmm0, (%rax) +# CHECK-NEXT: 1 6 1.00 * movhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax) +# CHECK-NEXT: 1 6 1.00 * movlpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax) +# CHECK-NEXT: 1 2 1.00 * movntdq %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 movq %rax, %xmm2 +# CHECK-NEXT: 1 5 1.00 * movq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movq %xmm0, %rcx +# CHECK-NEXT: 1 1 1.00 * movq %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 movsd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * movsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movupd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movupd %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 * movupd (%rax), %xmm2 +# CHECK-NEXT: 1 4 2.00 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 1 9 2.00 * mulpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 2.00 mulsd %xmm0, %xmm2 +# CHECK-NEXT: 1 9 2.00 * mulsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 orpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * orpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 packssdw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * packssdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 packsswb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * packsswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 packuswb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * packuswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * paddb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * paddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * paddq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * paddq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * paddsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * paddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * paddusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * paddusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * paddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pand %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pand (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pandn %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pandn (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pavgb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pavgw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 2 1.00 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmaxub (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pminsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pminub (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 2 1.00 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmulhw (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 pmullw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmullw (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 por %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * por (%rax), %xmm2 +# CHECK-NEXT: 1 2 0.50 psadbw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * psadbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pslld $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 pslld %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pslld (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psllq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psllq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psllq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psllw $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psllw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psllw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrad $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psrad %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psrad (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psraw $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psraw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psraw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrld $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psrld %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psrld (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psrlq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlw $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psrlw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psubb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psubd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psubq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psubq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psubsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psubusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psubusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psubw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pxor %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pxor (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 27 27.00 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 1 32 27.00 * sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 27 27.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 1 32 27.00 * sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * xorpd (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 17.00 2.00 - 45.50 202.50 115.00 133.00 117.00 - 15.00 49.00 65.50 65.50 12.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andnpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andnpd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - clflush (%rax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - comisd %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - comisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %rcx -# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %ecx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %rcx -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - lfence -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movapd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movapd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %eax, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movd %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqa %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqu %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movdqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdq2q %xmm0, %mm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhpd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlpd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movlpd (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movmskpd %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntil %eax, (%rax) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntiq %rax, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntpd %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %rax, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movq (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %xmm0, %rcx -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movq %xmm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movq2dq %mm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movsd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movupd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movupd (%rax), %xmm2 -# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - orpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - orpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packssdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packssdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packsswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packsswb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packuswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packuswb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddq %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddq (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddsb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddusb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddusb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddusw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddusw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pand %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pand (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pandn %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pandn (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxub %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxub (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminub %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminub (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmullw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmullw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuludq (%rax), %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuludq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - por %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - por (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psadbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psadbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslld $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslld %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pslld (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslldq $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllq $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psllq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllw $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psllw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrad $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrad %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrad (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psraw $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psraw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psraw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrld $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrld %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrld (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrldq $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlq $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrlq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlw $1, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrlw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubq %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubq (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubsb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubusb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubusb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubusw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubusw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckldq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckldq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pxor %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pxor (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - sqrtpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subsd (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpckhpd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpcklpd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - xorpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - xorpd (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andnpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andnpd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - clflush (%rax) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - comisd %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - comisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %rcx +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %ecx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %rcx +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - lfence +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movapd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movapd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %eax, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movd %xmm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqa %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqu %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movdqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdq2q %xmm0, %mm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhpd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlpd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movlpd (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movmskpd %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntil %eax, (%rax) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntiq %rax, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntpd %xmm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %rax, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movq (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %xmm0, %rcx +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movq %xmm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movq2dq %mm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movsd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movupd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movupd (%rax), %xmm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - orpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - orpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packssdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packssdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packsswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packsswb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packuswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packuswb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddq %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddq (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddsb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddusb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddusb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddusw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddusw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pand %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pand (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pandn %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pandn (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxub %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxub (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminub %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminub (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmullw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmullw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuludq (%rax), %mm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuludq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - por %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - por (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psadbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psadbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslld $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslld %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pslld (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslldq $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllq $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psllq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllw $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psllw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrad $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrad %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrad (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psraw $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psraw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psraw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrld $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrld %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrld (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrldq $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlq $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrlq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlw $1, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrlw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubq %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubq (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubsb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubusb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubusb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubusw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubusw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckldq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckldq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pxor %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pxor (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - sqrtpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 27.00 - 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 27.00 - 1.00 1.00 - - - - - - sqrtsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subsd (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpckhpd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpcklpd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - xorpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - xorpd (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s index dcd8833..9d74db1 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s @@ -38,66 +38,66 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * addsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 haddpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * haddpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 haddps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * haddps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 hsubps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * hsubps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 * lddqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movddup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * movddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * movsldup (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * addsubps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * haddpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 haddps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * haddps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 * lddqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movddup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * movddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * movshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * movsldup (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - 15.00 3.00 15.50 3.50 10.00 - - - 0.50 0.50 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsubps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - haddpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - haddpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - haddps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - haddps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubps (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - lddqu (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movddup %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movddup (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movshdup %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movshdup (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movsldup %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movsldup (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsubps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - haddpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - haddpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - haddps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - haddps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - lddqu (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movddup %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movddup (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movshdup %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movshdup (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movsldup %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movsldup (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s index daa419c..ed8d7f5 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s @@ -154,220 +154,220 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * blendps $11, (%rax), %xmm2 -# CHECK-NEXT: 3 2 2.00 blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 7 2.00 * blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 3 2 2.00 blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 7 2.00 * blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 3 9 3.00 dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 3.00 * dppd $22, (%rax), %xmm2 -# CHECK-NEXT: 5 11 3.00 dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: 5 16 3.00 * dpps $22, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 extractps $1, %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 * extractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * insertps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 1 3 2.00 mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 2.00 * mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 packusdw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * packusdw (%rax), %xmm2 -# CHECK-NEXT: 3 2 2.00 pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 7 2.00 * pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 pextrb $1, %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 * pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 pextrd $1, %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 * pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 pextrq $1, %xmm0, %rcx -# CHECK-NEXT: 1 3 1.00 * pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 2 1.00 phminposuw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * phminposuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: 1 6 1.00 * pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: 1 6 1.00 * pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: 1 6 1.00 * pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmaxsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmaxsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmaxud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmaxuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pminsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pminsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pminud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pminuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 pmuldq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmuldq (%rax), %xmm2 -# CHECK-NEXT: 3 4 2.00 pmulld %xmm0, %xmm2 -# CHECK-NEXT: 3 9 2.00 * pmulld (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ptest %xmm0, %xmm1 -# CHECK-NEXT: 1 8 1.00 * ptest (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * roundps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * roundss $1, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * blendps $11, (%rax), %xmm2 +# CHECK-NEXT: 3 2 2.00 blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 7 2.00 * blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 3 2 2.00 blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 7 2.00 * blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 3 9 3.00 dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 3.00 * dppd $22, (%rax), %xmm2 +# CHECK-NEXT: 5 11 3.00 dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: 5 16 3.00 * dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 extractps $1, %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 * extractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * insertps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 * movntdqa (%rax), %xmm2 +# CHECK-NEXT: 1 3 2.00 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 2.00 * mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 packusdw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * packusdw (%rax), %xmm2 +# CHECK-NEXT: 3 2 2.00 pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 7 2.00 * pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 pextrb $1, %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 * pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 pextrd $1, %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 * pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 pextrq $1, %xmm0, %rcx +# CHECK-NEXT: 1 3 1.00 * pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 2 1.00 phminposuw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * phminposuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: 1 6 1.00 * pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: 1 6 1.00 * pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: 1 6 1.00 * pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmaxsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmaxsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmaxud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmaxuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pminsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pminsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pminud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pminuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 pmuldq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmuldq (%rax), %xmm2 +# CHECK-NEXT: 3 4 2.00 pmulld %xmm0, %xmm2 +# CHECK-NEXT: 3 9 2.00 * pmulld (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ptest %xmm0, %xmm1 +# CHECK-NEXT: 1 8 1.00 * ptest (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * roundps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * roundss $1, (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 6.00 - - 29.00 23.00 49.50 50.50 44.00 - 5.00 13.00 32.50 32.50 10.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - blendps $11, (%rax), %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - dppd $22, (%rax), %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - dpps $22, (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - extractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - extractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - insertps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packusdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packusdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - phminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - phminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxud %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxud (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminud %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminud (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminuw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuldq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuldq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 2.50 0.50 - - - - 0.50 0.50 2.00 pmulld %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 2.50 0.50 1.00 - - - 0.50 0.50 2.00 pmulld (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ptest %xmm0, %xmm1 -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ptest (%rax), %xmm1 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - roundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - roundss $1, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - blendps $11, (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - dppd $22, (%rax), %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - extractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - extractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - insertps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packusdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packusdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - pextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - phminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - phminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxud %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxud (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminud %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminud (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminuw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuldq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuldq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 2.50 0.50 - - - - 0.50 0.50 2.00 pmulld %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 2.50 0.50 1.00 - - - 0.50 0.50 2.00 pmulld (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ptest %xmm0, %xmm1 +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ptest (%rax), %xmm1 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - roundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - roundss $1, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s index d9fd6db..5089960 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s @@ -39,68 +39,68 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 3 3 2.00 crc32b %al, %ecx -# CHECK-NEXT: 3 6 2.00 * crc32b (%rax), %ecx -# CHECK-NEXT: 3 3 2.00 crc32l %eax, %ecx -# CHECK-NEXT: 3 6 2.00 * crc32l (%rax), %ecx -# CHECK-NEXT: 3 3 2.00 crc32w %ax, %ecx -# CHECK-NEXT: 3 6 2.00 * crc32w (%rax), %ecx -# CHECK-NEXT: 3 3 2.00 crc32b %al, %rcx -# CHECK-NEXT: 3 6 2.00 * crc32b (%rax), %rcx -# CHECK-NEXT: 3 3 2.00 crc32q %rax, %rcx -# CHECK-NEXT: 3 6 2.00 * crc32q (%rax), %rcx -# CHECK-NEXT: 9 14 5.00 pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 9 19 5.00 * pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 9 14 5.00 pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 9 19 5.00 * pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 3 7 2.00 pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 12 2.00 * pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 3 8 2.00 pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 13 2.00 * pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pcmpgtq (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 3 3 2.00 crc32b %al, %ecx +# CHECK-NEXT: 3 6 2.00 * crc32b (%rax), %ecx +# CHECK-NEXT: 3 3 2.00 crc32l %eax, %ecx +# CHECK-NEXT: 3 6 2.00 * crc32l (%rax), %ecx +# CHECK-NEXT: 3 3 2.00 crc32w %ax, %ecx +# CHECK-NEXT: 3 6 2.00 * crc32w (%rax), %ecx +# CHECK-NEXT: 3 3 2.00 crc32b %al, %rcx +# CHECK-NEXT: 3 6 2.00 * crc32b (%rax), %rcx +# CHECK-NEXT: 3 3 2.00 crc32q %rax, %rcx +# CHECK-NEXT: 3 6 2.00 * crc32q (%rax), %rcx +# CHECK-NEXT: 9 14 5.00 pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 19 5.00 * pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 14 5.00 pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 19 5.00 * pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 3 7 2.00 pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 12 2.00 * pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 8 2.00 pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 13 2.00 * pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pcmpgtq (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 28.00 20.00 - 8.00 - 1.00 9.00 18.00 - 8.00 - 13.00 37.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32b %al, %ecx -# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32b (%rax), %ecx -# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32l %eax, %ecx -# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32l (%rax), %ecx -# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32w %ax, %ecx -# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32w (%rax), %ecx -# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32b %al, %rcx -# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32b (%rax), %rcx -# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32q %rax, %rcx -# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32q (%rax), %rcx -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 2.00 - 2.00 - 3.00 7.00 - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 3.00 - 2.00 - 3.00 7.00 - pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 2.00 - 2.00 - 3.00 7.00 - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 3.00 - 2.00 - 3.00 7.00 - pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - - - 2.00 - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - - - 2.00 - pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - - - 2.00 - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - - - 2.00 - pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtq (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32b %al, %ecx +# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32b (%rax), %ecx +# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32l %eax, %ecx +# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32l (%rax), %ecx +# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32w %ax, %ecx +# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32w (%rax), %ecx +# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32b %al, %rcx +# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32b (%rax), %rcx +# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32q %rax, %rcx +# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32q (%rax), %rcx +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 2.00 - 2.00 - 3.00 7.00 - pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 3.00 - 2.00 - 3.00 7.00 - pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 2.00 - 2.00 - 3.00 7.00 - pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 3.00 - 2.00 - 3.00 7.00 - pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - - - 2.00 - pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - - - 2.00 - pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - - - 2.00 - pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - - - 2.00 - pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtq (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s index 1a2c9f8..ac3fcdc 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s @@ -18,40 +18,40 @@ movntss %xmm0, (%rax) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 extrq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 extrq $22, $2, %xmm2 -# CHECK-NEXT: 1 2 2.00 insertq %xmm0, %xmm2 -# CHECK-NEXT: 1 2 2.00 insertq $22, $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.00 * movntsd %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movntss %xmm0, (%rax) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 extrq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 extrq $22, $2, %xmm2 +# CHECK-NEXT: 1 2 2.00 insertq %xmm0, %xmm2 +# CHECK-NEXT: 1 2 2.00 insertq $22, $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.00 * movntsd %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movntss %xmm0, (%rax) # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - - - 2.00 4.00 - - 2.00 2.00 5.00 5.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - extrq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - extrq $22, $2, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - insertq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - insertq $22, $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntsd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntss %xmm0, (%rax) +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - extrq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - extrq $22, $2, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - insertq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - insertq $22, $22, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntsd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntss %xmm0, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s index 667e809..b12c647 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s @@ -105,156 +105,156 @@ psignw (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pabsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pabsd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * pabsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * pabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 palignr $1, %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phaddd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * phaddd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phaddd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * phaddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phaddsw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * phaddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phaddw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * phaddw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phaddw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * phaddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phsubd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * phsubd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phsubd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * phsubd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phsubsw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * phsubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phsubw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * phsubw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phsubw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * phsubw (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 3 2 2.00 pshufb %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * pshufb (%rax), %mm2 -# CHECK-NEXT: 3 2 2.00 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 3 7 2.00 * pshufb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psignb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psignb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psignd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psignd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 -# CHECK-NEXT: 1 6 1.00 * psignw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * psignw (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pabsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pabsd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * pabsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * pabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 palignr $1, %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phaddd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * phaddd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * phaddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phaddsw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * phaddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phaddw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * phaddw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * phaddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phsubd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * phsubd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * phsubd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phsubsw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * phsubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phsubw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * phsubw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 3 2 2.00 pshufb %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * pshufb (%rax), %mm2 +# CHECK-NEXT: 3 2 2.00 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 3 7 2.00 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psignb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psignb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psignd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psignd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 +# CHECK-NEXT: 1 6 1.00 * psignw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * psignw (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - - - - - 36.00 28.00 32.00 - - - 34.00 34.00 8.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsb %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsb (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsd %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsd (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsw (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - palignr $1, %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - palignr $1, (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - palignr $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddd %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddd (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddsw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddsw (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddw (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubd %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubd (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubsw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubsw (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubw (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddubsw (%rax), %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhrsw (%rax), %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - pshufb %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - pshufb (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - pshufb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - pshufb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignb %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignb (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignd %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignd (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignw %mm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignw (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignw (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsb %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsb (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsd %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsd (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsw (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - palignr $1, %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - palignr $1, (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - palignr $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddd %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddd (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddsw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddsw (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddw (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubd %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubd (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubsw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubsw (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubw (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddubsw (%rax), %mm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhrsw (%rax), %mm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - pshufb %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - pshufb (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - pshufb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - pshufb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignb %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignb (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignd %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignd (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignw %mm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignw (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignw (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s index abee531..f6590b8 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s @@ -606,1106 +606,1106 @@ xorq (%rax), %rdi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 adcb $7, %al -# CHECK-NEXT: 1 1 0.50 adcb $7, %dil -# CHECK-NEXT: 2 5 1.00 * * adcb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil -# CHECK-NEXT: 2 5 1.00 * * adcb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 adcw $511, %ax -# CHECK-NEXT: 1 1 0.50 adcw $511, %di -# CHECK-NEXT: 2 5 1.00 * * adcw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw $7, %di -# CHECK-NEXT: 2 5 1.00 * * adcw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw %di, %di -# CHECK-NEXT: 2 5 1.00 * * adcw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax -# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi -# CHECK-NEXT: 2 5 1.00 * * adcl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl $7, %edi -# CHECK-NEXT: 2 5 1.00 * * adcl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi -# CHECK-NEXT: 2 5 1.00 * * adcl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi -# CHECK-NEXT: 2 5 1.00 * * adcq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi -# CHECK-NEXT: 2 5 1.00 * * adcq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi -# CHECK-NEXT: 2 5 1.00 * * adcq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * adcq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 addb $7, %al -# CHECK-NEXT: 1 1 0.50 addb $7, %dil -# CHECK-NEXT: 2 5 1.00 * * addb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addb %dil, %dil -# CHECK-NEXT: 2 5 1.00 * * addb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * addb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 addw $511, %ax -# CHECK-NEXT: 1 1 0.50 addw $511, %di -# CHECK-NEXT: 2 5 1.00 * * addw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 addw $7, %di -# CHECK-NEXT: 2 5 1.00 * * addw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addw %di, %di -# CHECK-NEXT: 2 5 1.00 * * addw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * addw (%rax), %di -# CHECK-NEXT: 1 1 0.50 addl $665536, %eax -# CHECK-NEXT: 1 1 0.50 addl $665536, %edi -# CHECK-NEXT: 2 5 1.00 * * addl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 addl $7, %edi -# CHECK-NEXT: 2 5 1.00 * * addl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addl %edi, %edi -# CHECK-NEXT: 2 5 1.00 * * addl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * addl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 addq $665536, %rax -# CHECK-NEXT: 1 1 0.50 addq $665536, %rdi -# CHECK-NEXT: 2 5 1.00 * * addq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 addq $7, %rdi -# CHECK-NEXT: 2 5 1.00 * * addq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addq %rdi, %rdi -# CHECK-NEXT: 2 5 1.00 * * addq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * addq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 andb $7, %al -# CHECK-NEXT: 1 1 0.50 andb $7, %dil -# CHECK-NEXT: 2 5 1.00 * * andb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andb %dil, %dil -# CHECK-NEXT: 2 5 1.00 * * andb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * andb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 andw $511, %ax -# CHECK-NEXT: 1 1 0.50 andw $511, %di -# CHECK-NEXT: 2 5 1.00 * * andw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 andw $7, %di -# CHECK-NEXT: 2 5 1.00 * * andw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andw %di, %di -# CHECK-NEXT: 2 5 1.00 * * andw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * andw (%rax), %di -# CHECK-NEXT: 1 1 0.50 andl $665536, %eax -# CHECK-NEXT: 1 1 0.50 andl $665536, %edi -# CHECK-NEXT: 2 5 1.00 * * andl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 andl $7, %edi -# CHECK-NEXT: 2 5 1.00 * * andl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andl %edi, %edi -# CHECK-NEXT: 2 5 1.00 * * andl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * andl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 andq $665536, %rax -# CHECK-NEXT: 1 1 0.50 andq $665536, %rdi -# CHECK-NEXT: 2 5 1.00 * * andq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 andq $7, %rdi -# CHECK-NEXT: 2 5 1.00 * * andq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andq %rdi, %rdi -# CHECK-NEXT: 2 5 1.00 * * andq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * andq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 btw %si, %di -# CHECK-NEXT: 1 1 0.50 btcw %si, %di -# CHECK-NEXT: 1 1 0.50 btrw %si, %di -# CHECK-NEXT: 1 1 0.50 btsw %si, %di -# CHECK-NEXT: 1 4 1.00 * btw %si, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btcw %si, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btrw %si, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btsw %si, (%rax) -# CHECK-NEXT: 1 1 0.50 btw $7, %di -# CHECK-NEXT: 1 1 0.50 btcw $7, %di -# CHECK-NEXT: 1 1 0.50 btrw $7, %di -# CHECK-NEXT: 1 1 0.50 btsw $7, %di -# CHECK-NEXT: 1 1 0.50 * btw $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btcw $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btrw $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btsw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi -# CHECK-NEXT: 1 4 1.00 * btl %esi, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btcl %esi, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btrl %esi, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btsl %esi, (%rax) -# CHECK-NEXT: 1 1 0.50 btl $7, %edi -# CHECK-NEXT: 1 1 0.50 btcl $7, %edi -# CHECK-NEXT: 1 1 0.50 btrl $7, %edi -# CHECK-NEXT: 1 1 0.50 btsl $7, %edi -# CHECK-NEXT: 1 1 0.50 * btl $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btcl $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btrl $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btsl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi -# CHECK-NEXT: 1 4 1.00 * btq %rsi, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btcq %rsi, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btrq %rsi, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btsq %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 btq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi -# CHECK-NEXT: 1 1 0.50 * btq $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btcq $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btrq $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 decb %dil -# CHECK-NEXT: 2 5 1.00 * * decb (%rax) -# CHECK-NEXT: 1 1 0.50 decw %di -# CHECK-NEXT: 2 5 1.00 * * decw (%rax) -# CHECK-NEXT: 1 1 0.50 decl %edi -# CHECK-NEXT: 2 5 1.00 * * decl (%rax) -# CHECK-NEXT: 1 1 0.50 decq %rdi -# CHECK-NEXT: 2 5 1.00 * * decq (%rax) -# CHECK-NEXT: 1 12 12.00 * divb %dil -# CHECK-NEXT: 1 15 12.00 * * divb (%rax) -# CHECK-NEXT: 2 17 17.00 * divw %si -# CHECK-NEXT: 2 20 17.00 * * divw (%rax) -# CHECK-NEXT: 2 25 25.00 * divl %edx -# CHECK-NEXT: 2 28 25.00 * * divl (%rax) -# CHECK-NEXT: 2 41 41.00 * divq %rcx -# CHECK-NEXT: 2 44 41.00 * * divq (%rax) -# CHECK-NEXT: 1 12 12.00 * idivb %dil -# CHECK-NEXT: 1 15 12.00 * * idivb (%rax) -# CHECK-NEXT: 2 17 17.00 * idivw %si -# CHECK-NEXT: 2 20 17.00 * * idivw (%rax) -# CHECK-NEXT: 2 25 25.00 * idivl %edx -# CHECK-NEXT: 2 28 25.00 * * idivl (%rax) -# CHECK-NEXT: 2 41 41.00 * idivq %rcx -# CHECK-NEXT: 2 44 41.00 * * idivq (%rax) -# CHECK-NEXT: 2 3 1.00 imulb %dil -# CHECK-NEXT: 2 6 1.00 * imulb (%rax) -# CHECK-NEXT: 2 3 1.00 imulw %di -# CHECK-NEXT: 2 6 1.00 * imulw (%rax) -# CHECK-NEXT: 2 3 1.00 imulw %di, %di -# CHECK-NEXT: 2 6 1.00 * imulw (%rax), %di -# CHECK-NEXT: 2 3 1.00 imulw $511, %di, %di -# CHECK-NEXT: 2 6 1.00 * imulw $511, (%rax), %di -# CHECK-NEXT: 2 3 1.00 imulw $7, %di, %di -# CHECK-NEXT: 2 6 1.00 * imulw $7, (%rax), %di -# CHECK-NEXT: 2 3 1.00 imull %edi -# CHECK-NEXT: 2 6 1.00 * imull (%rax) -# CHECK-NEXT: 2 3 1.00 imull %edi, %edi -# CHECK-NEXT: 2 6 1.00 * imull (%rax), %edi -# CHECK-NEXT: 2 3 1.00 imull $665536, %edi, %edi -# CHECK-NEXT: 2 6 1.00 * imull $665536, (%rax), %edi -# CHECK-NEXT: 2 3 1.00 imull $7, %edi, %edi -# CHECK-NEXT: 2 6 1.00 * imull $7, (%rax), %edi -# CHECK-NEXT: 2 6 4.00 imulq %rdi -# CHECK-NEXT: 2 9 4.00 * imulq (%rax) -# CHECK-NEXT: 2 6 4.00 imulq %rdi, %rdi -# CHECK-NEXT: 2 9 4.00 * imulq (%rax), %rdi -# CHECK-NEXT: 2 6 4.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 2 9 4.00 * imulq $665536, (%rax), %rdi -# CHECK-NEXT: 2 6 4.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 2 9 4.00 * imulq $7, (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 incb %dil -# CHECK-NEXT: 2 5 1.00 * * incb (%rax) -# CHECK-NEXT: 1 1 0.50 incw %di -# CHECK-NEXT: 2 5 1.00 * * incw (%rax) -# CHECK-NEXT: 1 1 0.50 incl %edi -# CHECK-NEXT: 2 5 1.00 * * incl (%rax) -# CHECK-NEXT: 1 1 0.50 incq %rdi -# CHECK-NEXT: 2 5 1.00 * * incq (%rax) -# CHECK-NEXT: 2 3 1.00 mulb %dil -# CHECK-NEXT: 2 6 1.00 * mulb (%rax) -# CHECK-NEXT: 2 3 1.00 mulw %si -# CHECK-NEXT: 2 6 1.00 * mulw (%rax) -# CHECK-NEXT: 2 3 1.00 mull %edx -# CHECK-NEXT: 2 6 1.00 * mull (%rax) -# CHECK-NEXT: 2 6 4.00 mulq %rcx -# CHECK-NEXT: 2 9 4.00 * mulq (%rax) -# CHECK-NEXT: 1 1 0.50 negb %dil -# CHECK-NEXT: 2 5 1.00 * * negb (%r8) -# CHECK-NEXT: 1 1 0.50 negw %si -# CHECK-NEXT: 2 5 1.00 * * negw (%r9) -# CHECK-NEXT: 1 1 0.50 negl %edx -# CHECK-NEXT: 2 5 1.00 * * negl (%rax) -# CHECK-NEXT: 1 1 0.50 negq %rcx -# CHECK-NEXT: 2 5 1.00 * * negq (%r10) -# CHECK-NEXT: 1 1 0.50 nop -# CHECK-NEXT: 1 1 0.50 nopw %di -# CHECK-NEXT: 1 1 0.50 nopw (%rcx) -# CHECK-NEXT: 1 1 0.50 nopl %esi -# CHECK-NEXT: 1 1 0.50 nopl (%r8) -# CHECK-NEXT: 1 1 0.50 nopq %rdx -# CHECK-NEXT: 1 1 0.50 nopq (%r9) -# CHECK-NEXT: 1 1 0.50 notb %dil -# CHECK-NEXT: 2 5 1.00 * * notb (%r8) -# CHECK-NEXT: 1 1 0.50 notw %si -# CHECK-NEXT: 2 5 1.00 * * notw (%r9) -# CHECK-NEXT: 1 1 0.50 notl %edx -# CHECK-NEXT: 2 5 1.00 * * notl (%rax) -# CHECK-NEXT: 1 1 0.50 notq %rcx -# CHECK-NEXT: 2 5 1.00 * * notq (%r10) -# CHECK-NEXT: 1 1 0.50 orb $7, %al -# CHECK-NEXT: 1 1 0.50 orb $7, %dil -# CHECK-NEXT: 2 5 1.00 * * orb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orb %dil, %dil -# CHECK-NEXT: 2 5 1.00 * * orb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * orb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 orw $511, %ax -# CHECK-NEXT: 1 1 0.50 orw $511, %di -# CHECK-NEXT: 2 5 1.00 * * orw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 orw $7, %di -# CHECK-NEXT: 2 5 1.00 * * orw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orw %di, %di -# CHECK-NEXT: 2 5 1.00 * * orw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * orw (%rax), %di -# CHECK-NEXT: 1 1 0.50 orl $665536, %eax -# CHECK-NEXT: 1 1 0.50 orl $665536, %edi -# CHECK-NEXT: 2 5 1.00 * * orl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 orl $7, %edi -# CHECK-NEXT: 2 5 1.00 * * orl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orl %edi, %edi -# CHECK-NEXT: 2 5 1.00 * * orl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * orl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 orq $665536, %rax -# CHECK-NEXT: 1 1 0.50 orq $665536, %rdi -# CHECK-NEXT: 2 5 1.00 * * orq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 orq $7, %rdi -# CHECK-NEXT: 2 5 1.00 * * orq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orq %rdi, %rdi -# CHECK-NEXT: 2 5 1.00 * * orq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * orq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 rclb %dil -# CHECK-NEXT: 1 1 0.50 rcrb %dil -# CHECK-NEXT: 2 4 1.00 * rclb (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrb (%rax) -# CHECK-NEXT: 1 1 0.50 rclb $7, %dil -# CHECK-NEXT: 1 1 0.50 rcrb $7, %dil -# CHECK-NEXT: 2 4 1.00 * rclb $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rclb %cl, %dil -# CHECK-NEXT: 1 1 0.50 rcrb %cl, %dil -# CHECK-NEXT: 2 4 1.00 * rclb %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 rclw %di -# CHECK-NEXT: 1 1 0.50 rcrw %di -# CHECK-NEXT: 2 4 1.00 * rclw (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrw (%rax) -# CHECK-NEXT: 1 1 0.50 rclw $7, %di -# CHECK-NEXT: 1 1 0.50 rcrw $7, %di -# CHECK-NEXT: 2 4 1.00 * rclw $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rclw %cl, %di -# CHECK-NEXT: 1 1 0.50 rcrw %cl, %di -# CHECK-NEXT: 2 4 1.00 * rclw %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 rcll %edi -# CHECK-NEXT: 1 1 0.50 rcrl %edi -# CHECK-NEXT: 2 4 1.00 * rcll (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrl (%rax) -# CHECK-NEXT: 1 1 0.50 rcll $7, %edi -# CHECK-NEXT: 1 1 0.50 rcrl $7, %edi -# CHECK-NEXT: 2 4 1.00 * rcll $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rcll %cl, %edi -# CHECK-NEXT: 1 1 0.50 rcrl %cl, %edi -# CHECK-NEXT: 2 4 1.00 * rcll %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 rclq %rdi -# CHECK-NEXT: 1 1 0.50 rcrq %rdi -# CHECK-NEXT: 2 4 1.00 * rclq (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrq (%rax) -# CHECK-NEXT: 1 1 0.50 rclq $7, %rdi -# CHECK-NEXT: 1 1 0.50 rcrq $7, %rdi -# CHECK-NEXT: 2 4 1.00 * rclq $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rclq %cl, %rdi -# CHECK-NEXT: 1 1 0.50 rcrq %cl, %rdi -# CHECK-NEXT: 2 4 1.00 * rclq %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * rcrq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 rolb %dil -# CHECK-NEXT: 1 1 0.50 rorb %dil -# CHECK-NEXT: 2 4 1.00 * * rolb (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorb (%rax) -# CHECK-NEXT: 1 1 0.50 rolb $7, %dil -# CHECK-NEXT: 1 1 0.50 rorb $7, %dil -# CHECK-NEXT: 2 4 1.00 * * rolb $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rolb %cl, %dil -# CHECK-NEXT: 1 1 0.50 rorb %cl, %dil -# CHECK-NEXT: 2 4 1.00 * * rolb %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorb %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 rolw %di -# CHECK-NEXT: 1 1 0.50 rorw %di -# CHECK-NEXT: 2 4 1.00 * * rolw (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorw (%rax) -# CHECK-NEXT: 1 1 0.50 rolw $7, %di -# CHECK-NEXT: 1 1 0.50 rorw $7, %di -# CHECK-NEXT: 2 4 1.00 * * rolw $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rolw %cl, %di -# CHECK-NEXT: 1 1 0.50 rorw %cl, %di -# CHECK-NEXT: 2 4 1.00 * * rolw %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorw %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 roll %edi -# CHECK-NEXT: 1 1 0.50 rorl %edi -# CHECK-NEXT: 2 4 1.00 * * roll (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorl (%rax) -# CHECK-NEXT: 1 1 0.50 roll $7, %edi -# CHECK-NEXT: 1 1 0.50 rorl $7, %edi -# CHECK-NEXT: 2 4 1.00 * * roll $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 roll %cl, %edi -# CHECK-NEXT: 1 1 0.50 rorl %cl, %edi -# CHECK-NEXT: 2 4 1.00 * * roll %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorl %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 rolq %rdi -# CHECK-NEXT: 1 1 0.50 rorq %rdi -# CHECK-NEXT: 2 4 1.00 * * rolq (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorq (%rax) -# CHECK-NEXT: 1 1 0.50 rolq $7, %rdi -# CHECK-NEXT: 1 1 0.50 rorq $7, %rdi -# CHECK-NEXT: 2 4 1.00 * * rolq $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rolq %cl, %rdi -# CHECK-NEXT: 1 1 0.50 rorq %cl, %rdi -# CHECK-NEXT: 2 4 1.00 * * rolq %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * rorq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarb %dil -# CHECK-NEXT: 1 1 0.50 shlb %dil -# CHECK-NEXT: 1 1 0.50 shrb %dil -# CHECK-NEXT: 2 4 1.00 * * sarb (%rax) -# CHECK-NEXT: 2 4 1.00 * * shlb (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrb (%rax) -# CHECK-NEXT: 1 1 0.50 sarb $7, %dil -# CHECK-NEXT: 1 1 0.50 shlb $7, %dil -# CHECK-NEXT: 1 1 0.50 shrb $7, %dil -# CHECK-NEXT: 2 4 1.00 * * sarb $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shlb $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sarb %cl, %dil -# CHECK-NEXT: 1 1 0.50 shlb %cl, %dil -# CHECK-NEXT: 1 1 0.50 shrb %cl, %dil -# CHECK-NEXT: 2 4 1.00 * * sarb %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shlb %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarw %di -# CHECK-NEXT: 1 1 0.50 shlw %di -# CHECK-NEXT: 1 1 0.50 shrw %di -# CHECK-NEXT: 2 4 1.00 * * sarw (%rax) -# CHECK-NEXT: 2 4 1.00 * * shlw (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrw (%rax) -# CHECK-NEXT: 1 1 0.50 sarw $7, %di -# CHECK-NEXT: 1 1 0.50 shlw $7, %di -# CHECK-NEXT: 1 1 0.50 shrw $7, %di -# CHECK-NEXT: 2 4 1.00 * * sarw $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shlw $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sarw %cl, %di -# CHECK-NEXT: 1 1 0.50 shlw %cl, %di -# CHECK-NEXT: 1 1 0.50 shrw %cl, %di -# CHECK-NEXT: 2 4 1.00 * * sarw %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shlw %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarl %edi -# CHECK-NEXT: 1 1 0.50 shll %edi -# CHECK-NEXT: 1 1 0.50 shrl %edi -# CHECK-NEXT: 2 4 1.00 * * sarl (%rax) -# CHECK-NEXT: 2 4 1.00 * * shll (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrl (%rax) -# CHECK-NEXT: 1 1 0.50 sarl $7, %edi -# CHECK-NEXT: 1 1 0.50 shll $7, %edi -# CHECK-NEXT: 1 1 0.50 shrl $7, %edi -# CHECK-NEXT: 2 4 1.00 * * sarl $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shll $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sarl %cl, %edi -# CHECK-NEXT: 1 1 0.50 shll %cl, %edi -# CHECK-NEXT: 1 1 0.50 shrl %cl, %edi -# CHECK-NEXT: 2 4 1.00 * * sarl %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shll %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarq %rdi -# CHECK-NEXT: 1 1 0.50 shlq %rdi -# CHECK-NEXT: 1 1 0.50 shrq %rdi -# CHECK-NEXT: 2 4 1.00 * * sarq (%rax) -# CHECK-NEXT: 2 4 1.00 * * shlq (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrq (%rax) -# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi -# CHECK-NEXT: 2 4 1.00 * * sarq $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shlq $7, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sarq %cl, %rdi -# CHECK-NEXT: 1 1 0.50 shlq %cl, %rdi -# CHECK-NEXT: 1 1 0.50 shrq %cl, %rdi -# CHECK-NEXT: 2 4 1.00 * * sarq %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shlq %cl, (%rax) -# CHECK-NEXT: 2 4 1.00 * * shrq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbb $7, %al -# CHECK-NEXT: 1 1 0.50 sbbb $7, %dil -# CHECK-NEXT: 2 5 1.00 * * sbbb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil -# CHECK-NEXT: 2 5 1.00 * * sbbb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax -# CHECK-NEXT: 1 1 0.50 sbbw $511, %di -# CHECK-NEXT: 2 5 1.00 * * sbbw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw $7, %di -# CHECK-NEXT: 2 5 1.00 * * sbbw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw %di, %di -# CHECK-NEXT: 2 5 1.00 * * sbbw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi -# CHECK-NEXT: 2 5 1.00 * * sbbl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi -# CHECK-NEXT: 2 5 1.00 * * sbbl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi -# CHECK-NEXT: 2 5 1.00 * * sbbl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi -# CHECK-NEXT: 2 5 1.00 * * sbbq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi -# CHECK-NEXT: 2 5 1.00 * * sbbq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi -# CHECK-NEXT: 2 5 1.00 * * sbbq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * sbbq (%rax), %rdi -# CHECK-NEXT: 7 4 4.00 shldw %cl, %si, %di -# CHECK-NEXT: 7 4 4.00 shrdw %cl, %si, %di -# CHECK-NEXT: 8 9 11.00 * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 8 9 11.00 * * shrdw %cl, %si, (%rax) -# CHECK-NEXT: 6 3 3.00 shldw $7, %si, %di -# CHECK-NEXT: 6 3 3.00 shrdw $7, %si, %di -# CHECK-NEXT: 8 9 11.00 * * shldw $7, %si, (%rax) -# CHECK-NEXT: 8 9 11.00 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 7 4 4.00 shldl %cl, %esi, %edi -# CHECK-NEXT: 7 4 4.00 shrdl %cl, %esi, %edi -# CHECK-NEXT: 8 9 11.00 * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 8 9 11.00 * * shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 6 3 3.00 shldl $7, %esi, %edi -# CHECK-NEXT: 6 3 3.00 shrdl $7, %esi, %edi -# CHECK-NEXT: 8 9 11.00 * * shldl $7, %esi, (%rax) -# CHECK-NEXT: 8 9 11.00 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 7 4 4.00 shldq %cl, %rsi, %rdi -# CHECK-NEXT: 7 4 4.00 shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 8 9 11.00 * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 8 9 11.00 * * shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 6 3 3.00 shldq $7, %rsi, %rdi -# CHECK-NEXT: 6 3 3.00 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 8 9 11.00 * * shldq $7, %rsi, (%rax) -# CHECK-NEXT: 8 9 11.00 * * shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 subb $7, %al -# CHECK-NEXT: 1 1 0.50 subb $7, %dil -# CHECK-NEXT: 2 5 1.00 * * subb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subb %dil, %dil -# CHECK-NEXT: 2 5 1.00 * * subb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * subb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 subw $511, %ax -# CHECK-NEXT: 1 1 0.50 subw $511, %di -# CHECK-NEXT: 2 5 1.00 * * subw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 subw $7, %di -# CHECK-NEXT: 2 5 1.00 * * subw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subw %di, %di -# CHECK-NEXT: 2 5 1.00 * * subw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * subw (%rax), %di -# CHECK-NEXT: 1 1 0.50 subl $665536, %eax -# CHECK-NEXT: 1 1 0.50 subl $665536, %edi -# CHECK-NEXT: 2 5 1.00 * * subl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 subl $7, %edi -# CHECK-NEXT: 2 5 1.00 * * subl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subl %edi, %edi -# CHECK-NEXT: 2 5 1.00 * * subl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * subl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 subq $665536, %rax -# CHECK-NEXT: 1 1 0.50 subq $665536, %rdi -# CHECK-NEXT: 2 5 1.00 * * subq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 subq $7, %rdi -# CHECK-NEXT: 2 5 1.00 * * subq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subq %rdi, %rdi -# CHECK-NEXT: 2 5 1.00 * * subq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * subq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 xorb $7, %al -# CHECK-NEXT: 1 1 0.50 xorb $7, %dil -# CHECK-NEXT: 2 5 1.00 * * xorb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorb %dil, %dil -# CHECK-NEXT: 2 5 1.00 * * xorb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * xorb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 xorw $511, %ax -# CHECK-NEXT: 1 1 0.50 xorw $511, %di -# CHECK-NEXT: 2 5 1.00 * * xorw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 xorw $7, %di -# CHECK-NEXT: 2 5 1.00 * * xorw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorw %di, %di -# CHECK-NEXT: 2 5 1.00 * * xorw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * xorw (%rax), %di -# CHECK-NEXT: 1 1 0.50 xorl $665536, %eax -# CHECK-NEXT: 1 1 0.50 xorl $665536, %edi -# CHECK-NEXT: 2 5 1.00 * * xorl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 xorl $7, %edi -# CHECK-NEXT: 2 5 1.00 * * xorl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorl %edi, %edi -# CHECK-NEXT: 2 5 1.00 * * xorl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * xorl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 xorq $665536, %rax -# CHECK-NEXT: 1 1 0.50 xorq $665536, %rdi -# CHECK-NEXT: 2 5 1.00 * * xorq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 xorq $7, %rdi -# CHECK-NEXT: 2 5 1.00 * * xorq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorq %rdi, %rdi -# CHECK-NEXT: 2 5 1.00 * * xorq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * xorq (%rax), %rdi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 adcb $7, %al +# CHECK-NEXT: 1 1 0.50 adcb $7, %dil +# CHECK-NEXT: 2 5 1.00 * * adcb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil +# CHECK-NEXT: 2 5 1.00 * * adcb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * adcb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 adcw $511, %ax +# CHECK-NEXT: 1 1 0.50 adcw $511, %di +# CHECK-NEXT: 2 5 1.00 * * adcw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw $7, %di +# CHECK-NEXT: 2 5 1.00 * * adcw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw %di, %di +# CHECK-NEXT: 2 5 1.00 * * adcw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * adcw (%rax), %di +# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax +# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi +# CHECK-NEXT: 2 5 1.00 * * adcl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl $7, %edi +# CHECK-NEXT: 2 5 1.00 * * adcl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi +# CHECK-NEXT: 2 5 1.00 * * adcl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * adcl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi +# CHECK-NEXT: 2 5 1.00 * * adcq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi +# CHECK-NEXT: 2 5 1.00 * * adcq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi +# CHECK-NEXT: 2 5 1.00 * * adcq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * adcq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 addb $7, %al +# CHECK-NEXT: 1 1 0.50 addb $7, %dil +# CHECK-NEXT: 2 5 1.00 * * addb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addb %dil, %dil +# CHECK-NEXT: 2 5 1.00 * * addb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * addb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 addw $511, %ax +# CHECK-NEXT: 1 1 0.50 addw $511, %di +# CHECK-NEXT: 2 5 1.00 * * addw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 addw $7, %di +# CHECK-NEXT: 2 5 1.00 * * addw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addw %di, %di +# CHECK-NEXT: 2 5 1.00 * * addw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * addw (%rax), %di +# CHECK-NEXT: 1 1 0.50 addl $665536, %eax +# CHECK-NEXT: 1 1 0.50 addl $665536, %edi +# CHECK-NEXT: 2 5 1.00 * * addl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 addl $7, %edi +# CHECK-NEXT: 2 5 1.00 * * addl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addl %edi, %edi +# CHECK-NEXT: 2 5 1.00 * * addl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * addl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 addq $665536, %rax +# CHECK-NEXT: 1 1 0.50 addq $665536, %rdi +# CHECK-NEXT: 2 5 1.00 * * addq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 addq $7, %rdi +# CHECK-NEXT: 2 5 1.00 * * addq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addq %rdi, %rdi +# CHECK-NEXT: 2 5 1.00 * * addq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * addq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 andb $7, %al +# CHECK-NEXT: 1 1 0.50 andb $7, %dil +# CHECK-NEXT: 2 5 1.00 * * andb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andb %dil, %dil +# CHECK-NEXT: 2 5 1.00 * * andb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * andb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 andw $511, %ax +# CHECK-NEXT: 1 1 0.50 andw $511, %di +# CHECK-NEXT: 2 5 1.00 * * andw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 andw $7, %di +# CHECK-NEXT: 2 5 1.00 * * andw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andw %di, %di +# CHECK-NEXT: 2 5 1.00 * * andw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * andw (%rax), %di +# CHECK-NEXT: 1 1 0.50 andl $665536, %eax +# CHECK-NEXT: 1 1 0.50 andl $665536, %edi +# CHECK-NEXT: 2 5 1.00 * * andl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 andl $7, %edi +# CHECK-NEXT: 2 5 1.00 * * andl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andl %edi, %edi +# CHECK-NEXT: 2 5 1.00 * * andl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * andl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 andq $665536, %rax +# CHECK-NEXT: 1 1 0.50 andq $665536, %rdi +# CHECK-NEXT: 2 5 1.00 * * andq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 andq $7, %rdi +# CHECK-NEXT: 2 5 1.00 * * andq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andq %rdi, %rdi +# CHECK-NEXT: 2 5 1.00 * * andq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * andq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 btw %si, %di +# CHECK-NEXT: 1 1 0.50 btcw %si, %di +# CHECK-NEXT: 1 1 0.50 btrw %si, %di +# CHECK-NEXT: 1 1 0.50 btsw %si, %di +# CHECK-NEXT: 1 4 1.00 * btw %si, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btcw %si, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btrw %si, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btsw %si, (%rax) +# CHECK-NEXT: 1 1 0.50 btw $7, %di +# CHECK-NEXT: 1 1 0.50 btcw $7, %di +# CHECK-NEXT: 1 1 0.50 btrw $7, %di +# CHECK-NEXT: 1 1 0.50 btsw $7, %di +# CHECK-NEXT: 1 1 0.50 * btw $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btcw $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btrw $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btsw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi +# CHECK-NEXT: 1 4 1.00 * btl %esi, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btcl %esi, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btrl %esi, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btsl %esi, (%rax) +# CHECK-NEXT: 1 1 0.50 btl $7, %edi +# CHECK-NEXT: 1 1 0.50 btcl $7, %edi +# CHECK-NEXT: 1 1 0.50 btrl $7, %edi +# CHECK-NEXT: 1 1 0.50 btsl $7, %edi +# CHECK-NEXT: 1 1 0.50 * btl $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btcl $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btrl $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btsl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi +# CHECK-NEXT: 1 4 1.00 * btq %rsi, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btcq %rsi, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btrq %rsi, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 btq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi +# CHECK-NEXT: 1 1 0.50 * btq $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btcq $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btrq $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * btsq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 decb %dil +# CHECK-NEXT: 2 5 1.00 * * decb (%rax) +# CHECK-NEXT: 1 1 0.50 decw %di +# CHECK-NEXT: 2 5 1.00 * * decw (%rax) +# CHECK-NEXT: 1 1 0.50 decl %edi +# CHECK-NEXT: 2 5 1.00 * * decl (%rax) +# CHECK-NEXT: 1 1 0.50 decq %rdi +# CHECK-NEXT: 2 5 1.00 * * decq (%rax) +# CHECK-NEXT: 1 12 12.00 * divb %dil +# CHECK-NEXT: 1 15 12.00 * * divb (%rax) +# CHECK-NEXT: 2 17 17.00 * divw %si +# CHECK-NEXT: 2 20 17.00 * * divw (%rax) +# CHECK-NEXT: 2 25 25.00 * divl %edx +# CHECK-NEXT: 2 28 25.00 * * divl (%rax) +# CHECK-NEXT: 2 41 41.00 * divq %rcx +# CHECK-NEXT: 2 44 41.00 * * divq (%rax) +# CHECK-NEXT: 1 12 12.00 * idivb %dil +# CHECK-NEXT: 1 15 12.00 * * idivb (%rax) +# CHECK-NEXT: 2 17 17.00 * idivw %si +# CHECK-NEXT: 2 20 17.00 * * idivw (%rax) +# CHECK-NEXT: 2 25 25.00 * idivl %edx +# CHECK-NEXT: 2 28 25.00 * * idivl (%rax) +# CHECK-NEXT: 2 41 41.00 * idivq %rcx +# CHECK-NEXT: 2 44 41.00 * * idivq (%rax) +# CHECK-NEXT: 2 3 1.00 imulb %dil +# CHECK-NEXT: 2 6 1.00 * imulb (%rax) +# CHECK-NEXT: 2 3 1.00 imulw %di +# CHECK-NEXT: 2 6 1.00 * imulw (%rax) +# CHECK-NEXT: 2 3 1.00 imulw %di, %di +# CHECK-NEXT: 2 6 1.00 * imulw (%rax), %di +# CHECK-NEXT: 2 3 1.00 imulw $511, %di, %di +# CHECK-NEXT: 2 6 1.00 * imulw $511, (%rax), %di +# CHECK-NEXT: 2 3 1.00 imulw $7, %di, %di +# CHECK-NEXT: 2 6 1.00 * imulw $7, (%rax), %di +# CHECK-NEXT: 2 3 1.00 imull %edi +# CHECK-NEXT: 2 6 1.00 * imull (%rax) +# CHECK-NEXT: 2 3 1.00 imull %edi, %edi +# CHECK-NEXT: 2 6 1.00 * imull (%rax), %edi +# CHECK-NEXT: 2 3 1.00 imull $665536, %edi, %edi +# CHECK-NEXT: 2 6 1.00 * imull $665536, (%rax), %edi +# CHECK-NEXT: 2 3 1.00 imull $7, %edi, %edi +# CHECK-NEXT: 2 6 1.00 * imull $7, (%rax), %edi +# CHECK-NEXT: 2 6 4.00 imulq %rdi +# CHECK-NEXT: 2 9 4.00 * imulq (%rax) +# CHECK-NEXT: 2 6 4.00 imulq %rdi, %rdi +# CHECK-NEXT: 2 9 4.00 * imulq (%rax), %rdi +# CHECK-NEXT: 2 6 4.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 2 9 4.00 * imulq $665536, (%rax), %rdi +# CHECK-NEXT: 2 6 4.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 2 9 4.00 * imulq $7, (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 incb %dil +# CHECK-NEXT: 2 5 1.00 * * incb (%rax) +# CHECK-NEXT: 1 1 0.50 incw %di +# CHECK-NEXT: 2 5 1.00 * * incw (%rax) +# CHECK-NEXT: 1 1 0.50 incl %edi +# CHECK-NEXT: 2 5 1.00 * * incl (%rax) +# CHECK-NEXT: 1 1 0.50 incq %rdi +# CHECK-NEXT: 2 5 1.00 * * incq (%rax) +# CHECK-NEXT: 2 3 1.00 mulb %dil +# CHECK-NEXT: 2 6 1.00 * mulb (%rax) +# CHECK-NEXT: 2 3 1.00 mulw %si +# CHECK-NEXT: 2 6 1.00 * mulw (%rax) +# CHECK-NEXT: 2 3 1.00 mull %edx +# CHECK-NEXT: 2 6 1.00 * mull (%rax) +# CHECK-NEXT: 2 6 4.00 mulq %rcx +# CHECK-NEXT: 2 9 4.00 * mulq (%rax) +# CHECK-NEXT: 1 1 0.50 negb %dil +# CHECK-NEXT: 2 5 1.00 * * negb (%r8) +# CHECK-NEXT: 1 1 0.50 negw %si +# CHECK-NEXT: 2 5 1.00 * * negw (%r9) +# CHECK-NEXT: 1 1 0.50 negl %edx +# CHECK-NEXT: 2 5 1.00 * * negl (%rax) +# CHECK-NEXT: 1 1 0.50 negq %rcx +# CHECK-NEXT: 2 5 1.00 * * negq (%r10) +# CHECK-NEXT: 1 1 0.50 nop +# CHECK-NEXT: 1 1 0.50 nopw %di +# CHECK-NEXT: 1 1 0.50 nopw (%rcx) +# CHECK-NEXT: 1 1 0.50 nopl %esi +# CHECK-NEXT: 1 1 0.50 nopl (%r8) +# CHECK-NEXT: 1 1 0.50 nopq %rdx +# CHECK-NEXT: 1 1 0.50 nopq (%r9) +# CHECK-NEXT: 1 1 0.50 notb %dil +# CHECK-NEXT: 2 5 1.00 * * notb (%r8) +# CHECK-NEXT: 1 1 0.50 notw %si +# CHECK-NEXT: 2 5 1.00 * * notw (%r9) +# CHECK-NEXT: 1 1 0.50 notl %edx +# CHECK-NEXT: 2 5 1.00 * * notl (%rax) +# CHECK-NEXT: 1 1 0.50 notq %rcx +# CHECK-NEXT: 2 5 1.00 * * notq (%r10) +# CHECK-NEXT: 1 1 0.50 orb $7, %al +# CHECK-NEXT: 1 1 0.50 orb $7, %dil +# CHECK-NEXT: 2 5 1.00 * * orb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orb %dil, %dil +# CHECK-NEXT: 2 5 1.00 * * orb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * orb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 orw $511, %ax +# CHECK-NEXT: 1 1 0.50 orw $511, %di +# CHECK-NEXT: 2 5 1.00 * * orw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 orw $7, %di +# CHECK-NEXT: 2 5 1.00 * * orw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orw %di, %di +# CHECK-NEXT: 2 5 1.00 * * orw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * orw (%rax), %di +# CHECK-NEXT: 1 1 0.50 orl $665536, %eax +# CHECK-NEXT: 1 1 0.50 orl $665536, %edi +# CHECK-NEXT: 2 5 1.00 * * orl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 orl $7, %edi +# CHECK-NEXT: 2 5 1.00 * * orl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orl %edi, %edi +# CHECK-NEXT: 2 5 1.00 * * orl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * orl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 orq $665536, %rax +# CHECK-NEXT: 1 1 0.50 orq $665536, %rdi +# CHECK-NEXT: 2 5 1.00 * * orq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 orq $7, %rdi +# CHECK-NEXT: 2 5 1.00 * * orq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orq %rdi, %rdi +# CHECK-NEXT: 2 5 1.00 * * orq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * orq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 rclb %dil +# CHECK-NEXT: 1 1 0.50 rcrb %dil +# CHECK-NEXT: 2 4 1.00 * rclb (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrb (%rax) +# CHECK-NEXT: 1 1 0.50 rclb $7, %dil +# CHECK-NEXT: 1 1 0.50 rcrb $7, %dil +# CHECK-NEXT: 2 4 1.00 * rclb $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rclb %cl, %dil +# CHECK-NEXT: 1 1 0.50 rcrb %cl, %dil +# CHECK-NEXT: 2 4 1.00 * rclb %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 rclw %di +# CHECK-NEXT: 1 1 0.50 rcrw %di +# CHECK-NEXT: 2 4 1.00 * rclw (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrw (%rax) +# CHECK-NEXT: 1 1 0.50 rclw $7, %di +# CHECK-NEXT: 1 1 0.50 rcrw $7, %di +# CHECK-NEXT: 2 4 1.00 * rclw $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rclw %cl, %di +# CHECK-NEXT: 1 1 0.50 rcrw %cl, %di +# CHECK-NEXT: 2 4 1.00 * rclw %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 rcll %edi +# CHECK-NEXT: 1 1 0.50 rcrl %edi +# CHECK-NEXT: 2 4 1.00 * rcll (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrl (%rax) +# CHECK-NEXT: 1 1 0.50 rcll $7, %edi +# CHECK-NEXT: 1 1 0.50 rcrl $7, %edi +# CHECK-NEXT: 2 4 1.00 * rcll $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rcll %cl, %edi +# CHECK-NEXT: 1 1 0.50 rcrl %cl, %edi +# CHECK-NEXT: 2 4 1.00 * rcll %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 rclq %rdi +# CHECK-NEXT: 1 1 0.50 rcrq %rdi +# CHECK-NEXT: 2 4 1.00 * rclq (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrq (%rax) +# CHECK-NEXT: 1 1 0.50 rclq $7, %rdi +# CHECK-NEXT: 1 1 0.50 rcrq $7, %rdi +# CHECK-NEXT: 2 4 1.00 * rclq $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rclq %cl, %rdi +# CHECK-NEXT: 1 1 0.50 rcrq %cl, %rdi +# CHECK-NEXT: 2 4 1.00 * rclq %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * rcrq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 rolb %dil +# CHECK-NEXT: 1 1 0.50 rorb %dil +# CHECK-NEXT: 2 4 1.00 * * rolb (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorb (%rax) +# CHECK-NEXT: 1 1 0.50 rolb $7, %dil +# CHECK-NEXT: 1 1 0.50 rorb $7, %dil +# CHECK-NEXT: 2 4 1.00 * * rolb $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rolb %cl, %dil +# CHECK-NEXT: 1 1 0.50 rorb %cl, %dil +# CHECK-NEXT: 2 4 1.00 * * rolb %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorb %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 rolw %di +# CHECK-NEXT: 1 1 0.50 rorw %di +# CHECK-NEXT: 2 4 1.00 * * rolw (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorw (%rax) +# CHECK-NEXT: 1 1 0.50 rolw $7, %di +# CHECK-NEXT: 1 1 0.50 rorw $7, %di +# CHECK-NEXT: 2 4 1.00 * * rolw $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rolw %cl, %di +# CHECK-NEXT: 1 1 0.50 rorw %cl, %di +# CHECK-NEXT: 2 4 1.00 * * rolw %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorw %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 roll %edi +# CHECK-NEXT: 1 1 0.50 rorl %edi +# CHECK-NEXT: 2 4 1.00 * * roll (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorl (%rax) +# CHECK-NEXT: 1 1 0.50 roll $7, %edi +# CHECK-NEXT: 1 1 0.50 rorl $7, %edi +# CHECK-NEXT: 2 4 1.00 * * roll $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 roll %cl, %edi +# CHECK-NEXT: 1 1 0.50 rorl %cl, %edi +# CHECK-NEXT: 2 4 1.00 * * roll %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorl %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 rolq %rdi +# CHECK-NEXT: 1 1 0.50 rorq %rdi +# CHECK-NEXT: 2 4 1.00 * * rolq (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorq (%rax) +# CHECK-NEXT: 1 1 0.50 rolq $7, %rdi +# CHECK-NEXT: 1 1 0.50 rorq $7, %rdi +# CHECK-NEXT: 2 4 1.00 * * rolq $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rolq %cl, %rdi +# CHECK-NEXT: 1 1 0.50 rorq %cl, %rdi +# CHECK-NEXT: 2 4 1.00 * * rolq %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarb %dil +# CHECK-NEXT: 1 1 0.50 shlb %dil +# CHECK-NEXT: 1 1 0.50 shrb %dil +# CHECK-NEXT: 2 4 1.00 * * sarb (%rax) +# CHECK-NEXT: 2 4 1.00 * * shlb (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrb (%rax) +# CHECK-NEXT: 1 1 0.50 sarb $7, %dil +# CHECK-NEXT: 1 1 0.50 shlb $7, %dil +# CHECK-NEXT: 1 1 0.50 shrb $7, %dil +# CHECK-NEXT: 2 4 1.00 * * sarb $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shlb $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sarb %cl, %dil +# CHECK-NEXT: 1 1 0.50 shlb %cl, %dil +# CHECK-NEXT: 1 1 0.50 shrb %cl, %dil +# CHECK-NEXT: 2 4 1.00 * * sarb %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shlb %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarw %di +# CHECK-NEXT: 1 1 0.50 shlw %di +# CHECK-NEXT: 1 1 0.50 shrw %di +# CHECK-NEXT: 2 4 1.00 * * sarw (%rax) +# CHECK-NEXT: 2 4 1.00 * * shlw (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrw (%rax) +# CHECK-NEXT: 1 1 0.50 sarw $7, %di +# CHECK-NEXT: 1 1 0.50 shlw $7, %di +# CHECK-NEXT: 1 1 0.50 shrw $7, %di +# CHECK-NEXT: 2 4 1.00 * * sarw $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shlw $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sarw %cl, %di +# CHECK-NEXT: 1 1 0.50 shlw %cl, %di +# CHECK-NEXT: 1 1 0.50 shrw %cl, %di +# CHECK-NEXT: 2 4 1.00 * * sarw %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shlw %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarl %edi +# CHECK-NEXT: 1 1 0.50 shll %edi +# CHECK-NEXT: 1 1 0.50 shrl %edi +# CHECK-NEXT: 2 4 1.00 * * sarl (%rax) +# CHECK-NEXT: 2 4 1.00 * * shll (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrl (%rax) +# CHECK-NEXT: 1 1 0.50 sarl $7, %edi +# CHECK-NEXT: 1 1 0.50 shll $7, %edi +# CHECK-NEXT: 1 1 0.50 shrl $7, %edi +# CHECK-NEXT: 2 4 1.00 * * sarl $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shll $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sarl %cl, %edi +# CHECK-NEXT: 1 1 0.50 shll %cl, %edi +# CHECK-NEXT: 1 1 0.50 shrl %cl, %edi +# CHECK-NEXT: 2 4 1.00 * * sarl %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shll %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarq %rdi +# CHECK-NEXT: 1 1 0.50 shlq %rdi +# CHECK-NEXT: 1 1 0.50 shrq %rdi +# CHECK-NEXT: 2 4 1.00 * * sarq (%rax) +# CHECK-NEXT: 2 4 1.00 * * shlq (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrq (%rax) +# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi +# CHECK-NEXT: 2 4 1.00 * * sarq $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shlq $7, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sarq %cl, %rdi +# CHECK-NEXT: 1 1 0.50 shlq %cl, %rdi +# CHECK-NEXT: 1 1 0.50 shrq %cl, %rdi +# CHECK-NEXT: 2 4 1.00 * * sarq %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shlq %cl, (%rax) +# CHECK-NEXT: 2 4 1.00 * * shrq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbb $7, %al +# CHECK-NEXT: 1 1 0.50 sbbb $7, %dil +# CHECK-NEXT: 2 5 1.00 * * sbbb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil +# CHECK-NEXT: 2 5 1.00 * * sbbb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * sbbb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax +# CHECK-NEXT: 1 1 0.50 sbbw $511, %di +# CHECK-NEXT: 2 5 1.00 * * sbbw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw $7, %di +# CHECK-NEXT: 2 5 1.00 * * sbbw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw %di, %di +# CHECK-NEXT: 2 5 1.00 * * sbbw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * sbbw (%rax), %di +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi +# CHECK-NEXT: 2 5 1.00 * * sbbl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi +# CHECK-NEXT: 2 5 1.00 * * sbbl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi +# CHECK-NEXT: 2 5 1.00 * * sbbl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * sbbl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi +# CHECK-NEXT: 2 5 1.00 * * sbbq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi +# CHECK-NEXT: 2 5 1.00 * * sbbq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi +# CHECK-NEXT: 2 5 1.00 * * sbbq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * sbbq (%rax), %rdi +# CHECK-NEXT: 7 4 4.00 shldw %cl, %si, %di +# CHECK-NEXT: 7 4 4.00 shrdw %cl, %si, %di +# CHECK-NEXT: 8 9 11.00 * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 8 9 11.00 * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 6 3 3.00 shldw $7, %si, %di +# CHECK-NEXT: 6 3 3.00 shrdw $7, %si, %di +# CHECK-NEXT: 8 9 11.00 * * shldw $7, %si, (%rax) +# CHECK-NEXT: 8 9 11.00 * * shrdw $7, %si, (%rax) +# CHECK-NEXT: 7 4 4.00 shldl %cl, %esi, %edi +# CHECK-NEXT: 7 4 4.00 shrdl %cl, %esi, %edi +# CHECK-NEXT: 8 9 11.00 * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 8 9 11.00 * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 6 3 3.00 shldl $7, %esi, %edi +# CHECK-NEXT: 6 3 3.00 shrdl $7, %esi, %edi +# CHECK-NEXT: 8 9 11.00 * * shldl $7, %esi, (%rax) +# CHECK-NEXT: 8 9 11.00 * * shrdl $7, %esi, (%rax) +# CHECK-NEXT: 7 4 4.00 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 7 4 4.00 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 8 9 11.00 * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 8 9 11.00 * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 6 3 3.00 shldq $7, %rsi, %rdi +# CHECK-NEXT: 6 3 3.00 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 8 9 11.00 * * shldq $7, %rsi, (%rax) +# CHECK-NEXT: 8 9 11.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 subb $7, %al +# CHECK-NEXT: 1 1 0.50 subb $7, %dil +# CHECK-NEXT: 2 5 1.00 * * subb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subb %dil, %dil +# CHECK-NEXT: 2 5 1.00 * * subb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * subb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 subw $511, %ax +# CHECK-NEXT: 1 1 0.50 subw $511, %di +# CHECK-NEXT: 2 5 1.00 * * subw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 subw $7, %di +# CHECK-NEXT: 2 5 1.00 * * subw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subw %di, %di +# CHECK-NEXT: 2 5 1.00 * * subw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * subw (%rax), %di +# CHECK-NEXT: 1 1 0.50 subl $665536, %eax +# CHECK-NEXT: 1 1 0.50 subl $665536, %edi +# CHECK-NEXT: 2 5 1.00 * * subl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 subl $7, %edi +# CHECK-NEXT: 2 5 1.00 * * subl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subl %edi, %edi +# CHECK-NEXT: 2 5 1.00 * * subl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * subl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 subq $665536, %rax +# CHECK-NEXT: 1 1 0.50 subq $665536, %rdi +# CHECK-NEXT: 2 5 1.00 * * subq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 subq $7, %rdi +# CHECK-NEXT: 2 5 1.00 * * subq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subq %rdi, %rdi +# CHECK-NEXT: 2 5 1.00 * * subq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * subq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 xorb $7, %al +# CHECK-NEXT: 1 1 0.50 xorb $7, %dil +# CHECK-NEXT: 2 5 1.00 * * xorb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorb %dil, %dil +# CHECK-NEXT: 2 5 1.00 * * xorb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * xorb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 xorw $511, %ax +# CHECK-NEXT: 1 1 0.50 xorw $511, %di +# CHECK-NEXT: 2 5 1.00 * * xorw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 xorw $7, %di +# CHECK-NEXT: 2 5 1.00 * * xorw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorw %di, %di +# CHECK-NEXT: 2 5 1.00 * * xorw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * xorw (%rax), %di +# CHECK-NEXT: 1 1 0.50 xorl $665536, %eax +# CHECK-NEXT: 1 1 0.50 xorl $665536, %edi +# CHECK-NEXT: 2 5 1.00 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 xorl $7, %edi +# CHECK-NEXT: 2 5 1.00 * * xorl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorl %edi, %edi +# CHECK-NEXT: 2 5 1.00 * * xorl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * xorl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 xorq $665536, %rax +# CHECK-NEXT: 1 1 0.50 xorq $665536, %rdi +# CHECK-NEXT: 2 5 1.00 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 xorq $7, %rdi +# CHECK-NEXT: 2 5 1.00 * * xorq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorq %rdi, %rdi +# CHECK-NEXT: 2 5 1.00 * * xorq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * xorq (%rax), %rdi # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 406.50 456.50 380.00 - - - - 263.00 64.00 195.00 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcb $7, %al -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcb %dil, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - adcb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcw $511, %ax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcw $511, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcw %di, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - adcw (%rax), %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcl $665536, %eax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcl $665536, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcl %edi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - adcl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcq $665536, %rax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - adcq (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addb $7, %al -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addb %dil, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - addb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addw $511, %ax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addw $511, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addw %di, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - addw (%rax), %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl $665536, %eax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl $665536, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl %edi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - addl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addq $665536, %rax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - addq (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andb $7, %al -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andb %dil, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andw $511, %ax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andw $511, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andw %di, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andw (%rax), %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andl $665536, %eax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andl $665536, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andl %edi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andq $665536, %rax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andq (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btw %si, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcw %si, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrw %si, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsw %si, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - btw %si, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcw %si, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrw %si, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsw %si, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btl %esi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcl %esi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrl %esi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsl %esi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - btl %esi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcl %esi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrl %esi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsl %esi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btq %rsi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcq %rsi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrq %rsi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsq %rsi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - btq %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcq %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrq %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsq %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decb (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decw %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decw (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decl %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decl (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decq %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decq (%rax) -# CHECK-NEXT: - 1.00 12.00 - - - - - - - - - - - divb %dil -# CHECK-NEXT: - 1.00 12.00 - - - - 1.00 - - - - - - divb (%rax) -# CHECK-NEXT: - 1.00 17.00 - - - - - - - - - - - divw %si -# CHECK-NEXT: - 1.00 17.00 - - - - 1.00 - - - - - - divw (%rax) -# CHECK-NEXT: - 1.00 25.00 - - - - - - - - - - - divl %edx -# CHECK-NEXT: - 1.00 25.00 - - - - 1.00 - - - - - - divl (%rax) -# CHECK-NEXT: - 1.00 41.00 - - - - - - - - - - - divq %rcx -# CHECK-NEXT: - 1.00 41.00 - - - - 1.00 - - - - - - divq (%rax) -# CHECK-NEXT: - 1.00 12.00 - - - - - - - - - - - idivb %dil -# CHECK-NEXT: - 1.00 12.00 - - - - 1.00 - - - - - - idivb (%rax) -# CHECK-NEXT: - 1.00 17.00 - - - - - - - - - - - idivw %si -# CHECK-NEXT: - 1.00 17.00 - - - - 1.00 - - - - - - idivw (%rax) -# CHECK-NEXT: - 1.00 25.00 - - - - - - - - - - - idivl %edx -# CHECK-NEXT: - 1.00 25.00 - - - - 1.00 - - - - - - idivl (%rax) -# CHECK-NEXT: - 1.00 41.00 - - - - - - - - - - - idivq %rcx -# CHECK-NEXT: - 1.00 41.00 - - - - 1.00 - - - - - - idivq (%rax) -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulb %dil -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulb (%rax) -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw %di -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw (%rax) -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw %di, %di -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw (%rax), %di -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw $511, %di, %di -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw $511, (%rax), %di -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw $7, %di, %di -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw $7, (%rax), %di -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %edi -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull (%rax) -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %edi, %edi -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull (%rax), %edi -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull $665536, %edi, %edi -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull $665536, (%rax), %edi -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull $7, %edi, %edi -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull $7, (%rax), %edi -# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq %rdi -# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - imulq (%rax) -# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq %rdi, %rdi -# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - imulq (%rax), %rdi -# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq $665536, %rdi, %rdi -# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - imulq $665536, (%rax), %rdi -# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq $7, %rdi, %rdi -# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - imulq $7, (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incb (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incw %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incw (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incl %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incl (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incq %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incq (%rax) -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulb %dil -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mulb (%rax) -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulw %si -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mulw (%rax) -# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mull %edx -# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mull (%rax) -# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - mulq %rcx -# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - mulq (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negb (%r8) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negw %si -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negw (%r9) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negl %edx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negl (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negq %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negq (%r10) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nop -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopw %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopw (%rcx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopl %esi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopl (%r8) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopq %rdx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopq (%r9) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - notb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - notb (%r8) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - notw %si -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - notw (%r9) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - notl %edx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - notl (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - notq %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - notq (%r10) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orb $7, %al -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orb %dil, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - orb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orw $511, %ax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orw $511, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orw %di, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - orw (%rax), %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orl $665536, %eax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orl $665536, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orl %edi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - orl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orq $665536, %rax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - orq (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclb (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrb (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclb %cl, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrb %cl, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclb %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrb %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclw %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrw %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclw (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrw (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclw %cl, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrw %cl, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclw %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrw %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcll %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrl %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcll (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrl (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcll $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcll $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcll %cl, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrl %cl, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcll %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrl %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclq %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrq %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclq (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrq (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclq %cl, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrq %cl, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclq %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrq %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolb (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorb (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolb %cl, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorb %cl, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolb %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorb %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolw %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorw %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolw (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorw (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolw %cl, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorw %cl, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolw %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorw %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - roll %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorl %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - roll (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorl (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - roll $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - roll $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - roll %cl, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorl %cl, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - roll %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorl %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolq %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorq %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolq (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorq (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolq %cl, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorq %cl, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolq %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorq %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrb %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarb (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlb (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrb (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarb %cl, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlb %cl, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrb %cl, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarb %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlb %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrb %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarw %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlw %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrw %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarw (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlw (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrw (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarw %cl, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlw %cl, %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrw %cl, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarw %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlw %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrw %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarl %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shll %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrl %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarl (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shll (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrl (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shll $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shll $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarl %cl, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shll %cl, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrl %cl, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarl %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shll %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrl %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarq %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlq %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrq %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarq (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlq (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrq (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarq %cl, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlq %cl, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrq %cl, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarq %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlq %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrq %cl, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbb $7, %al -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbb %dil, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - sbbb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbw $511, %ax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbw $511, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbw %di, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - sbbw (%rax), %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbl $665536, %eax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbl $665536, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbl %edi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - sbbl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbq $665536, %rax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - sbbq (%rax), %rdi -# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shldw %cl, %si, %di -# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shrdw %cl, %si, %di -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldw %cl, %si, (%rax) -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdw %cl, %si, (%rax) -# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shldw $7, %si, %di -# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shrdw $7, %si, %di -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldw $7, %si, (%rax) -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdw $7, %si, (%rax) -# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shldl %cl, %esi, %edi -# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shrdl %cl, %esi, %edi -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldl %cl, %esi, (%rax) -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shldl $7, %esi, %edi -# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shrdl $7, %esi, %edi -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldl $7, %esi, (%rax) -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdl $7, %esi, (%rax) -# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shldq %cl, %rsi, %rdi -# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shldq $7, %rsi, %rdi -# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shrdq $7, %rsi, %rdi -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldq $7, %rsi, (%rax) -# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb $7, %al -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb %dil, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - subb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subw $511, %ax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subw $511, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subw %di, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - subw (%rax), %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subl $665536, %eax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subl $665536, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subl %edi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - subl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subq $665536, %rax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - subq (%rax), %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorb $7, %al -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorb $7, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorb %dil, %dil -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - xorb (%rax), %dil -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorw $511, %ax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorw $511, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorw $511, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorw $7, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorw %di, %di -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - xorw (%rax), %di -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorl $665536, %eax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorl $665536, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorl $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorl $7, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorl %edi, %edi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - xorl (%rax), %edi -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorq $665536, %rax -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorq $665536, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorq $7, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - xorq (%rax), %rdi +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcb $7, %al +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcb %dil, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - adcb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcw $511, %ax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcw $511, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcw %di, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - adcw (%rax), %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcl $665536, %eax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcl $665536, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcl %edi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - adcl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcq $665536, %rax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - adcq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - adcq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - adcq (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addb $7, %al +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addb %dil, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - addb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addw $511, %ax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addw $511, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addw %di, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - addw (%rax), %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl $665536, %eax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl $665536, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl %edi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - addl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addq $665536, %rax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - addq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - addq (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andb $7, %al +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andb %dil, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andw $511, %ax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andw $511, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andw %di, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andw (%rax), %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andl $665536, %eax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andl $665536, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andl %edi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andq $665536, %rax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - andq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - andq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - andq (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btw %si, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcw %si, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrw %si, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsw %si, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - btw %si, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcw %si, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrw %si, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsw %si, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btl %esi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcl %esi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrl %esi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsl %esi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - btl %esi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcl %esi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrl %esi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsl %esi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btq %rsi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcq %rsi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrq %rsi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsq %rsi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - btq %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcq %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrq %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsq %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btcq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btrq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btsq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - btq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decb (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decw %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decw (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decl %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decl (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decq %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decq (%rax) +# CHECK-NEXT: - 1.00 12.00 - - - - - - - - - - - divb %dil +# CHECK-NEXT: - 1.00 12.00 - - - - 1.00 - - - - - - divb (%rax) +# CHECK-NEXT: - 1.00 17.00 - - - - - - - - - - - divw %si +# CHECK-NEXT: - 1.00 17.00 - - - - 1.00 - - - - - - divw (%rax) +# CHECK-NEXT: - 1.00 25.00 - - - - - - - - - - - divl %edx +# CHECK-NEXT: - 1.00 25.00 - - - - 1.00 - - - - - - divl (%rax) +# CHECK-NEXT: - 1.00 41.00 - - - - - - - - - - - divq %rcx +# CHECK-NEXT: - 1.00 41.00 - - - - 1.00 - - - - - - divq (%rax) +# CHECK-NEXT: - 1.00 12.00 - - - - - - - - - - - idivb %dil +# CHECK-NEXT: - 1.00 12.00 - - - - 1.00 - - - - - - idivb (%rax) +# CHECK-NEXT: - 1.00 17.00 - - - - - - - - - - - idivw %si +# CHECK-NEXT: - 1.00 17.00 - - - - 1.00 - - - - - - idivw (%rax) +# CHECK-NEXT: - 1.00 25.00 - - - - - - - - - - - idivl %edx +# CHECK-NEXT: - 1.00 25.00 - - - - 1.00 - - - - - - idivl (%rax) +# CHECK-NEXT: - 1.00 41.00 - - - - - - - - - - - idivq %rcx +# CHECK-NEXT: - 1.00 41.00 - - - - 1.00 - - - - - - idivq (%rax) +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulb %dil +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulb (%rax) +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw %di +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw (%rax) +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw %di, %di +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw (%rax), %di +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw $511, %di, %di +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw $511, (%rax), %di +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imulw $7, %di, %di +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imulw $7, (%rax), %di +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %edi +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull (%rax) +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %edi, %edi +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull (%rax), %edi +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull $665536, %edi, %edi +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull $665536, (%rax), %edi +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull $7, %edi, %edi +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - imull $7, (%rax), %edi +# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq %rdi +# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - imulq (%rax) +# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq %rdi, %rdi +# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - imulq (%rax), %rdi +# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq $665536, %rdi, %rdi +# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - imulq $665536, (%rax), %rdi +# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq $7, %rdi, %rdi +# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - imulq $7, (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incb (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incw %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incw (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incl %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incl (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incq %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incq (%rax) +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulb %dil +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mulb (%rax) +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulw %si +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mulw (%rax) +# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mull %edx +# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mull (%rax) +# CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - mulq %rcx +# CHECK-NEXT: - 1.00 - - - - - 1.00 4.00 - - - - - mulq (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negb (%r8) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negw %si +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negw (%r9) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negl %edx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negl (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - negq %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - negq (%r10) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nop +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopw %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopw (%rcx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopl %esi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopl (%r8) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopq %rdx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - nopq (%r9) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - notb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - notb (%r8) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - notw %si +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - notw (%r9) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - notl %edx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - notl (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - notq %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - notq (%r10) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orb $7, %al +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orb %dil, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - orb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orw $511, %ax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orw $511, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orw %di, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - orw (%rax), %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orl $665536, %eax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orl $665536, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orl %edi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - orl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orq $665536, %rax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - orq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - orq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - orq (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclb (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrb (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclb %cl, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrb %cl, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclb %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrb %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclw %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrw %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclw (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrw (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclw %cl, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrw %cl, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclw %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrw %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcll %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrl %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcll (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrl (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcll $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcll $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcll %cl, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrl %cl, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcll %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrl %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclq %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrq %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclq (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrq (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rclq %cl, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rcrq %cl, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rclq %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rcrq %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolb (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorb (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolb %cl, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorb %cl, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolb %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorb %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolw %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorw %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolw (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorw (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolw %cl, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorw %cl, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolw %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorw %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - roll %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorl %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - roll (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorl (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - roll $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - roll $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - roll %cl, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorl %cl, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - roll %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorl %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolq %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorq %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolq (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorq (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rolq %cl, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorq %cl, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolq %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorq %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrb %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarb (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlb (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrb (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarb %cl, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlb %cl, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrb %cl, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarb %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlb %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrb %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarw %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlw %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrw %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarw (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlw (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrw (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarw %cl, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlw %cl, %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrw %cl, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarw %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlw %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrw %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarl %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shll %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrl %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarl (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shll (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrl (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shll $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shll $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarl %cl, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shll %cl, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrl %cl, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarl %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shll %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrl %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarq %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlq %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrq %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarq (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlq (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrq (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarq %cl, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlq %cl, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrq %cl, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sarq %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shlq %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - shrq %cl, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbb $7, %al +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbb %dil, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - sbbb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbw $511, %ax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbw $511, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbw %di, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - sbbw (%rax), %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbl $665536, %eax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbl $665536, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbl %edi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - sbbl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbq $665536, %rax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sbbq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - sbbq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - sbbq (%rax), %rdi +# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shldw %cl, %si, %di +# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shrdw %cl, %si, %di +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldw %cl, %si, (%rax) +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdw %cl, %si, (%rax) +# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shldw $7, %si, %di +# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shrdw $7, %si, %di +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldw $7, %si, (%rax) +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdw $7, %si, (%rax) +# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shldl %cl, %esi, %edi +# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shrdl %cl, %esi, %edi +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldl %cl, %esi, (%rax) +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shldl $7, %esi, %edi +# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shrdl $7, %esi, %edi +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldl $7, %esi, (%rax) +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdl $7, %esi, (%rax) +# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shldq %cl, %rsi, %rdi +# CHECK-NEXT: 4.00 4.00 - - - - - - - - - - - - shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shldq $7, %rsi, %rdi +# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - shrdq $7, %rsi, %rdi +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shldq $7, %rsi, (%rax) +# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb $7, %al +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb %dil, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - subb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subw $511, %ax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subw $511, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subw %di, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - subw (%rax), %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subl $665536, %eax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subl $665536, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subl %edi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - subl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subq $665536, %rax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - subq (%rax), %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorb $7, %al +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorb $7, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorb %dil, %dil +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - xorb (%rax), %dil +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorw $511, %ax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorw $511, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorw $511, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorw $7, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorw %di, %di +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - xorw (%rax), %di +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorl $665536, %eax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorl $665536, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorl $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorl $7, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorl %edi, %edi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - xorl (%rax), %edi +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorq $665536, %rax +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorq $665536, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorq $7, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - xorq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - xorq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - xorq (%rax), %rdi diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s index e5bfaac..4ff0797 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s @@ -205,324 +205,324 @@ fyl2xp1 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 0.50 * f2xm1 -# CHECK-NEXT: 1 2 1.00 * fabs -# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fadd %st(2) -# CHECK-NEXT: 1 8 1.00 * * fadds (%ecx) -# CHECK-NEXT: 1 8 1.00 * * faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 * faddp %st(1) -# CHECK-NEXT: 1 3 1.00 * faddp %st(2) -# CHECK-NEXT: 1 8 1.00 * * fiadds (%ecx) -# CHECK-NEXT: 1 8 1.00 * * fiaddl (%ecx) -# CHECK-NEXT: 1 100 0.50 * fbld (%ecx) -# CHECK-NEXT: 1 100 0.50 * fbstp (%eax) -# CHECK-NEXT: 1 2 1.00 * fchs -# CHECK-NEXT: 1 100 0.50 * fnclex -# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcom %st(1) -# CHECK-NEXT: 1 3 1.00 * fcom %st(3) -# CHECK-NEXT: 1 8 1.00 * fcoms (%ecx) -# CHECK-NEXT: 1 8 1.00 * fcoml (%eax) -# CHECK-NEXT: 1 3 1.00 * fcomp %st(1) -# CHECK-NEXT: 1 3 1.00 * fcomp %st(3) -# CHECK-NEXT: 1 8 1.00 * fcomps (%ecx) -# CHECK-NEXT: 1 8 1.00 * fcompl (%eax) -# CHECK-NEXT: 1 100 0.50 * fcompp -# CHECK-NEXT: 1 3 1.00 * fcomi %st(3) -# CHECK-NEXT: 1 3 1.00 * fcompi %st(3) -# CHECK-NEXT: 1 100 0.50 * fcos -# CHECK-NEXT: 1 100 0.50 * fdecstp -# CHECK-NEXT: 1 19 19.00 * fdiv %st(0), %st(1) -# CHECK-NEXT: 1 19 19.00 * fdiv %st(2) -# CHECK-NEXT: 1 24 19.00 * * fdivs (%ecx) -# CHECK-NEXT: 1 24 19.00 * * fdivl (%eax) -# CHECK-NEXT: 1 19 19.00 * fdivp %st(1) -# CHECK-NEXT: 1 19 19.00 * fdivp %st(2) -# CHECK-NEXT: 1 24 19.00 * * fidivs (%ecx) -# CHECK-NEXT: 1 24 19.00 * * fidivl (%eax) -# CHECK-NEXT: 1 19 19.00 * fdivr %st(0), %st(1) -# CHECK-NEXT: 1 19 19.00 * fdivr %st(2) -# CHECK-NEXT: 1 24 19.00 * * fdivrs (%ecx) -# CHECK-NEXT: 1 24 19.00 * * fdivrl (%eax) -# CHECK-NEXT: 1 19 19.00 * fdivrp %st(1) -# CHECK-NEXT: 1 19 19.00 * fdivrp %st(2) -# CHECK-NEXT: 1 24 19.00 * * fidivrs (%ecx) -# CHECK-NEXT: 1 24 19.00 * * fidivrl (%eax) -# CHECK-NEXT: 1 100 0.50 * ffree %st(0) -# CHECK-NEXT: 1 8 1.00 * ficoms (%ecx) -# CHECK-NEXT: 1 8 1.00 * ficoml (%eax) -# CHECK-NEXT: 1 8 1.00 * ficomps (%ecx) -# CHECK-NEXT: 1 8 1.00 * ficompl (%eax) -# CHECK-NEXT: 1 5 1.00 * * filds (%edx) -# CHECK-NEXT: 1 5 1.00 * * fildl (%ecx) -# CHECK-NEXT: 1 5 1.00 * * fildll (%eax) -# CHECK-NEXT: 1 100 0.50 * fincstp -# CHECK-NEXT: 1 100 0.50 * fninit -# CHECK-NEXT: 1 1 1.00 * * fists (%edx) -# CHECK-NEXT: 1 1 1.00 * * fistl (%ecx) -# CHECK-NEXT: 1 1 1.00 * * fistps (%edx) -# CHECK-NEXT: 1 1 1.00 * * fistpl (%ecx) -# CHECK-NEXT: 1 1 1.00 * * fistpll (%eax) -# CHECK-NEXT: 1 1 1.00 * * fisttps (%edx) -# CHECK-NEXT: 1 1 1.00 * * fisttpl (%ecx) -# CHECK-NEXT: 1 1 1.00 * * fisttpll (%eax) -# CHECK-NEXT: 1 1 0.50 * fld %st(0) -# CHECK-NEXT: 1 5 1.00 * * flds (%edx) -# CHECK-NEXT: 1 5 1.00 * * fldl (%ecx) -# CHECK-NEXT: 1 5 1.00 * * fldt (%eax) -# CHECK-NEXT: 1 5 1.00 * * fldcw (%eax) -# CHECK-NEXT: 1 100 0.50 * fldenv (%eax) -# CHECK-NEXT: 1 1 - * fld1 -# CHECK-NEXT: 1 100 0.50 * fldl2e -# CHECK-NEXT: 1 100 0.50 * fldl2t -# CHECK-NEXT: 1 100 0.50 * fldlg2 -# CHECK-NEXT: 1 100 0.50 * fldln2 -# CHECK-NEXT: 1 100 0.50 * fldpi -# CHECK-NEXT: 1 1 - * fldz -# CHECK-NEXT: 1 2 1.00 * fmul %st(0), %st(1) -# CHECK-NEXT: 1 2 1.00 * fmul %st(2) -# CHECK-NEXT: 1 7 1.00 * * fmuls (%ecx) -# CHECK-NEXT: 1 7 1.00 * * fmull (%eax) -# CHECK-NEXT: 1 2 1.00 * fmulp %st(1) -# CHECK-NEXT: 1 2 1.00 * fmulp %st(2) -# CHECK-NEXT: 1 7 1.00 * * fimuls (%ecx) -# CHECK-NEXT: 1 7 1.00 * * fimull (%eax) -# CHECK-NEXT: 1 1 0.50 * fnop -# CHECK-NEXT: 1 100 0.50 * fpatan -# CHECK-NEXT: 1 100 0.50 * fprem -# CHECK-NEXT: 1 100 0.50 * fprem1 -# CHECK-NEXT: 1 100 0.50 * fptan -# CHECK-NEXT: 1 100 0.50 * frndint -# CHECK-NEXT: 1 100 0.50 * frstor (%eax) -# CHECK-NEXT: 1 100 0.50 * fnsave (%eax) -# CHECK-NEXT: 1 100 0.50 * fscale -# CHECK-NEXT: 1 100 0.50 * fsin -# CHECK-NEXT: 1 100 0.50 * fsincos -# CHECK-NEXT: 1 35 35.00 * fsqrt -# CHECK-NEXT: 1 1 0.50 * fst %st(0) -# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) -# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) -# CHECK-NEXT: 1 1 0.50 * fstp %st(0) -# CHECK-NEXT: 1 1 1.00 * * fstpl (%edx) -# CHECK-NEXT: 1 1 1.00 * * fstpl (%ecx) -# CHECK-NEXT: 1 1 1.00 * * fstpt (%eax) -# CHECK-NEXT: 1 1 0.50 * * fnstcw (%eax) -# CHECK-NEXT: 1 100 0.50 * fnstenv (%eax) -# CHECK-NEXT: 1 100 0.50 * fnstsw (%eax) -# CHECK-NEXT: 1 100 0.50 * frstor (%eax) -# CHECK-NEXT: 1 100 0.50 * wait -# CHECK-NEXT: 1 100 0.50 * fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsub %st(2) -# CHECK-NEXT: 1 8 1.00 * * fsubs (%ecx) -# CHECK-NEXT: 1 8 1.00 * * fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) -# CHECK-NEXT: 1 8 1.00 * * fisubs (%ecx) -# CHECK-NEXT: 1 8 1.00 * * fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) -# CHECK-NEXT: 1 8 1.00 * * fsubrs (%ecx) -# CHECK-NEXT: 1 8 1.00 * * fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) -# CHECK-NEXT: 1 8 1.00 * * fisubrs (%ecx) -# CHECK-NEXT: 1 8 1.00 * * fisubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * ftst -# CHECK-NEXT: 1 3 1.00 * fucom %st(1) -# CHECK-NEXT: 1 3 1.00 * fucom %st(3) -# CHECK-NEXT: 1 3 1.00 * fucomp %st(1) -# CHECK-NEXT: 1 3 1.00 * fucomp %st(3) -# CHECK-NEXT: 1 3 1.00 * fucompp -# CHECK-NEXT: 1 3 1.00 * fucomi %st(3) -# CHECK-NEXT: 1 3 1.00 * fucompi %st(3) -# CHECK-NEXT: 1 100 0.50 * wait -# CHECK-NEXT: 1 100 0.50 * fxam -# CHECK-NEXT: 1 1 0.50 * fxch %st(1) -# CHECK-NEXT: 1 1 0.50 * fxch %st(3) -# CHECK-NEXT: 1 100 0.50 * * * fxrstor (%eax) -# CHECK-NEXT: 1 100 0.50 * * * fxsave (%eax) -# CHECK-NEXT: 1 100 0.50 * fxtract -# CHECK-NEXT: 1 100 0.50 * fyl2x -# CHECK-NEXT: 1 100 0.50 * fyl2xp1 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 100 0.50 * f2xm1 +# CHECK-NEXT: 1 2 1.00 * fabs +# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fadd %st(2) +# CHECK-NEXT: 1 8 1.00 * * fadds (%ecx) +# CHECK-NEXT: 1 8 1.00 * * faddl (%ecx) +# CHECK-NEXT: 1 3 1.00 * faddp %st(1) +# CHECK-NEXT: 1 3 1.00 * faddp %st(2) +# CHECK-NEXT: 1 8 1.00 * * fiadds (%ecx) +# CHECK-NEXT: 1 8 1.00 * * fiaddl (%ecx) +# CHECK-NEXT: 1 100 0.50 * fbld (%ecx) +# CHECK-NEXT: 1 100 0.50 * fbstp (%eax) +# CHECK-NEXT: 1 2 1.00 * fchs +# CHECK-NEXT: 1 100 0.50 * fnclex +# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcom %st(1) +# CHECK-NEXT: 1 3 1.00 * fcom %st(3) +# CHECK-NEXT: 1 8 1.00 * fcoms (%ecx) +# CHECK-NEXT: 1 8 1.00 * fcoml (%eax) +# CHECK-NEXT: 1 3 1.00 * fcomp %st(1) +# CHECK-NEXT: 1 3 1.00 * fcomp %st(3) +# CHECK-NEXT: 1 8 1.00 * fcomps (%ecx) +# CHECK-NEXT: 1 8 1.00 * fcompl (%eax) +# CHECK-NEXT: 1 100 0.50 * fcompp +# CHECK-NEXT: 1 3 1.00 * fcomi %st(3) +# CHECK-NEXT: 1 3 1.00 * fcompi %st(3) +# CHECK-NEXT: 1 100 0.50 * fcos +# CHECK-NEXT: 1 100 0.50 * fdecstp +# CHECK-NEXT: 1 19 19.00 * fdiv %st(0), %st(1) +# CHECK-NEXT: 1 19 19.00 * fdiv %st(2) +# CHECK-NEXT: 1 24 19.00 * * fdivs (%ecx) +# CHECK-NEXT: 1 24 19.00 * * fdivl (%eax) +# CHECK-NEXT: 1 19 19.00 * fdivp %st(1) +# CHECK-NEXT: 1 19 19.00 * fdivp %st(2) +# CHECK-NEXT: 1 24 19.00 * * fidivs (%ecx) +# CHECK-NEXT: 1 24 19.00 * * fidivl (%eax) +# CHECK-NEXT: 1 19 19.00 * fdivr %st(0), %st(1) +# CHECK-NEXT: 1 19 19.00 * fdivr %st(2) +# CHECK-NEXT: 1 24 19.00 * * fdivrs (%ecx) +# CHECK-NEXT: 1 24 19.00 * * fdivrl (%eax) +# CHECK-NEXT: 1 19 19.00 * fdivrp %st(1) +# CHECK-NEXT: 1 19 19.00 * fdivrp %st(2) +# CHECK-NEXT: 1 24 19.00 * * fidivrs (%ecx) +# CHECK-NEXT: 1 24 19.00 * * fidivrl (%eax) +# CHECK-NEXT: 1 100 0.50 * ffree %st(0) +# CHECK-NEXT: 1 8 1.00 * ficoms (%ecx) +# CHECK-NEXT: 1 8 1.00 * ficoml (%eax) +# CHECK-NEXT: 1 8 1.00 * ficomps (%ecx) +# CHECK-NEXT: 1 8 1.00 * ficompl (%eax) +# CHECK-NEXT: 1 5 1.00 * * filds (%edx) +# CHECK-NEXT: 1 5 1.00 * * fildl (%ecx) +# CHECK-NEXT: 1 5 1.00 * * fildll (%eax) +# CHECK-NEXT: 1 100 0.50 * fincstp +# CHECK-NEXT: 1 100 0.50 * fninit +# CHECK-NEXT: 1 1 1.00 * * fists (%edx) +# CHECK-NEXT: 1 1 1.00 * * fistl (%ecx) +# CHECK-NEXT: 1 1 1.00 * * fistps (%edx) +# CHECK-NEXT: 1 1 1.00 * * fistpl (%ecx) +# CHECK-NEXT: 1 1 1.00 * * fistpll (%eax) +# CHECK-NEXT: 1 1 1.00 * * fisttps (%edx) +# CHECK-NEXT: 1 1 1.00 * * fisttpl (%ecx) +# CHECK-NEXT: 1 1 1.00 * * fisttpll (%eax) +# CHECK-NEXT: 1 1 0.50 * fld %st(0) +# CHECK-NEXT: 1 5 1.00 * * flds (%edx) +# CHECK-NEXT: 1 5 1.00 * * fldl (%ecx) +# CHECK-NEXT: 1 5 1.00 * * fldt (%eax) +# CHECK-NEXT: 1 5 1.00 * * fldcw (%eax) +# CHECK-NEXT: 1 100 0.50 * fldenv (%eax) +# CHECK-NEXT: 1 1 - * fld1 +# CHECK-NEXT: 1 100 0.50 * fldl2e +# CHECK-NEXT: 1 100 0.50 * fldl2t +# CHECK-NEXT: 1 100 0.50 * fldlg2 +# CHECK-NEXT: 1 100 0.50 * fldln2 +# CHECK-NEXT: 1 100 0.50 * fldpi +# CHECK-NEXT: 1 1 - * fldz +# CHECK-NEXT: 1 2 1.00 * fmul %st(0), %st(1) +# CHECK-NEXT: 1 2 1.00 * fmul %st(2) +# CHECK-NEXT: 1 7 1.00 * * fmuls (%ecx) +# CHECK-NEXT: 1 7 1.00 * * fmull (%eax) +# CHECK-NEXT: 1 2 1.00 * fmulp %st(1) +# CHECK-NEXT: 1 2 1.00 * fmulp %st(2) +# CHECK-NEXT: 1 7 1.00 * * fimuls (%ecx) +# CHECK-NEXT: 1 7 1.00 * * fimull (%eax) +# CHECK-NEXT: 1 1 0.50 * fnop +# CHECK-NEXT: 1 100 0.50 * fpatan +# CHECK-NEXT: 1 100 0.50 * fprem +# CHECK-NEXT: 1 100 0.50 * fprem1 +# CHECK-NEXT: 1 100 0.50 * fptan +# CHECK-NEXT: 1 100 0.50 * frndint +# CHECK-NEXT: 1 100 0.50 * frstor (%eax) +# CHECK-NEXT: 1 100 0.50 * fnsave (%eax) +# CHECK-NEXT: 1 100 0.50 * fscale +# CHECK-NEXT: 1 100 0.50 * fsin +# CHECK-NEXT: 1 100 0.50 * fsincos +# CHECK-NEXT: 1 35 35.00 * fsqrt +# CHECK-NEXT: 1 1 0.50 * fst %st(0) +# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) +# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) +# CHECK-NEXT: 1 1 0.50 * fstp %st(0) +# CHECK-NEXT: 1 1 1.00 * * fstpl (%edx) +# CHECK-NEXT: 1 1 1.00 * * fstpl (%ecx) +# CHECK-NEXT: 1 1 1.00 * * fstpt (%eax) +# CHECK-NEXT: 1 1 0.50 * * fnstcw (%eax) +# CHECK-NEXT: 1 100 0.50 * fnstenv (%eax) +# CHECK-NEXT: 1 100 0.50 * fnstsw (%eax) +# CHECK-NEXT: 1 100 0.50 * frstor (%eax) +# CHECK-NEXT: 1 100 0.50 * wait +# CHECK-NEXT: 1 100 0.50 * fnsave (%eax) +# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsub %st(2) +# CHECK-NEXT: 1 8 1.00 * * fsubs (%ecx) +# CHECK-NEXT: 1 8 1.00 * * fsubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) +# CHECK-NEXT: 1 8 1.00 * * fisubs (%ecx) +# CHECK-NEXT: 1 8 1.00 * * fisubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) +# CHECK-NEXT: 1 8 1.00 * * fsubrs (%ecx) +# CHECK-NEXT: 1 8 1.00 * * fsubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) +# CHECK-NEXT: 1 8 1.00 * * fisubrs (%ecx) +# CHECK-NEXT: 1 8 1.00 * * fisubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * ftst +# CHECK-NEXT: 1 3 1.00 * fucom %st(1) +# CHECK-NEXT: 1 3 1.00 * fucom %st(3) +# CHECK-NEXT: 1 3 1.00 * fucomp %st(1) +# CHECK-NEXT: 1 3 1.00 * fucomp %st(3) +# CHECK-NEXT: 1 3 1.00 * fucompp +# CHECK-NEXT: 1 3 1.00 * fucomi %st(3) +# CHECK-NEXT: 1 3 1.00 * fucompi %st(3) +# CHECK-NEXT: 1 100 0.50 * wait +# CHECK-NEXT: 1 100 0.50 * fxam +# CHECK-NEXT: 1 1 0.50 * fxch %st(1) +# CHECK-NEXT: 1 1 0.50 * fxch %st(3) +# CHECK-NEXT: 1 100 0.50 * * * fxrstor (%eax) +# CHECK-NEXT: 1 100 0.50 * * * fxsave (%eax) +# CHECK-NEXT: 1 100 0.50 * fxtract +# CHECK-NEXT: 1 100 0.50 * fyl2x +# CHECK-NEXT: 1 100 0.50 * fyl2xp1 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 44.50 22.50 - 54.00 349.00 54.00 27.00 39.00 - 13.00 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - f2xm1 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fabs -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st(2) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fadds (%ecx) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - faddl (%ecx) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - faddp %st(1) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - faddp %st(2) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fiadds (%ecx) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fiaddl (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fbld (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fbstp (%eax) -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fchs -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnclex -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovu %st(1), %st(0) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcom %st(1) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcom %st(3) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcoms (%ecx) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcoml (%eax) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcomp %st(1) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcomp %st(3) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcomps (%ecx) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcompl (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fcompp -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcomi %st(3) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcompi %st(3) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fcos -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fdecstp -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st(0), %st(1) -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st(2) -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivs (%ecx) -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivl (%eax) -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivp %st(1) -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivp %st(2) -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivs (%ecx) -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivl (%eax) -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st(0), %st(1) -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st(2) -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivrs (%ecx) -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivrl (%eax) -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivrp %st(1) -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivrp %st(2) -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivrs (%ecx) -# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivrl (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - ffree %st(0) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficoms (%ecx) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficoml (%eax) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficomps (%ecx) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficompl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - filds (%edx) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fildl (%ecx) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fildll (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fincstp -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fninit -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fists (%edx) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fistl (%ecx) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fistps (%edx) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fistpl (%ecx) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fistpll (%eax) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fisttps (%edx) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fisttpl (%ecx) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fisttpll (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fld %st(0) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - flds (%edx) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fldl (%ecx) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fldt (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fldcw (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldenv (%eax) -# CHECK-NEXT: - - - - - - - - - - - - - - fld1 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldl2e -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldl2t -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldlg2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldln2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldpi -# CHECK-NEXT: - - - - - - - - - - - - - - fldz -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st(0), %st(1) -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st(2) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fmuls (%ecx) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fmull (%eax) -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmulp %st(1) -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmulp %st(2) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fimuls (%ecx) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fimull (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnop -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fpatan -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fprem -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fprem1 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fptan -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - frndint -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - frstor (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fscale -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fsin -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fsincos -# CHECK-NEXT: - - - - 35.00 - 1.00 - - - - - - - fsqrt -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fst %st(0) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fsts (%edx) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstl (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fstp %st(0) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstpl (%edx) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstpl (%ecx) -# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstpt (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnstcw (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnstenv (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnstsw (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - frstor (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - wait -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st(2) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubs (%ecx) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubl (%eax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubp %st(1) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubp %st(2) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubs (%ecx) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubl (%eax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st(2) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubrs (%ecx) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubrl (%eax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubrp %st(1) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubrp %st(2) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubrs (%ecx) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubrl (%eax) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ftst -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucom %st(1) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucom %st(3) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomp %st(1) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomp %st(3) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucompp -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomi %st(3) -# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucompi %st(3) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - wait -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxam -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxch %st(1) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxch %st(3) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxrstor (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxsave (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxtract -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fyl2x -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fyl2xp1 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - f2xm1 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fabs +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st(2) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fadds (%ecx) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - faddl (%ecx) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - faddp %st(1) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - faddp %st(2) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fiadds (%ecx) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fiaddl (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fbld (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fbstp (%eax) +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fchs +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnclex +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmove %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovne %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcom %st(1) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcom %st(3) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcoms (%ecx) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcoml (%eax) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcomp %st(1) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcomp %st(3) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcomps (%ecx) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcompl (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fcompp +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcomi %st(3) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcompi %st(3) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fcos +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fdecstp +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st(2) +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivs (%ecx) +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivl (%eax) +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivp %st(1) +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivp %st(2) +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivs (%ecx) +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivl (%eax) +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st(2) +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivrs (%ecx) +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivrl (%eax) +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivrp %st(1) +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivrp %st(2) +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivrs (%ecx) +# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivrl (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - ffree %st(0) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficoms (%ecx) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficoml (%eax) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficomps (%ecx) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficompl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - filds (%edx) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fildl (%ecx) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fildll (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fincstp +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fninit +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fists (%edx) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fistl (%ecx) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fistps (%edx) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fistpl (%ecx) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fistpll (%eax) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fisttps (%edx) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fisttpl (%ecx) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fisttpll (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fld %st(0) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - flds (%edx) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fldl (%ecx) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fldt (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - - - fldcw (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldenv (%eax) +# CHECK-NEXT: - - - - - - - - - - - - - - fld1 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldl2e +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldl2t +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldlg2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldln2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fldpi +# CHECK-NEXT: - - - - - - - - - - - - - - fldz +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st(2) +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fmuls (%ecx) +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fmull (%eax) +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmulp %st(1) +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmulp %st(2) +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fimuls (%ecx) +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fimull (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnop +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fpatan +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fprem +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fprem1 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fptan +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - frndint +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - frstor (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnsave (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fscale +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fsin +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fsincos +# CHECK-NEXT: - - - - 35.00 - 1.00 - - - - - - - fsqrt +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fst %st(0) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fsts (%edx) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstl (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fstp %st(0) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstpl (%edx) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstpl (%ecx) +# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstpt (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnstcw (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnstenv (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnstsw (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - frstor (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - wait +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnsave (%eax) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st(2) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubs (%ecx) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubl (%eax) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubp %st(1) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubp %st(2) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubs (%ecx) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubl (%eax) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st(2) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubrs (%ecx) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubrl (%eax) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubrp %st(1) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubrp %st(2) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubrs (%ecx) +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubrl (%eax) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ftst +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucom %st(1) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucom %st(3) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomp %st(1) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomp %st(3) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucompp +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomi %st(3) +# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucompi %st(3) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - wait +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxam +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxch %st(1) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxch %st(3) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxrstor (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxsave (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxtract +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fyl2x +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fyl2xp1 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s b/llvm/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s index dbe48ec..b501934 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s @@ -18,9 +18,9 @@ add %rsi, %rsi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 7 1.00 * vmulps (%rsi), %xmm0, %xmm0 -# CHECK-NEXT: 1 1 0.50 addq %rsi, %rsi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 7 1.00 * vmulps (%rsi), %xmm0, %xmm0 +# CHECK-NEXT: 1 1 0.50 addq %rsi, %rsi # CHECK: Schedulers - number of cycles where we saw N instructions issued: # CHECK-NEXT: [# issued], [# cycles] @@ -33,27 +33,27 @@ add %rsi, %rsi # CHECK-NEXT: JLSAGU, 1/12 # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: - 1.00 - - 1.00 - 1.00 1.00 - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmulps (%rsi), %xmm0, %xmm0 -# CHECK-NEXT: - 1.00 - - - - - - - - - - - - addq %rsi, %rsi +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmulps (%rsi), %xmm0, %xmm0 +# CHECK-NEXT: - 1.00 - - - - - - - - - - - - addq %rsi, %rsi diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/simple-test.s b/llvm/test/tools/llvm-mca/X86/BtVer2/simple-test.s index fa53f66..4b3f549 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/simple-test.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/simple-test.s @@ -17,30 +17,30 @@ add %edi, %eax # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 addl %edi, %eax +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 addl %edi, %eax # CHECK: Resources: -# CHECK-NEXT: [0] - JALU0 -# CHECK-NEXT: [1] - JALU1 -# CHECK-NEXT: [2] - JDiv -# CHECK-NEXT: [3] - JFPA -# CHECK-NEXT: [4] - JFPM -# CHECK-NEXT: [5] - JFPU0 -# CHECK-NEXT: [6] - JFPU1 -# CHECK-NEXT: [7] - JLAGU -# CHECK-NEXT: [8] - JMul -# CHECK-NEXT: [9] - JSAGU -# CHECK-NEXT: [10] - JSTC -# CHECK-NEXT: [11] - JVALU0 -# CHECK-NEXT: [12] - JVALU1 -# CHECK-NEXT: [13] - JVIMUL +# CHECK-NEXT: [0] - JALU0 +# CHECK-NEXT: [1] - JALU1 +# CHECK-NEXT: [2] - JDiv +# CHECK-NEXT: [3] - JFPA +# CHECK-NEXT: [4] - JFPM +# CHECK-NEXT: [5] - JFPU0 +# CHECK-NEXT: [6] - JFPU1 +# CHECK-NEXT: [7] - JLAGU +# CHECK-NEXT: [8] - JMul +# CHECK-NEXT: [9] - JSAGU +# CHECK-NEXT: [10] - JSTC +# CHECK-NEXT: [11] - JVALU0 +# CHECK-NEXT: [12] - JVALU1 +# CHECK-NEXT: [13] - JVIMUL # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl %edi, %eax +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl %edi, %eax diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s index fa9ddd7..c60db94 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s @@ -18,16 +18,16 @@ vandps (%rdi), %xmm1, %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm0, %xmm1 -# CHECK-NEXT: 1 6 1.00 * vandps (%rdi), %xmm1, %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm0, %xmm1 +# CHECK-NEXT: 1 6 1.00 * vandps (%rdi), %xmm1, %xmm2 # CHECK: Timeline view: -# CHECK: Index 012345678 +# CHECK: Index 012345678 -# CHECK: [0,0] DeeeER . vaddps %xmm0, %xmm0, %xmm1 -# CHECK-NEXT: [0,1] DeeeeeeER vandps (%rdi), %xmm1, %xmm2 +# CHECK: [0,0] DeeeER . vaddps %xmm0, %xmm0, %xmm1 +# CHECK-NEXT: [0,1] DeeeeeeER vandps (%rdi), %xmm1, %xmm2 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -36,6 +36,6 @@ vandps (%rdi), %xmm1, %xmm2 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vaddps %xmm0, %xmm0, %xmm1 -# CHECK-NEXT: 1. 1 1.0 0.0 0.0 vandps (%rdi), %xmm1, %xmm2 +# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vaddps %xmm0, %xmm0, %xmm1 +# CHECK-NEXT: 1. 1 1.0 0.0 0.0 vandps (%rdi), %xmm1, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s b/llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s index 797c244..2951d68 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s @@ -18,16 +18,16 @@ vandps (%rdi), %ymm1, %ymm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 3 2.00 vaddps %ymm0, %ymm0, %ymm1 -# CHECK-NEXT: 2 6 2.00 * vandps (%rdi), %ymm1, %ymm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 3 2.00 vaddps %ymm0, %ymm0, %ymm1 +# CHECK-NEXT: 2 6 2.00 * vandps (%rdi), %ymm1, %ymm2 # CHECK: Timeline view: -# CHECK: Index 0123456789 +# CHECK: Index 0123456789 -# CHECK: [0,0] DeeeER . vaddps %ymm0, %ymm0, %ymm1 -# CHECK-NEXT: [0,1] .DeeeeeeER vandps (%rdi), %ymm1, %ymm2 +# CHECK: [0,0] DeeeER . vaddps %ymm0, %ymm0, %ymm1 +# CHECK-NEXT: [0,1] .DeeeeeeER vandps (%rdi), %ymm1, %ymm2 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -36,6 +36,6 @@ vandps (%rdi), %ymm1, %ymm2 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vaddps %ymm0, %ymm0, %ymm1 -# CHECK-NEXT: 1. 1 1.0 1.0 0.0 vandps (%rdi), %ymm1, %ymm2 +# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vaddps %ymm0, %ymm0, %ymm1 +# CHECK-NEXT: 1. 1 1.0 1.0 0.0 vandps (%rdi), %ymm1, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s index bf2b5ea..83c4c08 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s @@ -1017,1390 +1017,1390 @@ vzeroupper # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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 8 1.00 * vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 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: 1 7 1.00 vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 13 1.00 * vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 13 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 13 1.00 * vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 7 1.00 vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 13 1.00 * vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 14 2.00 vaesimc %xmm0, %xmm2 -# CHECK-NEXT: 3 20 2.00 * vaesimc (%rax), %xmm2 -# CHECK-NEXT: 11 29 7.00 vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: 11 34 7.00 * 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.33 vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 2.00 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 8 2.00 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 9 2.00 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 2.00 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 8 2.00 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 9 2.00 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 7 0.50 * 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 8 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vcomisd (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 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 6 1.00 vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: 3 12 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: 2 8 1.00 * vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: 2 8 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 6 1.00 * vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: 3 10 1.00 * vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: 2 4 1.00 vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * vcvtsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * vcvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 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: 2 4 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 3 5 2.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: 2 2 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 4 1.00 vcvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 vcvtss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * vcvtss2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * vcvtss2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 8 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 4 1.00 vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * vcvttsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * vcvttsd2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 vcvttss2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 vcvttss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * vcvttss2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * vcvttss2si (%rax), %rcx -# CHECK-NEXT: 1 20 14.00 vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 26 14.00 * vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 35 28.00 vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 42 28.00 * vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 13 7.00 vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 19 7.00 * vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 21 14.00 vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 28 14.00 * vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 20 14.00 vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 25 14.00 * vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 13 7.00 vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 18 7.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 14 2.00 vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 5 20 2.00 * vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 4 14 2.00 vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 5 21 2.00 * vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: 2 2 1.00 vextractps $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 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 3 1.00 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: 3 7 1.00 * * * vldmxcsr (%rax) -# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 3 9 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 3 8 2.00 * vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 3 9 2.00 * vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 4 5 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 4 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 8 1.00 * vmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmaxss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 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 8 1.00 * vminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vminss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vminss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovapd %xmm0, %xmm2 -# CHECK-NEXT: 2 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: 2 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: 2 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: 2 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 5 0.50 * vmovd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * vmovd %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 vmovddup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovdqa %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: 2 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: 2 1 1.00 * vmovdqu %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovdqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: 2 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: 2 1 1.00 * vmovhpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovhps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx -# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx -# CHECK-NEXT: 1 3 1.00 vmovmskps %ymm0, %ecx -# CHECK-NEXT: 2 1 1.00 * vmovntdq %xmm0, (%rax) -# CHECK-NEXT: 2 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: 2 1 1.00 * vmovntpd %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * vmovntpd %ymm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * vmovntps %xmm0, (%rax) -# CHECK-NEXT: 2 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 5 0.50 * vmovq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovq %xmm0, %rcx -# CHECK-NEXT: 2 1 1.00 * vmovq %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovss %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovupd %xmm0, %xmm2 -# CHECK-NEXT: 2 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: 2 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: 2 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: 2 1 1.00 * vmovups %ymm0, (%rax) -# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %ymm2 -# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 13 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * 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 1.00 vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 1.00 vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 2.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 8 2.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 11 2.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 17 2.00 * 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 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: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 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 2 1.00 vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 3 3 2.00 vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * 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 2.00 vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * 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 3 1.00 vpmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * 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: 2 10 2.00 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 16 2.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 1.00 vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 1.00 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 1.00 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 4 1.00 vptest %ymm0, %ymm1 -# CHECK-NEXT: 3 11 1.00 * vptest (%rax), %ymm1 -# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 5 1.00 vrcpps %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * vrcpps (%rax), %xmm2 -# CHECK-NEXT: 3 11 2.00 vrcpps %ymm0, %ymm2 -# CHECK-NEXT: 4 18 2.00 * vrcpps (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vrcpss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vrcpss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 6 0.50 vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 12 2.00 * vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 3 13 2.00 * vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 6 0.50 vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 12 2.00 * vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: 3 13 2.00 * vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: 1 6 0.50 vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 12 2.00 * vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 6 0.50 vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 12 2.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 11 2.00 vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 4 18 2.00 * vrsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 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 16 14.00 vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 2 22 14.00 * vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: 3 35 28.00 vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: 4 42 28.00 * vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: 1 11 7.00 vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 17 7.00 * vsqrtps (%rax), %xmm2 -# CHECK-NEXT: 3 21 14.00 vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 4 28 14.00 * vsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 16 14.00 vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 11 7.00 vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 2 1.00 * * * 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 8 1.00 * vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 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: 1 3 1.00 vucomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 vucomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 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: 16 16 16.00 * * * vzeroall -# CHECK-NEXT: 4 4 1.00 * * * vzeroupper +# 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 8 1.00 * vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 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: 1 7 1.00 vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 13 1.00 * vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 13 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 13 1.00 * vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 7 1.00 vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 13 1.00 * vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 14 2.00 vaesimc %xmm0, %xmm2 +# CHECK-NEXT: 3 20 2.00 * vaesimc (%rax), %xmm2 +# CHECK-NEXT: 11 29 7.00 vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: 11 34 7.00 * 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.33 vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 2.00 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 8 2.00 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 9 2.00 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 2.00 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 8 2.00 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 9 2.00 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 7 0.50 * 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 8 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vcomisd (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 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 6 1.00 vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: 3 12 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: 2 8 1.00 * vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: 2 8 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 6 1.00 * vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: 3 10 1.00 * vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: 2 4 1.00 vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * vcvtsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * vcvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 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: 2 4 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 3 5 2.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: 2 2 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 4 1.00 vcvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 vcvtss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * vcvtss2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * vcvtss2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 8 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 4 1.00 vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * vcvttsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * vcvttsd2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 vcvttss2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 vcvttss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * vcvttss2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * vcvttss2si (%rax), %rcx +# CHECK-NEXT: 1 20 14.00 vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 26 14.00 * vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 35 28.00 vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 42 28.00 * vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 13 7.00 vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 19 7.00 * vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 21 14.00 vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 28 14.00 * vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 20 14.00 vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 25 14.00 * vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 13 7.00 vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 18 7.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 14 2.00 vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 5 20 2.00 * vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 4 14 2.00 vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 5 21 2.00 * vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: 2 2 1.00 vextractps $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 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 3 1.00 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: 3 7 1.00 * * * vldmxcsr (%rax) +# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 3 9 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 3 8 2.00 * vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 3 9 2.00 * vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 4 5 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 4 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 8 1.00 * vmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmaxss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 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 8 1.00 * vminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vminss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vminss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovapd %xmm0, %xmm2 +# CHECK-NEXT: 2 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: 2 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: 2 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: 2 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 5 0.50 * vmovd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * vmovd %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 vmovddup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovdqa %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: 2 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: 2 1 1.00 * vmovdqu %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovdqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: 2 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: 2 1 1.00 * vmovhpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovhps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx +# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx +# CHECK-NEXT: 1 3 1.00 vmovmskps %ymm0, %ecx +# CHECK-NEXT: 2 1 1.00 * vmovntdq %xmm0, (%rax) +# CHECK-NEXT: 2 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: 2 1 1.00 * vmovntpd %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * vmovntpd %ymm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * vmovntps %xmm0, (%rax) +# CHECK-NEXT: 2 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 5 0.50 * vmovq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovq %xmm0, %rcx +# CHECK-NEXT: 2 1 1.00 * vmovq %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovss %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovupd %xmm0, %xmm2 +# CHECK-NEXT: 2 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: 2 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: 2 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: 2 1 1.00 * vmovups %ymm0, (%rax) +# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %ymm2 +# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 13 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * 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 1.00 vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 1.00 vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 2.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 8 2.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 11 2.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 17 2.00 * 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 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: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 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 2 1.00 vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 3 3 2.00 vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * 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 2.00 vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * 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 3 1.00 vpmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * 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: 2 10 2.00 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 16 2.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 1.00 vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 1.00 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 1.00 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 4 1.00 vptest %ymm0, %ymm1 +# CHECK-NEXT: 3 11 1.00 * vptest (%rax), %ymm1 +# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 5 1.00 vrcpps %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * vrcpps (%rax), %xmm2 +# CHECK-NEXT: 3 11 2.00 vrcpps %ymm0, %ymm2 +# CHECK-NEXT: 4 18 2.00 * vrcpps (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vrcpss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vrcpss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 6 0.50 vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 12 2.00 * vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 3 13 2.00 * vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 6 0.50 vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 12 2.00 * vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: 3 13 2.00 * vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: 1 6 0.50 vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 12 2.00 * vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 6 0.50 vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 12 2.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 11 2.00 vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 4 18 2.00 * vrsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 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 16 14.00 vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 2 22 14.00 * vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: 3 35 28.00 vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: 4 42 28.00 * vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: 1 11 7.00 vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 17 7.00 * vsqrtps (%rax), %xmm2 +# CHECK-NEXT: 3 21 14.00 vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 4 28 14.00 * vsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 16 14.00 vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 11 7.00 vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 2 1.00 * * * 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 8 1.00 * vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 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: 1 3 1.00 vucomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 vucomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 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: 16 16 16.00 * * * vzeroall +# CHECK-NEXT: 4 4 1.00 * * * vzeroupper # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 336.00 186.00 236.00 174.17 174.17 38.00 432.00 1.00 12.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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: - - - - - - - 1.00 - - vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vaesimc %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vaesimc (%rax), %xmm2 -# CHECK-NEXT: - - 2.67 0.67 - - - 7.67 - - vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 7.33 - - vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 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 - - - - - - vcomisd %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomisd (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - - - vcomiss %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomiss (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - 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 0.50 0.50 - - - - vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: - - - 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 - 1.00 - - 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 0.50 0.50 - 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: - - - 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 - - - 1.00 - - vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vcvtsi2ssq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 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 0.50 0.50 - - - - vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 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: - 14.00 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 28.00 2.00 0.50 - - - 0.50 - - vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - 28.00 2.00 0.50 0.50 0.50 - 0.50 - - vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 7.00 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 14.00 2.00 0.50 - - - 0.50 - - vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - 14.00 2.00 0.50 0.50 0.50 - 0.50 - - vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 7.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 0.50 0.50 - 1.00 - - vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vextractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinsertps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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.25 0.25 0.50 0.50 - 0.25 0.25 - vldmxcsr (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovapd %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovaps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovaps %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqa (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqu (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovhps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovss %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovupd %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovups %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vmovups %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 2.00 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - 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: - - - 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: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.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: - - - 0.50 - - - 2.50 - - vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 2.00 - - - - - - - vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.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.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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 - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - 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 - 0.50 0.50 - 1.00 - - vptest (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %ymm0, %ymm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %ymm1 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vrcpps %ymm0, %ymm2 -# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - 0.50 0.50 - - - - vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.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.33 0.33 - - - 0.33 - - vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufpd $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 28.00 2.00 0.50 - - - 0.50 - - vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: - 28.00 2.00 0.50 0.50 0.50 - 0.50 - - vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: - 7.00 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm2 -# CHECK-NEXT: - 14.00 2.00 0.50 - - - 0.50 - - vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - 14.00 2.00 0.50 0.50 0.50 - 0.50 - - vsqrtps (%rax), %ymm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 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 - - - - - - vucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - - - vucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 16.00 - - vzeroall -# CHECK-NEXT: - - 1.08 1.08 - - - 1.08 0.75 - vzeroupper +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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: - - - - - - - 1.00 - - vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vaesimc %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vaesimc (%rax), %xmm2 +# CHECK-NEXT: - - 2.67 0.67 - - - 7.67 - - vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 7.33 - - vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vandps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 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 - - - - - - vcomisd %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomisd (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - - - vcomiss %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomiss (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - 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 0.50 0.50 - - - - vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: - - - 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 - 1.00 - - 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 0.50 0.50 - 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: - - - 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 - - - 1.00 - - vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vcvtsi2ssq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 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 0.50 0.50 - - - - vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 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: - 14.00 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 28.00 2.00 0.50 - - - 0.50 - - vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - 28.00 2.00 0.50 0.50 0.50 - 0.50 - - vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 7.00 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 14.00 2.00 0.50 - - - 0.50 - - vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - 14.00 2.00 0.50 0.50 0.50 - 0.50 - - vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 7.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 0.50 0.50 - 1.00 - - vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vextractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinsertps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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.25 0.25 0.50 0.50 - 0.25 0.25 - vldmxcsr (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovapd %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovaps %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqa (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqu (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovhpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovhps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovss %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovupd %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovups %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vmovups %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 2.00 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - 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: - - - 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: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.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: - - - 0.50 - - - 2.50 - - vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 2.00 - - - - - - - vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.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.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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 - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - 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 - 0.50 0.50 - 1.00 - - vptest (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %ymm0, %ymm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %ymm1 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vrcpps %ymm0, %ymm2 +# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - 0.50 0.50 - - - - vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.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.33 0.33 - - - 0.33 - - vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufpd $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 28.00 2.00 0.50 - - - 0.50 - - vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: - 28.00 2.00 0.50 0.50 0.50 - 0.50 - - vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: - 7.00 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm2 +# CHECK-NEXT: - 14.00 2.00 0.50 - - - 0.50 - - vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - 14.00 2.00 0.50 0.50 0.50 - 0.50 - - vsqrtps (%rax), %ymm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 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 - - - - - - vucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - - - vucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 16.00 - - vzeroall +# CHECK-NEXT: - - 1.08 1.08 - - - 1.08 0.75 - vzeroupper diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx2.s index 97353fe..d427bb0 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx2.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx2.s @@ -456,622 +456,622 @@ vpxor (%rax), %ymm1, %ymm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: 12 26 2.67 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 20 27 4.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 15 25 3.67 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 34 27 6.50 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 14 23 3.33 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 22 24 5.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 15 25 3.67 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 15 28 3.67 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 14 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 2.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 9 2.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: 12 26 2.67 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 34 27 6.50 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 12 26 2.67 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 20 27 4.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 22 25 5.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 22 24 5.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 14 23 3.33 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 22 24 5.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 8 2.00 * vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 3 9 2.00 * vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 3 8 2.00 * vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 3 9 2.00 * vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovmskb %ymm0, %ecx -# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 10 2.00 vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 17 2.00 * vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 1.00 vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 1.00 * vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: 12 26 2.67 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 20 27 4.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 15 25 3.67 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 34 27 6.50 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 14 23 3.33 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 22 24 5.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 15 25 3.67 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 15 28 3.67 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: 3 7 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 14 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 2.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 9 2.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: 3 9 1.00 * vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: 3 9 1.00 * vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: 12 26 2.67 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 34 27 6.50 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 12 26 2.67 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 20 27 4.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 22 25 5.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 22 24 5.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 14 23 3.33 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 22 24 5.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 8 2.00 * vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 3 9 2.00 * vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 4 5 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 3 8 2.00 * vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 3 9 2.00 * vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 4 5 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovmskb %ymm0, %ecx +# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 10 2.00 vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 17 2.00 * vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 1.00 vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 1.00 * vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2 # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 202.67 89.67 97.17 97.17 5.00 280.67 28.00 1.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - 4.00 1.50 1.00 1.00 - 3.50 1.00 - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 6.67 2.17 2.00 2.00 - 5.17 2.00 - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - 5.33 1.83 1.00 1.00 - 4.83 1.00 - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 12.00 3.50 4.00 4.00 - 6.50 4.00 - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 5.00 1.50 1.00 1.00 - 4.50 1.00 - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 5.33 1.83 1.00 1.00 - 4.83 1.00 - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 5.33 1.83 1.00 1.00 - 4.83 1.00 - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsb %ymm0, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsb (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsd %ymm0, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsd (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsw %ymm0, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: - - 4.00 1.50 1.00 1.00 - 3.50 1.00 - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 12.00 3.50 4.00 4.00 - 6.50 4.00 - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 4.00 1.50 1.00 1.00 - 3.50 1.00 - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 6.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 5.00 1.50 1.00 1.00 - 4.50 1.00 - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - - - - - - - vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - 4.00 1.50 1.00 1.00 - 3.50 1.00 - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 6.67 2.17 2.00 2.00 - 5.17 2.00 - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - 5.33 1.83 1.00 1.00 - 4.83 1.00 - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 12.00 3.50 4.00 4.00 - 6.50 4.00 - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 5.00 1.50 1.00 1.00 - 4.50 1.00 - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 5.33 1.83 1.00 1.00 - 4.83 1.00 - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 5.33 1.83 1.00 1.00 - 4.83 1.00 - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsb %ymm0, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsb (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsd %ymm0, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsd (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpabsw %ymm0, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpabsw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: - - 4.00 1.50 1.00 1.00 - 3.50 1.00 - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 12.00 3.50 4.00 4.00 - 6.50 4.00 - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 4.00 1.50 1.00 1.00 - 3.50 1.00 - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 6.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 5.00 1.50 1.00 1.00 - 4.50 1.00 - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 8.67 2.17 2.00 2.00 - 5.17 2.00 - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.33 0.33 1.00 0.50 - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - - - - - - - vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 2.00 - - - - 1.00 - - vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - 1.00 - - vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s index e73f06c..e326471 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s @@ -45,72 +45,72 @@ tzcnt (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * andnl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * andnq (%rax), %rbx, %rcx -# CHECK-NEXT: 2 2 0.50 bextrl %eax, %ebx, %ecx -# CHECK-NEXT: 3 7 0.50 * bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: 2 2 0.50 bextrq %rax, %rbx, %rcx -# CHECK-NEXT: 3 7 0.50 * bextrq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsil (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * blsiq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsmskl (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * blsmskq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx -# CHECK-NEXT: 1 1 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: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * andnl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * andnq (%rax), %rbx, %rcx +# CHECK-NEXT: 2 2 0.50 bextrl %eax, %ebx, %ecx +# CHECK-NEXT: 3 7 0.50 * bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: 2 2 0.50 bextrq %rax, %rbx, %rcx +# CHECK-NEXT: 3 7 0.50 * bextrq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsil (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * blsiq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsmskl (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * blsmskq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx +# CHECK-NEXT: 1 1 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: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 2.00 14.00 6.00 6.00 - 10.00 2.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 - - - 0.50 0.50 - bextrl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - bextrq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 - - - 0.50 0.50 - bextrl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - bextrq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - 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 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-bmi2.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-bmi2.s index c316af0..90ff1d6 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-bmi2.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-bmi2.s @@ -57,88 +57,88 @@ shrx %rax, (%rbx), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: 3 4 1.00 mulxl %eax, %ebx, %ecx -# CHECK-NEXT: 4 9 1.00 * mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rbx, %rcx -# CHECK-NEXT: 3 9 1.00 * mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 3 1.00 pdepl %eax, %ebx, %ecx -# CHECK-NEXT: 2 8 1.00 * pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 3 1.00 pdepq %rax, %rbx, %rcx -# CHECK-NEXT: 2 8 1.00 * pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 3 1.00 pextl %eax, %ebx, %ecx -# CHECK-NEXT: 2 8 1.00 * pextl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 3 1.00 pextq %rax, %rbx, %rcx -# CHECK-NEXT: 2 8 1.00 * pextq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 1 0.50 rorxl $1, %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * rorxl $1, (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 rorxq $1, %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * rorxq $1, (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 sarxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 sarxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 shlxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 shlxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 shrxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 shrxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * shrxq %rax, (%rbx), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: 3 4 1.00 mulxl %eax, %ebx, %ecx +# CHECK-NEXT: 4 9 1.00 * mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rbx, %rcx +# CHECK-NEXT: 3 9 1.00 * mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 3 1.00 pdepl %eax, %ebx, %ecx +# CHECK-NEXT: 2 8 1.00 * pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 3 1.00 pdepq %rax, %rbx, %rcx +# CHECK-NEXT: 2 8 1.00 * pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 3 1.00 pextl %eax, %ebx, %ecx +# CHECK-NEXT: 2 8 1.00 * pextl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 3 1.00 pextq %rax, %rbx, %rcx +# CHECK-NEXT: 2 8 1.00 * pextq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 1 0.50 rorxl $1, %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * rorxl $1, (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 rorxq $1, %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * rorxq $1, (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 sarxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 sarxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 shlxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 shlxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 shrxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 shrxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * shrxq %rax, (%rbx), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 9.50 14.50 8.00 8.00 - 2.50 11.50 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhil %eax, %ebx, %ecx -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mulxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - 1.00 - mulxq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - 1.00 - mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - pdepl %eax, %ebx, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - pdepq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - pextl %eax, %ebx, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - pextq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextq (%rax), %rbx, %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxl $1, %eax, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxl $1, (%rax), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxq $1, %rax, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxq $1, (%rax), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxq %rax, (%rbx), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhil %eax, %ebx, %ecx +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mulxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - 1.00 - mulxq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - 1.00 - mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - pdepl %eax, %ebx, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - pdepq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - pextl %eax, %ebx, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - pextq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextq (%rax), %rbx, %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxl $1, %eax, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxl $1, (%rax), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxq $1, %rax, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxq $1, (%rax), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxq %rax, (%rbx), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-f16c.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-f16c.s index ea68e5d..7acac92 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-f16c.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-f16c.s @@ -21,40 +21,40 @@ vcvtps2ph $0, %ymm0, (%rax) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: 2 7 1.00 * vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: 2 4 1.00 vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: 4 5 1.00 * vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: 4 7 1.00 * vcvtps2ph $0, %ymm0, (%rax) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: 2 7 1.00 * vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: 2 4 1.00 vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: 4 5 1.00 * vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: 4 7 1.00 * vcvtps2ph $0, %ymm0, (%rax) # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 4.00 4.00 1.67 1.67 2.00 6.00 - 0.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 1.00 - 0.33 vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 1.00 - 0.33 vcvtps2ph $0, %ymm0, (%rax) +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 1.00 - 0.33 vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 1.00 - 0.33 vcvtps2ph $0, %ymm0, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-fma.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-fma.s index 791a014..524aeb9 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-fma.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-fma.s @@ -297,408 +297,408 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * 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 5 0.50 vfmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * 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 5 0.50 vfmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * 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 5 0.50 vfnmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfnmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfnmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 0.50 * 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 5 0.50 vfnmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfnmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 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 5 0.50 vfnmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * 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 11 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * 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 5 0.50 vfmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * 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 5 0.50 vfmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * 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 5 0.50 vfnmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfnmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfnmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 0.50 * 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 5 0.50 vfnmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfnmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 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 5 0.50 vfnmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 96.00 96.00 48.00 48.00 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-lzcnt.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-lzcnt.s index fed5716..ce4aa40 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-lzcnt.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-lzcnt.s @@ -18,36 +18,36 @@ lzcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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: [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: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 6.00 1.50 1.50 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-mmx.s index 05f7c0a..94cff63 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-mmx.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-mmx.s @@ -163,234 +163,234 @@ pxor (%rax), %mm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 31 31 10.00 * * * emms -# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 movd %mm0, %ecx -# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 movq %mm0, %rcx -# CHECK-NEXT: 2 1 1.00 * movq %mm0, (%rax) -# CHECK-NEXT: 3 3 2.00 packsswb %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packsswb (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 packssdw %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packssdw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 packuswb %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packuswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * 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 1 0.50 pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpeqw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpgtb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pcmpgtd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * 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 1 0.50 psubb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * 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: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 31 31 10.00 * * * emms +# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 movd %mm0, %ecx +# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 movq %mm0, %rcx +# CHECK-NEXT: 2 1 1.00 * movq %mm0, (%rax) +# CHECK-NEXT: 3 3 2.00 packsswb %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packsswb (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 packssdw %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packssdw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 packuswb %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packuswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * 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 1 0.50 pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpeqw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpgtb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pcmpgtd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * 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 1 0.50 psubb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * 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: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 46.67 35.17 23.67 23.67 2.00 57.17 1.00 0.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 11.25 11.75 - - - 7.75 0.25 - 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 movq %mm0, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packsswb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packsswb (%rax), %mm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packssdw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packssdw (%rax), %mm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packuswb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packuswb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 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.50 0.50 - 0.33 - - pand (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %mm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 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.50 0.50 - 0.33 - - 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: - - - 0.50 - - - 0.50 - - psubb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %mm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %mm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 11.25 11.75 - - - 7.75 0.25 - 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 movq %mm0, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packsswb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packsswb (%rax), %mm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packssdw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packssdw (%rax), %mm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packuswb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packuswb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 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.50 0.50 - 0.33 - - pand (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %mm0, %mm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 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.50 0.50 - 0.33 - - 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: - - - 0.50 - - - 0.50 - - psubb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %mm0, %mm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %mm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-popcnt.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-popcnt.s index 5366a24..0135445 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-popcnt.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-popcnt.s @@ -18,36 +18,36 @@ popcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx -# CHECK-NEXT: 2 8 1.00 * popcntw (%rax), %cx -# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx -# CHECK-NEXT: 2 8 1.00 * popcntl (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx -# CHECK-NEXT: 2 8 1.00 * popcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx +# CHECK-NEXT: 2 8 1.00 * popcntw (%rax), %cx +# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx +# CHECK-NEXT: 2 8 1.00 * popcntl (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx +# CHECK-NEXT: 2 8 1.00 * popcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 6.00 1.50 1.50 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse1.s index 805c39c..8e09db6 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse1.s @@ -193,272 +193,272 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * addss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andnps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * andnps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * andps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * comiss (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 2 4 1.00 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 3 5 2.00 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 2 4 1.00 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %ecx -# CHECK-NEXT: 4 10 1.00 * cvttss2si (%rax), %rcx -# CHECK-NEXT: 1 13 7.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 2 19 7.00 * divps (%rax), %xmm2 -# CHECK-NEXT: 1 13 7.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 2 18 7.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * minps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * minss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movaps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movaps %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movups %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movups %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movups (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 mulps %xmm0, %xmm2 -# CHECK-NEXT: 2 11 0.50 * mulps (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 mulss %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 orps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * orps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pavgb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pavgw (%rax), %mm2 -# CHECK-NEXT: 2 2 1.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pmaxsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pmaxub (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pminsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pminub (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) -# CHECK-NEXT: 1 5 1.00 psadbw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * psadbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * rcpps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rcpss %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rcpss (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.33 * * * sfence -# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 11 7.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 17 7.00 * sqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 11 7.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax) -# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * subss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpcklps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 xorps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * xorps (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andnps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * andnps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * andps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * comiss (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 2 4 1.00 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 3 5 2.00 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 2 4 1.00 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %ecx +# CHECK-NEXT: 4 10 1.00 * cvttss2si (%rax), %rcx +# CHECK-NEXT: 1 13 7.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 2 19 7.00 * divps (%rax), %xmm2 +# CHECK-NEXT: 1 13 7.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 2 18 7.00 * divss (%rax), %xmm2 +# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * maxss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * minss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movaps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movaps %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movups %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movups %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movups (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 mulps %xmm0, %xmm2 +# CHECK-NEXT: 2 11 0.50 * mulps (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 mulss %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 orps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * orps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pavgb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pavgw (%rax), %mm2 +# CHECK-NEXT: 2 2 1.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pmaxsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pmaxub (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pminsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pminub (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) +# CHECK-NEXT: 1 5 1.00 psadbw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * psadbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * rcpps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rcpss %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rcpss (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.33 * * * sfence +# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 11 7.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 17 7.00 * sqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 11 7.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2 +# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax) +# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpcklps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 xorps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * xorps (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 56.00 34.50 50.50 32.00 32.00 8.00 41.50 0.50 3.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - addps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - addss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - andnps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - andps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - comiss %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comiss (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - - - cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtps2pi (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtss2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtss2si (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvttps2pi (%rax), %mm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttss2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - cvttss2si (%rax), %rcx -# CHECK-NEXT: - 7.00 1.00 - - - - - - - divps %xmm0, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - divps (%rax), %xmm2 -# CHECK-NEXT: - 7.00 1.00 - - - - - - - divss %xmm0, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - divss (%rax), %xmm2 -# CHECK-NEXT: - - 1.25 0.25 0.50 0.50 - 0.25 0.25 - ldmxcsr (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - maskmovq %mm0, %mm1 -# CHECK-NEXT: - - - 1.00 - - - - - - maxps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - maxss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - minps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - minss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movaps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movaps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movhlps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movlhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhps (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movmskps %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntq %mm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - movss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movss %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movups %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movups %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movups (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - orps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - orps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %mm0, %ecx -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrw $1, %eax, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxub %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxub (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminub %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminub (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht0 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht1 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht2 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetchnta (%rax) -# CHECK-NEXT: - - 1.00 - - - - - - - psadbw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - psadbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufw $1, %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufw $1, (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rcpps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rcpss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtss (%rax), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 - 0.25 0.25 0.33 sfence -# CHECK-NEXT: - - - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufps $1, (%rax), %xmm2 -# CHECK-NEXT: - 7.00 1.00 - - - - - - - sqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - sqrtps (%rax), %xmm2 -# CHECK-NEXT: - 7.00 1.00 - - - - - - - sqrtss %xmm0, %xmm2 -# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - sqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 stmxcsr (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - subps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - subss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - ucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - ucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - unpckhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - unpcklps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - xorps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - xorps (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - addps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - addss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - andnps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - andps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - comiss %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comiss (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - - - cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtps2pi (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtss2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtss2si (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvttps2pi (%rax), %mm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttss2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - cvttss2si (%rax), %rcx +# CHECK-NEXT: - 7.00 1.00 - - - - - - - divps %xmm0, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - divps (%rax), %xmm2 +# CHECK-NEXT: - 7.00 1.00 - - - - - - - divss %xmm0, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - divss (%rax), %xmm2 +# CHECK-NEXT: - - 1.25 0.25 0.50 0.50 - 0.25 0.25 - ldmxcsr (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - maskmovq %mm0, %mm1 +# CHECK-NEXT: - - - 1.00 - - - - - - maxps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - maxss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - minps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - minss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movaps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movhlps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movlhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhps (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movmskps %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntq %mm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - movss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movss %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movups %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movups %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movups (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - orps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - orps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %mm0, %ecx +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrw $1, %eax, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxub %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxub (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminub %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminub (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht0 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht1 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht2 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetchnta (%rax) +# CHECK-NEXT: - - 1.00 - - - - - - - psadbw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - psadbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufw $1, %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufw $1, (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rcpps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rcpss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtss (%rax), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 - 0.25 0.25 0.33 sfence +# CHECK-NEXT: - - - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufps $1, (%rax), %xmm2 +# CHECK-NEXT: - 7.00 1.00 - - - - - - - sqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - sqrtps (%rax), %xmm2 +# CHECK-NEXT: - 7.00 1.00 - - - - - - - sqrtss %xmm0, %xmm2 +# CHECK-NEXT: - 7.00 1.00 - 0.50 0.50 - - - - sqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 stmxcsr (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - subps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - subss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - ucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - ucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - unpckhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - unpcklps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - xorps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - xorps (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s index 00a63b0..68ab343 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s @@ -401,552 +401,552 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * addsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax) -# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * comisd (%rax), %xmm1 -# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 10 1.00 * cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 2 4 1.00 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 3 9 1.00 * cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 3 9 1.00 * cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 10 1.00 * cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 4 1.00 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 20 14.00 divpd %xmm0, %xmm2 -# CHECK-NEXT: 2 26 14.00 * divpd (%rax), %xmm2 -# CHECK-NEXT: 1 20 14.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 2 25 14.00 * divsd (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.50 * * * lfence -# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * maxsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * minpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * minsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movapd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movapd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movdqa %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movdqu %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.67 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 2 1 1.00 * movhpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movq %xmm0, %rcx -# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movupd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 2 11 0.50 * mulpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 mulsd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 orpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * orpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packssdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packsswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packuswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pand (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pandn (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pavgb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pavgw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxub (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmulhw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmullw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmullw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmuludq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 psadbw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * psadbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * pslld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psllq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psllw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psrad (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psraw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psrld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psrlq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psrlw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pxor (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 16 14.00 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 2 22 14.00 * sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 16 14.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 2 21 14.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * subsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * xorpd (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax) +# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * comisd (%rax), %xmm1 +# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 10 1.00 * cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 2 4 1.00 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 3 9 1.00 * cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 3 9 1.00 * cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 10 1.00 * cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 4 1.00 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 20 14.00 divpd %xmm0, %xmm2 +# CHECK-NEXT: 2 26 14.00 * divpd (%rax), %xmm2 +# CHECK-NEXT: 1 20 14.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 2 25 14.00 * divsd (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.50 * * * lfence +# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * maxsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * minsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movapd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movapd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movdqa %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movdqu %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.67 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 2 1 1.00 * movhpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movq %xmm0, %rcx +# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movupd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 2 11 0.50 * mulpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 mulsd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 orpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * orpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packssdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packsswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packuswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pand (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pandn (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pavgb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pavgw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxub (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmulhw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmullw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmullw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmuludq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 psadbw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * psadbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * pslld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psllq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psllw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psrad (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psraw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psrld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psrlq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psrlw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pxor (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 16 14.00 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 2 22 14.00 * sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 16 14.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 2 21 14.00 * sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * xorpd (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 112.00 70.25 95.25 62.67 62.67 14.00 123.75 1.75 4.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - addpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - addsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - andnpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - andpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - comisd %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comisd (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - - - cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %rcx -# CHECK-NEXT: - 14.00 1.00 - - - - - - - divpd %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - divpd (%rax), %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - - - divsd %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - divsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - lfence -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - - - maxpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - maxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - minpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - minsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movapd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movd %eax, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movd %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqa %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqa (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqu %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqu (%rax), %xmm2 -# CHECK-NEXT: - - 0.83 0.83 - - - 0.33 - - movdq2q %xmm0, %mm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movq %rax, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movq %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - movq2dq %mm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movsd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movupd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movupd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - orpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - orpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packssdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packssdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packsswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packsswb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packuswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packuswb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddq %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddq (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pand %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pand (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - - - pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddwd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxub %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxub (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminub %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminub (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmullw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmullw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - por %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - por (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psadbw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - psadbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pslld $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pslld %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - pslld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pslldq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psllq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psllq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psllq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psllw $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psllw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psllw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psrad $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrad %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrad (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psraw $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psraw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psraw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psrld $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrld %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - psrldq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psrlq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrlq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrlq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - psrlw $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrlw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrlw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubq %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubq (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - sqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - subpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - subsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - ucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - ucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - xorpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - xorpd (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - addpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - addsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - andnpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - andpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - comisd %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comisd (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvtsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvtsd2si (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - - - cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - - - cvttsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - cvttsd2si (%rax), %rcx +# CHECK-NEXT: - 14.00 1.00 - - - - - - - divpd %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - divpd (%rax), %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - - - divsd %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - divsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - lfence +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - - - maxpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - maxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - maxsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - minpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - minsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - minsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movapd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movd %eax, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movd %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqa %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqa (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqu %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqu (%rax), %xmm2 +# CHECK-NEXT: - - 0.83 0.83 - - - 0.33 - - movdq2q %xmm0, %mm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movq %rax, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movq %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - movq2dq %mm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movsd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movupd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movupd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - orpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - orpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packssdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packssdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packsswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packsswb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packuswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packuswb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddq %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddq (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddusw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddusw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - paddw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - paddw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pand %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pand (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pavgw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pavgw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - - - pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddwd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxub %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxub (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminub %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminub (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmullw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmullw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - por %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - por (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psadbw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - psadbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pslld $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pslld %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - pslld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pslldq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psllq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psllq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psllq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psllw $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psllw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psllw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psrad $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrad %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrad (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psraw $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psraw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psraw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psrld $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrld %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - psrldq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psrlq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrlq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrlq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - psrlw $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - psrlw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - psrlw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubq %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubq (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubusw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubusw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psubw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psubw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - sqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - 0.50 0.50 - - - - sqrtsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - subpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - subsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - subsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - ucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - ucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - xorpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - xorpd (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse3.s index 4848513..3b96cb3 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse3.s @@ -38,62 +38,62 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 haddpd %xmm0, %xmm2 -# CHECK-NEXT: 4 11 2.00 * haddpd (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 haddps %xmm0, %xmm2 -# CHECK-NEXT: 4 11 2.00 * haddps (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 4 11 2.00 * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2 -# CHECK-NEXT: 4 11 2.00 * hsubps (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addsubps (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 4 11 2.00 * haddpd (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 haddps %xmm0, %xmm2 +# CHECK-NEXT: 4 11 2.00 * haddps (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 4 11 2.00 * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 4 11 2.00 * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 12.00 5.00 5.00 - 19.00 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsubps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - haddpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - haddpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - haddps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - haddps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - - - addsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - addsubps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - haddpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - haddpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - haddps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - haddps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s index 74aaf32..37cbe1f 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s @@ -154,216 +154,216 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * blendps $11, (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 2.00 * blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 2.00 * blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: 4 15 1.00 * dppd $22, (%rax), %xmm2 -# CHECK-NEXT: 4 14 2.00 dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: 5 20 2.00 * dpps $22, (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 extractps $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * extractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * insertps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 3 7 2.00 mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 13 2.00 * mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packusdw (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 2.00 * pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 pextrb $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 pextrd $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 2 2 1.00 pextrq $1, %xmm0, %rcx -# CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 phminposuw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * phminposuw (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 2.00 pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmuldq %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmuldq (%rax), %xmm2 -# CHECK-NEXT: 2 10 2.00 pmulld %xmm0, %xmm2 -# CHECK-NEXT: 3 16 2.00 * pmulld (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 ptest %xmm0, %xmm1 -# CHECK-NEXT: 3 8 1.00 * ptest (%rax), %xmm1 -# CHECK-NEXT: 1 6 0.50 roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 12 2.00 * roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 12 2.00 * roundps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 12 2.00 * roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 12 2.00 * roundss $1, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * blendps $11, (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 2.00 * blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 2.00 * blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: 4 15 1.00 * dppd $22, (%rax), %xmm2 +# CHECK-NEXT: 4 14 2.00 dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: 5 20 2.00 * dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 extractps $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * extractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * insertps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * movntdqa (%rax), %xmm2 +# CHECK-NEXT: 3 7 2.00 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 13 2.00 * mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packusdw (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 2.00 * pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 pextrb $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 pextrd $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 2 2 1.00 pextrq $1, %xmm0, %rcx +# CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 phminposuw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * phminposuw (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 2.00 pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmuldq %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmuldq (%rax), %xmm2 +# CHECK-NEXT: 2 10 2.00 pmulld %xmm0, %xmm2 +# CHECK-NEXT: 3 16 2.00 * pmulld (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 ptest %xmm0, %xmm1 +# CHECK-NEXT: 3 8 1.00 * ptest (%rax), %xmm1 +# CHECK-NEXT: 1 6 0.50 roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 12 2.00 * roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 12 2.00 * roundps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 12 2.00 * roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 12 2.00 * roundss $1, (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 23.33 22.33 25.67 25.67 5.00 80.33 - 1.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendps $11, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 - - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - dppd $22, (%rax), %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - dpps $22, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - extractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 extractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - insertps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movntdqa (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packusdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packusdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - - - phminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - phminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxud %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxud (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxuw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminud %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminud (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmuldq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuldq (%rax), %xmm2 -# CHECK-NEXT: - - 2.00 - - - - - - - pmulld %xmm0, %xmm2 -# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - pmulld (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundss $1, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendps $11, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 - - dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - dppd $22, (%rax), %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 - - dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 0.50 0.50 - 1.00 - - dpps $22, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - extractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 extractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - insertps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movntdqa (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packusdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packusdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - - - phminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - phminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxud %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxud (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pmaxuw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminud %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminud (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pminuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pminuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmuldq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuldq (%rax), %xmm2 +# CHECK-NEXT: - - 2.00 - - - - - - - pmulld %xmm0, %xmm2 +# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - pmulld (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundss $1, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse42.s index 2d47806..1b8a22b 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse42.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse42.s @@ -39,64 +39,64 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx -# CHECK-NEXT: 8 18 4.00 pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 9 24 4.00 * pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 9 19 4.00 pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 10 25 4.00 * pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 3 11 3.00 pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 17 3.00 * pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 3 11 3.00 pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 17 3.00 * pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pcmpgtq (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx +# CHECK-NEXT: 8 18 4.00 pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 24 4.00 * pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 19 4.00 pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 10 25 4.00 * pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pcmpgtq (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 31.67 11.67 5.00 5.00 - 13.67 1.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32l %eax, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32l (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32w %ax, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32w (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32q %rax, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32q (%rax), %rcx -# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pcmpgtq (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32l %eax, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32l (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32w %ax, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32w (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32q %rax, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32q (%rax), %rcx +# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pcmpgtq (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-ssse3.s index 3e53969..2c03faf 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-ssse3.s @@ -105,152 +105,152 @@ psignw (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddd %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddd %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phaddd (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddsw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phaddw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubd %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubd %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phsubd (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubsw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phsubw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshufb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignw (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddd %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phaddd (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddsw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phaddw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubd %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phsubd (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubsw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignw (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 8.00 24.00 16.00 16.00 - 80.00 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignw (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - pabsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - pabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phaddw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phaddw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 2.50 - - phsubw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 2.50 - - phsubw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - psignw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - psignw (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s index 51fe8cc..ae8e442 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s @@ -606,1102 +606,1102 @@ xorq (%rax), %rdi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 2 0.50 adcb $7, %al -# CHECK-NEXT: 2 2 0.50 adcb $7, %dil -# CHECK-NEXT: 6 9 1.00 * * adcb $7, (%rax) -# CHECK-NEXT: 2 2 0.50 adcb %dil, %dil -# CHECK-NEXT: 6 9 1.00 * * adcb %dil, (%rax) -# CHECK-NEXT: 3 7 0.50 * adcb (%rax), %dil -# CHECK-NEXT: 2 2 0.50 adcw $511, %ax -# CHECK-NEXT: 2 2 0.50 adcw $511, %di -# CHECK-NEXT: 6 9 1.00 * * adcw $511, (%rax) -# CHECK-NEXT: 2 2 0.50 adcw $7, %di -# CHECK-NEXT: 6 9 1.00 * * adcw $7, (%rax) -# CHECK-NEXT: 2 2 0.50 adcw %di, %di -# CHECK-NEXT: 6 9 1.00 * * adcw %di, (%rax) -# CHECK-NEXT: 3 7 0.50 * adcw (%rax), %di -# CHECK-NEXT: 2 2 0.50 adcl $665536, %eax -# CHECK-NEXT: 2 2 0.50 adcl $665536, %edi -# CHECK-NEXT: 6 9 1.00 * * adcl $665536, (%rax) -# CHECK-NEXT: 2 2 0.50 adcl $7, %edi -# CHECK-NEXT: 6 9 1.00 * * adcl $7, (%rax) -# CHECK-NEXT: 2 2 0.50 adcl %edi, %edi -# CHECK-NEXT: 6 9 1.00 * * adcl %edi, (%rax) -# CHECK-NEXT: 3 7 0.50 * adcl (%rax), %edi -# CHECK-NEXT: 2 2 0.50 adcq $665536, %rax -# CHECK-NEXT: 2 2 0.50 adcq $665536, %rdi -# CHECK-NEXT: 6 9 1.00 * * adcq $665536, (%rax) -# CHECK-NEXT: 2 2 0.50 adcq $7, %rdi -# CHECK-NEXT: 6 9 1.00 * * adcq $7, (%rax) -# CHECK-NEXT: 2 2 0.50 adcq %rdi, %rdi -# CHECK-NEXT: 6 9 1.00 * * adcq %rdi, (%rax) -# CHECK-NEXT: 3 7 0.50 * adcq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 addb $7, %al -# CHECK-NEXT: 1 1 0.25 addb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 addw $511, %ax -# CHECK-NEXT: 1 1 0.25 addw $511, %di -# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 addw $7, %di -# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addw %di, %di -# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di -# CHECK-NEXT: 1 1 0.25 addl $665536, %eax -# CHECK-NEXT: 1 1 0.25 addl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 addq $665536, %rax -# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 andb $7, %al -# CHECK-NEXT: 1 1 0.25 andb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 andw $511, %ax -# CHECK-NEXT: 1 1 0.25 andw $511, %di -# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 andw $7, %di -# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andw %di, %di -# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di -# CHECK-NEXT: 1 1 0.25 andl $665536, %eax -# CHECK-NEXT: 1 1 0.25 andl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 andq $665536, %rax -# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 btw %si, %di -# CHECK-NEXT: 1 1 0.50 btcw %si, %di -# CHECK-NEXT: 1 1 0.50 btrw %si, %di -# CHECK-NEXT: 1 1 0.50 btsw %si, %di -# CHECK-NEXT: 10 1 - * btw %si, (%rax) -# CHECK-NEXT: 11 1 - * * btcw %si, (%rax) -# CHECK-NEXT: 11 1 - * * btrw %si, (%rax) -# CHECK-NEXT: 11 1 - * * btsw %si, (%rax) -# CHECK-NEXT: 1 1 0.50 btw $7, %di -# CHECK-NEXT: 1 1 0.50 btcw $7, %di -# CHECK-NEXT: 1 1 0.50 btrw $7, %di -# CHECK-NEXT: 1 1 0.50 btsw $7, %di -# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btcw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btrw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btsw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi -# CHECK-NEXT: 10 1 - * btl %esi, (%rax) -# CHECK-NEXT: 11 1 - * * btcl %esi, (%rax) -# CHECK-NEXT: 11 1 - * * btrl %esi, (%rax) -# CHECK-NEXT: 11 1 - * * btsl %esi, (%rax) -# CHECK-NEXT: 1 1 0.50 btl $7, %edi -# CHECK-NEXT: 1 1 0.50 btcl $7, %edi -# CHECK-NEXT: 1 1 0.50 btrl $7, %edi -# CHECK-NEXT: 1 1 0.50 btsl $7, %edi -# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btcl $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btrl $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btsl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi -# CHECK-NEXT: 10 1 - * btq %rsi, (%rax) -# CHECK-NEXT: 11 1 - * * btcq %rsi, (%rax) -# CHECK-NEXT: 11 1 - * * btrq %rsi, (%rax) -# CHECK-NEXT: 11 1 - * * btsq %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 btq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi -# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 decb %dil -# CHECK-NEXT: 3 7 1.00 * * decb (%rax) -# CHECK-NEXT: 1 1 0.25 decw %di -# CHECK-NEXT: 3 7 1.00 * * decw (%rax) -# CHECK-NEXT: 1 1 0.25 decl %edi -# CHECK-NEXT: 3 7 1.00 * * decl (%rax) -# CHECK-NEXT: 1 1 0.25 decq %rdi -# CHECK-NEXT: 3 7 1.00 * * decq (%rax) -# CHECK-NEXT: 9 22 1.00 * divb %dil -# CHECK-NEXT: 2 29 10.00 * * divb (%rax) -# CHECK-NEXT: 32 98 8.00 * divw %si -# CHECK-NEXT: 2 29 10.00 * * divw (%rax) -# CHECK-NEXT: 32 98 8.00 * divl %edx -# CHECK-NEXT: 2 29 10.00 * * divl (%rax) -# CHECK-NEXT: 32 98 8.00 * divq %rcx -# CHECK-NEXT: 2 29 10.00 * * divq (%rax) -# CHECK-NEXT: 9 23 1.00 * idivb %dil -# CHECK-NEXT: 2 29 10.00 * * idivb (%rax) -# CHECK-NEXT: 66 112 16.50 * idivw %si -# CHECK-NEXT: 2 29 10.00 * * idivw (%rax) -# CHECK-NEXT: 66 112 16.50 * idivl %edx -# CHECK-NEXT: 2 29 10.00 * * idivl (%rax) -# CHECK-NEXT: 66 112 16.50 * idivq %rcx -# CHECK-NEXT: 2 29 10.00 * * idivq (%rax) -# CHECK-NEXT: 1 3 1.00 imulb %dil -# CHECK-NEXT: 2 8 1.00 * imulb (%rax) -# CHECK-NEXT: 4 4 1.00 imulw %di -# CHECK-NEXT: 5 9 1.00 * imulw (%rax) -# CHECK-NEXT: 1 3 1.00 imulw %di, %di -# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di -# CHECK-NEXT: 3 4 1.00 imull %edi -# CHECK-NEXT: 4 9 1.00 * imull (%rax) -# CHECK-NEXT: 1 3 1.00 imull %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi -# CHECK-NEXT: 2 4 1.00 imulq %rdi -# CHECK-NEXT: 3 9 1.00 * imulq (%rax) -# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 incb %dil -# CHECK-NEXT: 3 7 1.00 * * incb (%rax) -# CHECK-NEXT: 1 1 0.25 incw %di -# CHECK-NEXT: 3 7 1.00 * * incw (%rax) -# CHECK-NEXT: 1 1 0.25 incl %edi -# CHECK-NEXT: 3 7 1.00 * * incl (%rax) -# CHECK-NEXT: 1 1 0.25 incq %rdi -# CHECK-NEXT: 3 7 1.00 * * incq (%rax) -# CHECK-NEXT: 1 3 1.00 mulb %dil -# CHECK-NEXT: 2 8 1.00 * mulb (%rax) -# CHECK-NEXT: 4 4 1.00 mulw %si -# CHECK-NEXT: 5 9 1.00 * mulw (%rax) -# CHECK-NEXT: 3 4 1.00 mull %edx -# CHECK-NEXT: 4 9 1.00 * mull (%rax) -# CHECK-NEXT: 2 4 1.00 mulq %rcx -# CHECK-NEXT: 3 9 1.00 * mulq (%rax) -# CHECK-NEXT: 1 1 0.25 negb %dil -# CHECK-NEXT: 3 7 1.00 * * negb (%r8) -# CHECK-NEXT: 1 1 0.25 negw %si -# CHECK-NEXT: 3 7 1.00 * * negw (%r9) -# CHECK-NEXT: 1 1 0.25 negl %edx -# CHECK-NEXT: 3 7 1.00 * * negl (%rax) -# CHECK-NEXT: 1 1 0.25 negq %rcx -# CHECK-NEXT: 3 7 1.00 * * negq (%r10) -# CHECK-NEXT: 1 1 0.25 nop -# CHECK-NEXT: 1 1 0.25 nopw %di -# CHECK-NEXT: 1 1 0.25 nopw (%rcx) -# CHECK-NEXT: 1 1 0.25 nopl %esi -# CHECK-NEXT: 1 1 0.25 nopl (%r8) -# CHECK-NEXT: 1 1 0.25 nopq %rdx -# CHECK-NEXT: 1 1 0.25 nopq (%r9) -# CHECK-NEXT: 1 1 0.25 notb %dil -# CHECK-NEXT: 3 7 1.00 * * notb (%r8) -# CHECK-NEXT: 1 1 0.25 notw %si -# CHECK-NEXT: 3 7 1.00 * * notw (%r9) -# CHECK-NEXT: 1 1 0.25 notl %edx -# CHECK-NEXT: 3 7 1.00 * * notl (%rax) -# CHECK-NEXT: 1 1 0.25 notq %rcx -# CHECK-NEXT: 3 7 1.00 * * notq (%r10) -# CHECK-NEXT: 1 1 0.25 orb $7, %al -# CHECK-NEXT: 1 1 0.25 orb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 orw $511, %ax -# CHECK-NEXT: 1 1 0.25 orw $511, %di -# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 orw $7, %di -# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orw %di, %di -# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di -# CHECK-NEXT: 1 1 0.25 orl $665536, %eax -# CHECK-NEXT: 1 1 0.25 orl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 orq $665536, %rax -# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi -# CHECK-NEXT: 3 3 0.75 rclb %dil -# CHECK-NEXT: 3 3 0.75 rcrb %dil -# CHECK-NEXT: 5 9 0.75 * rclb (%rax) -# CHECK-NEXT: 5 9 0.75 * rcrb (%rax) -# CHECK-NEXT: 3 3 0.75 rclb $7, %dil -# CHECK-NEXT: 3 3 0.75 rcrb $7, %dil -# CHECK-NEXT: 5 9 0.75 * rclb $7, (%rax) -# CHECK-NEXT: 5 9 0.75 * rcrb $7, (%rax) -# CHECK-NEXT: 9 11 2.25 rclb %cl, %dil -# CHECK-NEXT: 10 14 2.50 rcrb %cl, %dil -# CHECK-NEXT: 10 16 2.00 * rclb %cl, (%rax) -# CHECK-NEXT: 11 19 2.25 * rcrb %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rclw %di -# CHECK-NEXT: 3 3 0.75 rcrw %di -# CHECK-NEXT: 5 9 0.75 * rclw (%rax) -# CHECK-NEXT: 5 9 0.75 * rcrw (%rax) -# CHECK-NEXT: 3 3 0.75 rclw $7, %di -# CHECK-NEXT: 3 3 0.75 rcrw $7, %di -# CHECK-NEXT: 5 9 0.75 * rclw $7, (%rax) -# CHECK-NEXT: 5 9 0.75 * rcrw $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rclw %cl, %di -# CHECK-NEXT: 7 11 2.00 rcrw %cl, %di -# CHECK-NEXT: 10 16 2.00 * rclw %cl, (%rax) -# CHECK-NEXT: 11 19 2.25 * rcrw %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rcll %edi -# CHECK-NEXT: 3 3 0.75 rcrl %edi -# CHECK-NEXT: 5 9 0.75 * rcll (%rax) -# CHECK-NEXT: 5 9 0.75 * rcrl (%rax) -# CHECK-NEXT: 3 3 0.75 rcll $7, %edi -# CHECK-NEXT: 3 3 0.75 rcrl $7, %edi -# CHECK-NEXT: 5 9 0.75 * rcll $7, (%rax) -# CHECK-NEXT: 5 9 0.75 * rcrl $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rcll %cl, %edi -# CHECK-NEXT: 7 11 2.00 rcrl %cl, %edi -# CHECK-NEXT: 10 16 2.00 * rcll %cl, (%rax) -# CHECK-NEXT: 11 19 2.25 * rcrl %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rclq %rdi -# CHECK-NEXT: 3 3 0.75 rcrq %rdi -# CHECK-NEXT: 5 9 0.75 * rclq (%rax) -# CHECK-NEXT: 5 9 0.75 * rcrq (%rax) -# CHECK-NEXT: 3 3 0.75 rclq $7, %rdi -# CHECK-NEXT: 3 3 0.75 rcrq $7, %rdi -# CHECK-NEXT: 5 9 0.75 * rclq $7, (%rax) -# CHECK-NEXT: 5 9 0.75 * rcrq $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rclq %cl, %rdi -# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi -# CHECK-NEXT: 10 16 2.00 * rclq %cl, (%rax) -# CHECK-NEXT: 11 19 2.25 * rcrq %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolb %dil -# CHECK-NEXT: 2 2 1.00 rorb %dil -# CHECK-NEXT: 5 8 1.00 * * rolb (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorb (%rax) -# CHECK-NEXT: 2 2 1.00 rolb $7, %dil -# CHECK-NEXT: 2 2 1.00 rorb $7, %dil -# CHECK-NEXT: 5 8 1.00 * * rolb $7, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorb $7, (%rax) -# CHECK-NEXT: 3 3 1.00 rolb %cl, %dil -# CHECK-NEXT: 3 3 1.00 rorb %cl, %dil -# CHECK-NEXT: 6 9 1.00 * * rolb %cl, (%rax) -# CHECK-NEXT: 5 9 1.00 * * rorb %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolw %di -# CHECK-NEXT: 2 2 1.00 rorw %di -# CHECK-NEXT: 5 8 1.00 * * rolw (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorw (%rax) -# CHECK-NEXT: 2 2 1.00 rolw $7, %di -# CHECK-NEXT: 2 2 1.00 rorw $7, %di -# CHECK-NEXT: 5 8 1.00 * * rolw $7, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorw $7, (%rax) -# CHECK-NEXT: 3 3 1.00 rolw %cl, %di -# CHECK-NEXT: 3 3 1.00 rorw %cl, %di -# CHECK-NEXT: 6 9 1.00 * * rolw %cl, (%rax) -# CHECK-NEXT: 5 9 1.00 * * rorw %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 roll %edi -# CHECK-NEXT: 2 2 1.00 rorl %edi -# CHECK-NEXT: 5 8 1.00 * * roll (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorl (%rax) -# CHECK-NEXT: 2 2 1.00 roll $7, %edi -# CHECK-NEXT: 2 2 1.00 rorl $7, %edi -# CHECK-NEXT: 5 8 1.00 * * roll $7, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorl $7, (%rax) -# CHECK-NEXT: 3 3 1.00 roll %cl, %edi -# CHECK-NEXT: 3 3 1.00 rorl %cl, %edi -# CHECK-NEXT: 6 9 1.00 * * roll %cl, (%rax) -# CHECK-NEXT: 5 9 1.00 * * rorl %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolq %rdi -# CHECK-NEXT: 2 2 1.00 rorq %rdi -# CHECK-NEXT: 5 8 1.00 * * rolq (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorq (%rax) -# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi -# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi -# CHECK-NEXT: 5 8 1.00 * * rolq $7, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorq $7, (%rax) -# CHECK-NEXT: 3 3 1.00 rolq %cl, %rdi -# CHECK-NEXT: 3 3 1.00 rorq %cl, %rdi -# CHECK-NEXT: 6 9 1.00 * * rolq %cl, (%rax) -# CHECK-NEXT: 5 9 1.00 * * rorq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarb %dil -# CHECK-NEXT: 1 1 0.50 shlb %dil -# CHECK-NEXT: 1 1 0.50 shrb %dil -# CHECK-NEXT: 4 7 1.00 * * sarb (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlb (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrb (%rax) -# CHECK-NEXT: 1 1 0.50 sarb $7, %dil -# CHECK-NEXT: 1 1 0.50 shlb $7, %dil -# CHECK-NEXT: 1 1 0.50 shrb $7, %dil -# CHECK-NEXT: 4 7 1.00 * * sarb $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlb $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrb $7, (%rax) -# CHECK-NEXT: 3 3 1.00 sarb %cl, %dil -# CHECK-NEXT: 3 3 1.00 shlb %cl, %dil -# CHECK-NEXT: 3 3 1.00 shrb %cl, %dil -# CHECK-NEXT: 6 9 1.00 * * sarb %cl, (%rax) -# CHECK-NEXT: 6 9 1.00 * * shlb %cl, (%rax) -# CHECK-NEXT: 6 9 1.00 * * shrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarw %di -# CHECK-NEXT: 1 1 0.50 shlw %di -# CHECK-NEXT: 1 1 0.50 shrw %di -# CHECK-NEXT: 4 7 1.00 * * sarw (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlw (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrw (%rax) -# CHECK-NEXT: 1 1 0.50 sarw $7, %di -# CHECK-NEXT: 1 1 0.50 shlw $7, %di -# CHECK-NEXT: 1 1 0.50 shrw $7, %di -# CHECK-NEXT: 4 7 1.00 * * sarw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrw $7, (%rax) -# CHECK-NEXT: 3 3 1.00 sarw %cl, %di -# CHECK-NEXT: 3 3 1.00 shlw %cl, %di -# CHECK-NEXT: 3 3 1.00 shrw %cl, %di -# CHECK-NEXT: 6 9 1.00 * * sarw %cl, (%rax) -# CHECK-NEXT: 6 9 1.00 * * shlw %cl, (%rax) -# CHECK-NEXT: 6 9 1.00 * * shrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarl %edi -# CHECK-NEXT: 1 1 0.50 shll %edi -# CHECK-NEXT: 1 1 0.50 shrl %edi -# CHECK-NEXT: 4 7 1.00 * * sarl (%rax) -# CHECK-NEXT: 4 7 1.00 * * shll (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrl (%rax) -# CHECK-NEXT: 1 1 0.50 sarl $7, %edi -# CHECK-NEXT: 1 1 0.50 shll $7, %edi -# CHECK-NEXT: 1 1 0.50 shrl $7, %edi -# CHECK-NEXT: 4 7 1.00 * * sarl $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shll $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrl $7, (%rax) -# CHECK-NEXT: 3 3 1.00 sarl %cl, %edi -# CHECK-NEXT: 3 3 1.00 shll %cl, %edi -# CHECK-NEXT: 3 3 1.00 shrl %cl, %edi -# CHECK-NEXT: 6 9 1.00 * * sarl %cl, (%rax) -# CHECK-NEXT: 6 9 1.00 * * shll %cl, (%rax) -# CHECK-NEXT: 6 9 1.00 * * shrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarq %rdi -# CHECK-NEXT: 1 1 0.50 shlq %rdi -# CHECK-NEXT: 1 1 0.50 shrq %rdi -# CHECK-NEXT: 4 7 1.00 * * sarq (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlq (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrq (%rax) -# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi -# CHECK-NEXT: 4 7 1.00 * * sarq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrq $7, (%rax) -# CHECK-NEXT: 3 3 1.00 sarq %cl, %rdi -# CHECK-NEXT: 3 3 1.00 shlq %cl, %rdi -# CHECK-NEXT: 3 3 1.00 shrq %cl, %rdi -# CHECK-NEXT: 6 9 1.00 * * sarq %cl, (%rax) -# CHECK-NEXT: 6 9 1.00 * * shlq %cl, (%rax) -# CHECK-NEXT: 6 9 1.00 * * shrq %cl, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbb $7, %al -# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil -# CHECK-NEXT: 6 9 1.00 * * sbbb $7, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbb %dil, %dil -# CHECK-NEXT: 6 9 1.00 * * sbbb %dil, (%rax) -# CHECK-NEXT: 3 7 0.50 * sbbb (%rax), %dil -# CHECK-NEXT: 2 2 0.50 sbbw $511, %ax -# CHECK-NEXT: 2 2 0.50 sbbw $511, %di -# CHECK-NEXT: 6 9 1.00 * * sbbw $511, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbw $7, %di -# CHECK-NEXT: 6 9 1.00 * * sbbw $7, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbw %di, %di -# CHECK-NEXT: 6 9 1.00 * * sbbw %di, (%rax) -# CHECK-NEXT: 3 7 0.50 * sbbw (%rax), %di -# CHECK-NEXT: 2 2 0.50 sbbl $665536, %eax -# CHECK-NEXT: 2 2 0.50 sbbl $665536, %edi -# CHECK-NEXT: 6 9 1.00 * * sbbl $665536, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbl $7, %edi -# CHECK-NEXT: 6 9 1.00 * * sbbl $7, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbl %edi, %edi -# CHECK-NEXT: 6 9 1.00 * * sbbl %edi, (%rax) -# CHECK-NEXT: 3 7 0.50 * sbbl (%rax), %edi -# CHECK-NEXT: 2 2 0.50 sbbq $665536, %rax -# CHECK-NEXT: 2 2 0.50 sbbq $665536, %rdi -# CHECK-NEXT: 6 9 1.00 * * sbbq $665536, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbq $7, %rdi -# CHECK-NEXT: 6 9 1.00 * * sbbq $7, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbq %rdi, %rdi -# CHECK-NEXT: 6 9 1.00 * * sbbq %rdi, (%rax) -# CHECK-NEXT: 3 7 0.50 * sbbq (%rax), %rdi -# CHECK-NEXT: 4 6 1.00 shldw %cl, %si, %di -# CHECK-NEXT: 4 6 1.00 shrdw %cl, %si, %di -# CHECK-NEXT: 6 12 1.00 * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 6 12 1.00 * * shrdw %cl, %si, (%rax) -# CHECK-NEXT: 1 3 1.00 shldw $7, %si, %di -# CHECK-NEXT: 1 3 1.00 shrdw $7, %si, %di -# CHECK-NEXT: 4 10 1.00 * * shldw $7, %si, (%rax) -# CHECK-NEXT: 4 10 1.00 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 4 6 1.00 shldl %cl, %esi, %edi -# CHECK-NEXT: 4 6 1.00 shrdl %cl, %esi, %edi -# CHECK-NEXT: 6 12 1.00 * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 6 12 1.00 * * shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 1 3 1.00 shldl $7, %esi, %edi -# CHECK-NEXT: 1 3 1.00 shrdl $7, %esi, %edi -# CHECK-NEXT: 4 10 1.00 * * shldl $7, %esi, (%rax) -# CHECK-NEXT: 4 10 1.00 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 4 6 1.00 shldq %cl, %rsi, %rdi -# CHECK-NEXT: 4 6 1.00 shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 6 12 1.00 * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 6 12 1.00 * * shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 3 1.00 shldq $7, %rsi, %rdi -# CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 4 10 1.00 * * shldq $7, %rsi, (%rax) -# CHECK-NEXT: 4 10 1.00 * * shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.25 subb $7, %al -# CHECK-NEXT: 1 1 0.25 subb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 subw $511, %ax -# CHECK-NEXT: 1 1 0.25 subw $511, %di -# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 subw $7, %di -# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subw %di, %di -# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di -# CHECK-NEXT: 1 1 0.25 subl $665536, %eax -# CHECK-NEXT: 1 1 0.25 subl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 subq $665536, %rax -# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 xorb $7, %al -# CHECK-NEXT: 1 1 0.25 xorb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 xorw $511, %ax -# CHECK-NEXT: 1 1 0.25 xorw $511, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw $7, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw %di, %di -# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di -# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax -# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorq (%rax), %rdi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 2 0.50 adcb $7, %al +# CHECK-NEXT: 2 2 0.50 adcb $7, %dil +# CHECK-NEXT: 6 9 1.00 * * adcb $7, (%rax) +# CHECK-NEXT: 2 2 0.50 adcb %dil, %dil +# CHECK-NEXT: 6 9 1.00 * * adcb %dil, (%rax) +# CHECK-NEXT: 3 7 0.50 * adcb (%rax), %dil +# CHECK-NEXT: 2 2 0.50 adcw $511, %ax +# CHECK-NEXT: 2 2 0.50 adcw $511, %di +# CHECK-NEXT: 6 9 1.00 * * adcw $511, (%rax) +# CHECK-NEXT: 2 2 0.50 adcw $7, %di +# CHECK-NEXT: 6 9 1.00 * * adcw $7, (%rax) +# CHECK-NEXT: 2 2 0.50 adcw %di, %di +# CHECK-NEXT: 6 9 1.00 * * adcw %di, (%rax) +# CHECK-NEXT: 3 7 0.50 * adcw (%rax), %di +# CHECK-NEXT: 2 2 0.50 adcl $665536, %eax +# CHECK-NEXT: 2 2 0.50 adcl $665536, %edi +# CHECK-NEXT: 6 9 1.00 * * adcl $665536, (%rax) +# CHECK-NEXT: 2 2 0.50 adcl $7, %edi +# CHECK-NEXT: 6 9 1.00 * * adcl $7, (%rax) +# CHECK-NEXT: 2 2 0.50 adcl %edi, %edi +# CHECK-NEXT: 6 9 1.00 * * adcl %edi, (%rax) +# CHECK-NEXT: 3 7 0.50 * adcl (%rax), %edi +# CHECK-NEXT: 2 2 0.50 adcq $665536, %rax +# CHECK-NEXT: 2 2 0.50 adcq $665536, %rdi +# CHECK-NEXT: 6 9 1.00 * * adcq $665536, (%rax) +# CHECK-NEXT: 2 2 0.50 adcq $7, %rdi +# CHECK-NEXT: 6 9 1.00 * * adcq $7, (%rax) +# CHECK-NEXT: 2 2 0.50 adcq %rdi, %rdi +# CHECK-NEXT: 6 9 1.00 * * adcq %rdi, (%rax) +# CHECK-NEXT: 3 7 0.50 * adcq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 addb $7, %al +# CHECK-NEXT: 1 1 0.25 addb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 addw $511, %ax +# CHECK-NEXT: 1 1 0.25 addw $511, %di +# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 addw $7, %di +# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addw %di, %di +# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di +# CHECK-NEXT: 1 1 0.25 addl $665536, %eax +# CHECK-NEXT: 1 1 0.25 addl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 addq $665536, %rax +# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 andb $7, %al +# CHECK-NEXT: 1 1 0.25 andb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 andw $511, %ax +# CHECK-NEXT: 1 1 0.25 andw $511, %di +# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 andw $7, %di +# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andw %di, %di +# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di +# CHECK-NEXT: 1 1 0.25 andl $665536, %eax +# CHECK-NEXT: 1 1 0.25 andl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 andq $665536, %rax +# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 btw %si, %di +# CHECK-NEXT: 1 1 0.50 btcw %si, %di +# CHECK-NEXT: 1 1 0.50 btrw %si, %di +# CHECK-NEXT: 1 1 0.50 btsw %si, %di +# CHECK-NEXT: 10 1 - * btw %si, (%rax) +# CHECK-NEXT: 11 1 - * * btcw %si, (%rax) +# CHECK-NEXT: 11 1 - * * btrw %si, (%rax) +# CHECK-NEXT: 11 1 - * * btsw %si, (%rax) +# CHECK-NEXT: 1 1 0.50 btw $7, %di +# CHECK-NEXT: 1 1 0.50 btcw $7, %di +# CHECK-NEXT: 1 1 0.50 btrw $7, %di +# CHECK-NEXT: 1 1 0.50 btsw $7, %di +# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btcw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btrw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btsw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi +# CHECK-NEXT: 10 1 - * btl %esi, (%rax) +# CHECK-NEXT: 11 1 - * * btcl %esi, (%rax) +# CHECK-NEXT: 11 1 - * * btrl %esi, (%rax) +# CHECK-NEXT: 11 1 - * * btsl %esi, (%rax) +# CHECK-NEXT: 1 1 0.50 btl $7, %edi +# CHECK-NEXT: 1 1 0.50 btcl $7, %edi +# CHECK-NEXT: 1 1 0.50 btrl $7, %edi +# CHECK-NEXT: 1 1 0.50 btsl $7, %edi +# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btcl $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btrl $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btsl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi +# CHECK-NEXT: 10 1 - * btq %rsi, (%rax) +# CHECK-NEXT: 11 1 - * * btcq %rsi, (%rax) +# CHECK-NEXT: 11 1 - * * btrq %rsi, (%rax) +# CHECK-NEXT: 11 1 - * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 btq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi +# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 decb %dil +# CHECK-NEXT: 3 7 1.00 * * decb (%rax) +# CHECK-NEXT: 1 1 0.25 decw %di +# CHECK-NEXT: 3 7 1.00 * * decw (%rax) +# CHECK-NEXT: 1 1 0.25 decl %edi +# CHECK-NEXT: 3 7 1.00 * * decl (%rax) +# CHECK-NEXT: 1 1 0.25 decq %rdi +# CHECK-NEXT: 3 7 1.00 * * decq (%rax) +# CHECK-NEXT: 9 22 1.00 * divb %dil +# CHECK-NEXT: 2 29 10.00 * * divb (%rax) +# CHECK-NEXT: 32 98 8.00 * divw %si +# CHECK-NEXT: 2 29 10.00 * * divw (%rax) +# CHECK-NEXT: 32 98 8.00 * divl %edx +# CHECK-NEXT: 2 29 10.00 * * divl (%rax) +# CHECK-NEXT: 32 98 8.00 * divq %rcx +# CHECK-NEXT: 2 29 10.00 * * divq (%rax) +# CHECK-NEXT: 9 23 1.00 * idivb %dil +# CHECK-NEXT: 2 29 10.00 * * idivb (%rax) +# CHECK-NEXT: 66 112 16.50 * idivw %si +# CHECK-NEXT: 2 29 10.00 * * idivw (%rax) +# CHECK-NEXT: 66 112 16.50 * idivl %edx +# CHECK-NEXT: 2 29 10.00 * * idivl (%rax) +# CHECK-NEXT: 66 112 16.50 * idivq %rcx +# CHECK-NEXT: 2 29 10.00 * * idivq (%rax) +# CHECK-NEXT: 1 3 1.00 imulb %dil +# CHECK-NEXT: 2 8 1.00 * imulb (%rax) +# CHECK-NEXT: 4 4 1.00 imulw %di +# CHECK-NEXT: 5 9 1.00 * imulw (%rax) +# CHECK-NEXT: 1 3 1.00 imulw %di, %di +# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di +# CHECK-NEXT: 3 4 1.00 imull %edi +# CHECK-NEXT: 4 9 1.00 * imull (%rax) +# CHECK-NEXT: 1 3 1.00 imull %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi +# CHECK-NEXT: 2 4 1.00 imulq %rdi +# CHECK-NEXT: 3 9 1.00 * imulq (%rax) +# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 incb %dil +# CHECK-NEXT: 3 7 1.00 * * incb (%rax) +# CHECK-NEXT: 1 1 0.25 incw %di +# CHECK-NEXT: 3 7 1.00 * * incw (%rax) +# CHECK-NEXT: 1 1 0.25 incl %edi +# CHECK-NEXT: 3 7 1.00 * * incl (%rax) +# CHECK-NEXT: 1 1 0.25 incq %rdi +# CHECK-NEXT: 3 7 1.00 * * incq (%rax) +# CHECK-NEXT: 1 3 1.00 mulb %dil +# CHECK-NEXT: 2 8 1.00 * mulb (%rax) +# CHECK-NEXT: 4 4 1.00 mulw %si +# CHECK-NEXT: 5 9 1.00 * mulw (%rax) +# CHECK-NEXT: 3 4 1.00 mull %edx +# CHECK-NEXT: 4 9 1.00 * mull (%rax) +# CHECK-NEXT: 2 4 1.00 mulq %rcx +# CHECK-NEXT: 3 9 1.00 * mulq (%rax) +# CHECK-NEXT: 1 1 0.25 negb %dil +# CHECK-NEXT: 3 7 1.00 * * negb (%r8) +# CHECK-NEXT: 1 1 0.25 negw %si +# CHECK-NEXT: 3 7 1.00 * * negw (%r9) +# CHECK-NEXT: 1 1 0.25 negl %edx +# CHECK-NEXT: 3 7 1.00 * * negl (%rax) +# CHECK-NEXT: 1 1 0.25 negq %rcx +# CHECK-NEXT: 3 7 1.00 * * negq (%r10) +# CHECK-NEXT: 1 1 0.25 nop +# CHECK-NEXT: 1 1 0.25 nopw %di +# CHECK-NEXT: 1 1 0.25 nopw (%rcx) +# CHECK-NEXT: 1 1 0.25 nopl %esi +# CHECK-NEXT: 1 1 0.25 nopl (%r8) +# CHECK-NEXT: 1 1 0.25 nopq %rdx +# CHECK-NEXT: 1 1 0.25 nopq (%r9) +# CHECK-NEXT: 1 1 0.25 notb %dil +# CHECK-NEXT: 3 7 1.00 * * notb (%r8) +# CHECK-NEXT: 1 1 0.25 notw %si +# CHECK-NEXT: 3 7 1.00 * * notw (%r9) +# CHECK-NEXT: 1 1 0.25 notl %edx +# CHECK-NEXT: 3 7 1.00 * * notl (%rax) +# CHECK-NEXT: 1 1 0.25 notq %rcx +# CHECK-NEXT: 3 7 1.00 * * notq (%r10) +# CHECK-NEXT: 1 1 0.25 orb $7, %al +# CHECK-NEXT: 1 1 0.25 orb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 orw $511, %ax +# CHECK-NEXT: 1 1 0.25 orw $511, %di +# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 orw $7, %di +# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orw %di, %di +# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di +# CHECK-NEXT: 1 1 0.25 orl $665536, %eax +# CHECK-NEXT: 1 1 0.25 orl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 orq $665536, %rax +# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi +# CHECK-NEXT: 3 3 0.75 rclb %dil +# CHECK-NEXT: 3 3 0.75 rcrb %dil +# CHECK-NEXT: 5 9 0.75 * rclb (%rax) +# CHECK-NEXT: 5 9 0.75 * rcrb (%rax) +# CHECK-NEXT: 3 3 0.75 rclb $7, %dil +# CHECK-NEXT: 3 3 0.75 rcrb $7, %dil +# CHECK-NEXT: 5 9 0.75 * rclb $7, (%rax) +# CHECK-NEXT: 5 9 0.75 * rcrb $7, (%rax) +# CHECK-NEXT: 9 11 2.25 rclb %cl, %dil +# CHECK-NEXT: 10 14 2.50 rcrb %cl, %dil +# CHECK-NEXT: 10 16 2.00 * rclb %cl, (%rax) +# CHECK-NEXT: 11 19 2.25 * rcrb %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rclw %di +# CHECK-NEXT: 3 3 0.75 rcrw %di +# CHECK-NEXT: 5 9 0.75 * rclw (%rax) +# CHECK-NEXT: 5 9 0.75 * rcrw (%rax) +# CHECK-NEXT: 3 3 0.75 rclw $7, %di +# CHECK-NEXT: 3 3 0.75 rcrw $7, %di +# CHECK-NEXT: 5 9 0.75 * rclw $7, (%rax) +# CHECK-NEXT: 5 9 0.75 * rcrw $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rclw %cl, %di +# CHECK-NEXT: 7 11 2.00 rcrw %cl, %di +# CHECK-NEXT: 10 16 2.00 * rclw %cl, (%rax) +# CHECK-NEXT: 11 19 2.25 * rcrw %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rcll %edi +# CHECK-NEXT: 3 3 0.75 rcrl %edi +# CHECK-NEXT: 5 9 0.75 * rcll (%rax) +# CHECK-NEXT: 5 9 0.75 * rcrl (%rax) +# CHECK-NEXT: 3 3 0.75 rcll $7, %edi +# CHECK-NEXT: 3 3 0.75 rcrl $7, %edi +# CHECK-NEXT: 5 9 0.75 * rcll $7, (%rax) +# CHECK-NEXT: 5 9 0.75 * rcrl $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rcll %cl, %edi +# CHECK-NEXT: 7 11 2.00 rcrl %cl, %edi +# CHECK-NEXT: 10 16 2.00 * rcll %cl, (%rax) +# CHECK-NEXT: 11 19 2.25 * rcrl %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rclq %rdi +# CHECK-NEXT: 3 3 0.75 rcrq %rdi +# CHECK-NEXT: 5 9 0.75 * rclq (%rax) +# CHECK-NEXT: 5 9 0.75 * rcrq (%rax) +# CHECK-NEXT: 3 3 0.75 rclq $7, %rdi +# CHECK-NEXT: 3 3 0.75 rcrq $7, %rdi +# CHECK-NEXT: 5 9 0.75 * rclq $7, (%rax) +# CHECK-NEXT: 5 9 0.75 * rcrq $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rclq %cl, %rdi +# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi +# CHECK-NEXT: 10 16 2.00 * rclq %cl, (%rax) +# CHECK-NEXT: 11 19 2.25 * rcrq %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolb %dil +# CHECK-NEXT: 2 2 1.00 rorb %dil +# CHECK-NEXT: 5 8 1.00 * * rolb (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorb (%rax) +# CHECK-NEXT: 2 2 1.00 rolb $7, %dil +# CHECK-NEXT: 2 2 1.00 rorb $7, %dil +# CHECK-NEXT: 5 8 1.00 * * rolb $7, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorb $7, (%rax) +# CHECK-NEXT: 3 3 1.00 rolb %cl, %dil +# CHECK-NEXT: 3 3 1.00 rorb %cl, %dil +# CHECK-NEXT: 6 9 1.00 * * rolb %cl, (%rax) +# CHECK-NEXT: 5 9 1.00 * * rorb %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolw %di +# CHECK-NEXT: 2 2 1.00 rorw %di +# CHECK-NEXT: 5 8 1.00 * * rolw (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorw (%rax) +# CHECK-NEXT: 2 2 1.00 rolw $7, %di +# CHECK-NEXT: 2 2 1.00 rorw $7, %di +# CHECK-NEXT: 5 8 1.00 * * rolw $7, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorw $7, (%rax) +# CHECK-NEXT: 3 3 1.00 rolw %cl, %di +# CHECK-NEXT: 3 3 1.00 rorw %cl, %di +# CHECK-NEXT: 6 9 1.00 * * rolw %cl, (%rax) +# CHECK-NEXT: 5 9 1.00 * * rorw %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 roll %edi +# CHECK-NEXT: 2 2 1.00 rorl %edi +# CHECK-NEXT: 5 8 1.00 * * roll (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorl (%rax) +# CHECK-NEXT: 2 2 1.00 roll $7, %edi +# CHECK-NEXT: 2 2 1.00 rorl $7, %edi +# CHECK-NEXT: 5 8 1.00 * * roll $7, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorl $7, (%rax) +# CHECK-NEXT: 3 3 1.00 roll %cl, %edi +# CHECK-NEXT: 3 3 1.00 rorl %cl, %edi +# CHECK-NEXT: 6 9 1.00 * * roll %cl, (%rax) +# CHECK-NEXT: 5 9 1.00 * * rorl %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolq %rdi +# CHECK-NEXT: 2 2 1.00 rorq %rdi +# CHECK-NEXT: 5 8 1.00 * * rolq (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorq (%rax) +# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi +# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi +# CHECK-NEXT: 5 8 1.00 * * rolq $7, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorq $7, (%rax) +# CHECK-NEXT: 3 3 1.00 rolq %cl, %rdi +# CHECK-NEXT: 3 3 1.00 rorq %cl, %rdi +# CHECK-NEXT: 6 9 1.00 * * rolq %cl, (%rax) +# CHECK-NEXT: 5 9 1.00 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarb %dil +# CHECK-NEXT: 1 1 0.50 shlb %dil +# CHECK-NEXT: 1 1 0.50 shrb %dil +# CHECK-NEXT: 4 7 1.00 * * sarb (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlb (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrb (%rax) +# CHECK-NEXT: 1 1 0.50 sarb $7, %dil +# CHECK-NEXT: 1 1 0.50 shlb $7, %dil +# CHECK-NEXT: 1 1 0.50 shrb $7, %dil +# CHECK-NEXT: 4 7 1.00 * * sarb $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlb $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrb $7, (%rax) +# CHECK-NEXT: 3 3 1.00 sarb %cl, %dil +# CHECK-NEXT: 3 3 1.00 shlb %cl, %dil +# CHECK-NEXT: 3 3 1.00 shrb %cl, %dil +# CHECK-NEXT: 6 9 1.00 * * sarb %cl, (%rax) +# CHECK-NEXT: 6 9 1.00 * * shlb %cl, (%rax) +# CHECK-NEXT: 6 9 1.00 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarw %di +# CHECK-NEXT: 1 1 0.50 shlw %di +# CHECK-NEXT: 1 1 0.50 shrw %di +# CHECK-NEXT: 4 7 1.00 * * sarw (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlw (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrw (%rax) +# CHECK-NEXT: 1 1 0.50 sarw $7, %di +# CHECK-NEXT: 1 1 0.50 shlw $7, %di +# CHECK-NEXT: 1 1 0.50 shrw $7, %di +# CHECK-NEXT: 4 7 1.00 * * sarw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrw $7, (%rax) +# CHECK-NEXT: 3 3 1.00 sarw %cl, %di +# CHECK-NEXT: 3 3 1.00 shlw %cl, %di +# CHECK-NEXT: 3 3 1.00 shrw %cl, %di +# CHECK-NEXT: 6 9 1.00 * * sarw %cl, (%rax) +# CHECK-NEXT: 6 9 1.00 * * shlw %cl, (%rax) +# CHECK-NEXT: 6 9 1.00 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarl %edi +# CHECK-NEXT: 1 1 0.50 shll %edi +# CHECK-NEXT: 1 1 0.50 shrl %edi +# CHECK-NEXT: 4 7 1.00 * * sarl (%rax) +# CHECK-NEXT: 4 7 1.00 * * shll (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrl (%rax) +# CHECK-NEXT: 1 1 0.50 sarl $7, %edi +# CHECK-NEXT: 1 1 0.50 shll $7, %edi +# CHECK-NEXT: 1 1 0.50 shrl $7, %edi +# CHECK-NEXT: 4 7 1.00 * * sarl $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shll $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrl $7, (%rax) +# CHECK-NEXT: 3 3 1.00 sarl %cl, %edi +# CHECK-NEXT: 3 3 1.00 shll %cl, %edi +# CHECK-NEXT: 3 3 1.00 shrl %cl, %edi +# CHECK-NEXT: 6 9 1.00 * * sarl %cl, (%rax) +# CHECK-NEXT: 6 9 1.00 * * shll %cl, (%rax) +# CHECK-NEXT: 6 9 1.00 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarq %rdi +# CHECK-NEXT: 1 1 0.50 shlq %rdi +# CHECK-NEXT: 1 1 0.50 shrq %rdi +# CHECK-NEXT: 4 7 1.00 * * sarq (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlq (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrq (%rax) +# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi +# CHECK-NEXT: 4 7 1.00 * * sarq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrq $7, (%rax) +# CHECK-NEXT: 3 3 1.00 sarq %cl, %rdi +# CHECK-NEXT: 3 3 1.00 shlq %cl, %rdi +# CHECK-NEXT: 3 3 1.00 shrq %cl, %rdi +# CHECK-NEXT: 6 9 1.00 * * sarq %cl, (%rax) +# CHECK-NEXT: 6 9 1.00 * * shlq %cl, (%rax) +# CHECK-NEXT: 6 9 1.00 * * shrq %cl, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbb $7, %al +# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil +# CHECK-NEXT: 6 9 1.00 * * sbbb $7, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbb %dil, %dil +# CHECK-NEXT: 6 9 1.00 * * sbbb %dil, (%rax) +# CHECK-NEXT: 3 7 0.50 * sbbb (%rax), %dil +# CHECK-NEXT: 2 2 0.50 sbbw $511, %ax +# CHECK-NEXT: 2 2 0.50 sbbw $511, %di +# CHECK-NEXT: 6 9 1.00 * * sbbw $511, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbw $7, %di +# CHECK-NEXT: 6 9 1.00 * * sbbw $7, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbw %di, %di +# CHECK-NEXT: 6 9 1.00 * * sbbw %di, (%rax) +# CHECK-NEXT: 3 7 0.50 * sbbw (%rax), %di +# CHECK-NEXT: 2 2 0.50 sbbl $665536, %eax +# CHECK-NEXT: 2 2 0.50 sbbl $665536, %edi +# CHECK-NEXT: 6 9 1.00 * * sbbl $665536, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbl $7, %edi +# CHECK-NEXT: 6 9 1.00 * * sbbl $7, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbl %edi, %edi +# CHECK-NEXT: 6 9 1.00 * * sbbl %edi, (%rax) +# CHECK-NEXT: 3 7 0.50 * sbbl (%rax), %edi +# CHECK-NEXT: 2 2 0.50 sbbq $665536, %rax +# CHECK-NEXT: 2 2 0.50 sbbq $665536, %rdi +# CHECK-NEXT: 6 9 1.00 * * sbbq $665536, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbq $7, %rdi +# CHECK-NEXT: 6 9 1.00 * * sbbq $7, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbq %rdi, %rdi +# CHECK-NEXT: 6 9 1.00 * * sbbq %rdi, (%rax) +# CHECK-NEXT: 3 7 0.50 * sbbq (%rax), %rdi +# CHECK-NEXT: 4 6 1.00 shldw %cl, %si, %di +# CHECK-NEXT: 4 6 1.00 shrdw %cl, %si, %di +# CHECK-NEXT: 6 12 1.00 * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 6 12 1.00 * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 1 3 1.00 shldw $7, %si, %di +# CHECK-NEXT: 1 3 1.00 shrdw $7, %si, %di +# CHECK-NEXT: 4 10 1.00 * * shldw $7, %si, (%rax) +# CHECK-NEXT: 4 10 1.00 * * shrdw $7, %si, (%rax) +# CHECK-NEXT: 4 6 1.00 shldl %cl, %esi, %edi +# CHECK-NEXT: 4 6 1.00 shrdl %cl, %esi, %edi +# CHECK-NEXT: 6 12 1.00 * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 6 12 1.00 * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 1 3 1.00 shldl $7, %esi, %edi +# CHECK-NEXT: 1 3 1.00 shrdl $7, %esi, %edi +# CHECK-NEXT: 4 10 1.00 * * shldl $7, %esi, (%rax) +# CHECK-NEXT: 4 10 1.00 * * shrdl $7, %esi, (%rax) +# CHECK-NEXT: 4 6 1.00 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 4 6 1.00 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 6 12 1.00 * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 6 12 1.00 * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 3 1.00 shldq $7, %rsi, %rdi +# CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 4 10 1.00 * * shldq $7, %rsi, (%rax) +# CHECK-NEXT: 4 10 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 subb $7, %al +# CHECK-NEXT: 1 1 0.25 subb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 subw $511, %ax +# CHECK-NEXT: 1 1 0.25 subw $511, %di +# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 subw $7, %di +# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subw %di, %di +# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di +# CHECK-NEXT: 1 1 0.25 subl $665536, %eax +# CHECK-NEXT: 1 1 0.25 subl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 subq $665536, %rax +# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 xorb $7, %al +# CHECK-NEXT: 1 1 0.25 xorb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 xorw $511, %ax +# CHECK-NEXT: 1 1 0.25 xorw $511, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw $7, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw %di, %di +# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di +# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax +# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorq (%rax), %rdi # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: 80.00 - 414.75 265.25 193.00 193.00 158.00 172.75 409.25 66.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb %dil, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %dil, (%rax) -# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - adcb (%rax), %dil -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw $511, %ax -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw $511, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw $7, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $7, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw %di, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %di, (%rax) -# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - adcw (%rax), %di -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl $665536, %eax -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl $665536, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl $7, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $7, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl %edi, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %edi, (%rax) -# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - adcl (%rax), %edi -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq $665536, %rax -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq $665536, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq $7, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $7, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq %rdi, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq %rdi, (%rax) -# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - adcq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andq (%rax), %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw %si, %di -# CHECK-NEXT: - - - - - - - - - - btw %si, (%rax) -# CHECK-NEXT: - - - - - - - - - - btcw %si, (%rax) -# CHECK-NEXT: - - - - - - - - - - btrw %si, (%rax) -# CHECK-NEXT: - - - - - - - - - - btsw %si, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw $7, %di -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl %esi, %edi -# CHECK-NEXT: - - - - - - - - - - btl %esi, (%rax) -# CHECK-NEXT: - - - - - - - - - - btcl %esi, (%rax) -# CHECK-NEXT: - - - - - - - - - - btrl %esi, (%rax) -# CHECK-NEXT: - - - - - - - - - - btsl %esi, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl $7, %edi -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq %rsi, %rdi -# CHECK-NEXT: - - - - - - - - - - btq %rsi, (%rax) -# CHECK-NEXT: - - - - - - - - - - btcq %rsi, (%rax) -# CHECK-NEXT: - - - - - - - - - - btrq %rsi, (%rax) -# CHECK-NEXT: - - - - - - - - - - btsq %rsi, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq $7, %rdi -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decw (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decl %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decq (%rax) -# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - divb %dil -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divb (%rax) -# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divw %si -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divw (%rax) -# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divl %edx -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax) -# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divq %rcx -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax) -# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - idivb %dil -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivb (%rax) -# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivw (%rax) -# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivl %edx -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivl (%rax) -# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivq %rcx -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di -# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulw (%rax), %di -# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di -# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di -# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di -# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - 1.00 - imulq %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - 1.00 - imulq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incb (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incw %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incw (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incl %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si -# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax) -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax) -# CHECK-NEXT: - - - 1.00 - - - - 1.00 - mulq %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - 1.00 - mulq (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negb (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negw %si -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negw (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negl %edx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negq %rcx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negq (%r10) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nop -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notb (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notw %si -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notw (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notl %edx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notq %rcx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notq (%r10) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orq (%rax), %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb $7, %dil -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb $7, %dil -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb $7, (%rax) -# CHECK-NEXT: - - 2.75 2.25 - - - 1.25 2.75 - rclb %cl, %dil -# CHECK-NEXT: - - 2.50 3.50 - - - 1.50 2.50 - rcrb %cl, %dil -# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclb %cl, (%rax) -# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrb %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw %di -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw %di -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw $7, %di -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw $7, %di -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw $7, (%rax) -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rclw %cl, %di -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrw %cl, %di -# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclw %cl, (%rax) -# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrw %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll %edi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl %edi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll $7, %edi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl $7, %edi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl $7, (%rax) -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcll %cl, %edi -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrl %cl, %edi -# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rcll %cl, (%rax) -# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrl %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq %rdi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq $7, %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq $7, %rdi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq $7, (%rax) -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rclq %cl, %rdi -# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrq %cl, %rdi -# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclq %cl, (%rax) -# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrq %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb $7, %dil -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb $7, %dil -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolb %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorb %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw %di -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw %di -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw $7, %di -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw $7, %di -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolw %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorw %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll %edi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl %edi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll $7, %edi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl $7, %edi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - roll %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorl %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 roll %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorl %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq %rdi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq %rdi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq $7, %rdi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq $7, %rdi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolq %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorq %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb $7, %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb $7, %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb $7, %dil -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrb %cl, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarb %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlb %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrb %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw %di -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw $7, %di -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrw %cl, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarw %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlw %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrw %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl %edi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl $7, %edi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarl %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shll %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrl %cl, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarl %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shll %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrl %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq %rdi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq $7, %rdi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq $7, (%rax) -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrq %cl, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarq %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlq %cl, (%rax) -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrq %cl, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb %dil, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %dil, (%rax) -# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - sbbb (%rax), %dil -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw $511, %ax -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw $511, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw $7, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $7, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw %di, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %di, (%rax) -# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - sbbw (%rax), %di -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl $665536, %eax -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl $665536, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl $7, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $7, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl %edi, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %edi, (%rax) -# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - sbbl (%rax), %edi -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq $665536, %rax -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq $665536, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq $7, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $7, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq %rdi, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq %rdi, (%rax) -# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - sbbq (%rax), %rdi -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldw %cl, %si, %di -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdw %cl, %si, %di -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldw %cl, %si, (%rax) -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdw %cl, %si, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldw $7, %si, %di -# CHECK-NEXT: - - - 1.00 - - - - - - shrdw $7, %si, %di -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldw $7, %si, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdw $7, %si, (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldl %cl, %esi, %edi -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdl %cl, %esi, %edi -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldl %cl, %esi, (%rax) -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdl %cl, %esi, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldl $7, %esi, %edi -# CHECK-NEXT: - - - 1.00 - - - - - - shrdl $7, %esi, %edi -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldl $7, %esi, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdl $7, %esi, (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldq %cl, %rsi, (%rax) -# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldq $7, %rsi, %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorq (%rax), %rdi +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb %dil, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %dil, (%rax) +# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - adcb (%rax), %dil +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw $511, %ax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw $511, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw $7, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $7, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcw %di, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %di, (%rax) +# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - adcw (%rax), %di +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl $665536, %eax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl $665536, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl $7, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $7, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcl %edi, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %edi, (%rax) +# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - adcl (%rax), %edi +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq $665536, %rax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq $665536, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq $7, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $7, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcq %rdi, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq %rdi, (%rax) +# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - adcq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andq (%rax), %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw %si, %di +# CHECK-NEXT: - - - - - - - - - - btw %si, (%rax) +# CHECK-NEXT: - - - - - - - - - - btcw %si, (%rax) +# CHECK-NEXT: - - - - - - - - - - btrw %si, (%rax) +# CHECK-NEXT: - - - - - - - - - - btsw %si, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw $7, %di +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl %esi, %edi +# CHECK-NEXT: - - - - - - - - - - btl %esi, (%rax) +# CHECK-NEXT: - - - - - - - - - - btcl %esi, (%rax) +# CHECK-NEXT: - - - - - - - - - - btrl %esi, (%rax) +# CHECK-NEXT: - - - - - - - - - - btsl %esi, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl $7, %edi +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq %rsi, %rdi +# CHECK-NEXT: - - - - - - - - - - btq %rsi, (%rax) +# CHECK-NEXT: - - - - - - - - - - btcq %rsi, (%rax) +# CHECK-NEXT: - - - - - - - - - - btrq %rsi, (%rax) +# CHECK-NEXT: - - - - - - - - - - btsq %rsi, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq $7, %rdi +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decw (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decl %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decq (%rax) +# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - divb %dil +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divb (%rax) +# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divw %si +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divw (%rax) +# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divl %edx +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax) +# CHECK-NEXT: - - 10.25 10.25 - - - 5.75 5.75 - divq %rcx +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax) +# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - idivb %dil +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivb (%rax) +# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivw (%rax) +# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivl %edx +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivl (%rax) +# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivq %rcx +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - idivq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di +# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulw (%rax), %di +# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di +# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di +# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di +# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - 1.00 - imulq %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - 1.00 - imulq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incb (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incw %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incw (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incl %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si +# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax) +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax) +# CHECK-NEXT: - - - 1.00 - - - - 1.00 - mulq %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - 1.00 - mulq (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negb (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negw %si +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negw (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negl %edx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negq %rcx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negq (%r10) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nop +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notb (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notw %si +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notw (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notl %edx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notq %rcx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notq (%r10) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orq (%rax), %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb $7, %dil +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb $7, %dil +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb $7, (%rax) +# CHECK-NEXT: - - 2.75 2.25 - - - 1.25 2.75 - rclb %cl, %dil +# CHECK-NEXT: - - 2.50 3.50 - - - 1.50 2.50 - rcrb %cl, %dil +# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclb %cl, (%rax) +# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrb %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw %di +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw %di +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw $7, %di +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw $7, %di +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw $7, (%rax) +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rclw %cl, %di +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrw %cl, %di +# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclw %cl, (%rax) +# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrw %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll %edi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl %edi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll $7, %edi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl $7, %edi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl $7, (%rax) +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcll %cl, %edi +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrl %cl, %edi +# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rcll %cl, (%rax) +# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrl %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq %rdi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq $7, %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq $7, %rdi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq $7, (%rax) +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rclq %cl, %rdi +# CHECK-NEXT: - - 1.75 2.75 - - - 0.75 1.75 - rcrq %cl, %rdi +# CHECK-NEXT: - - 2.50 2.00 0.83 0.83 - 1.00 2.50 0.33 rclq %cl, (%rax) +# CHECK-NEXT: - - 2.25 3.25 0.83 0.83 - 1.25 2.25 0.33 rcrq %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb $7, %dil +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb $7, %dil +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolb %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorb %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw %di +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw %di +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw $7, %di +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw $7, %di +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolw %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorw %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll %edi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl %edi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll $7, %edi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl $7, %edi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - roll %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorl %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 roll %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorl %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq %rdi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq %rdi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq $7, %rdi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq $7, %rdi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rolq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolq %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorq %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb $7, %dil +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrb %cl, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarb %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlb %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrb %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw %di +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw $7, %di +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrw %cl, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarw %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlw %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrw %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl %edi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl $7, %edi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarl %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shll %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrl %cl, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarl %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shll %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrl %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq %rdi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq $7, %rdi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq $7, (%rax) +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - sarq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shlq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - shrq %cl, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sarq %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shlq %cl, (%rax) +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 shrq %cl, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb %dil, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %dil, (%rax) +# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - sbbb (%rax), %dil +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw $511, %ax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw $511, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw $7, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $7, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbw %di, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %di, (%rax) +# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - sbbw (%rax), %di +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl $665536, %eax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl $665536, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl $7, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $7, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbl %edi, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %edi, (%rax) +# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - sbbl (%rax), %edi +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq $665536, %rax +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq $665536, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq $7, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $7, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbq %rdi, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq %rdi, (%rax) +# CHECK-NEXT: - - 0.75 0.25 0.50 0.50 - 0.25 0.75 - sbbq (%rax), %rdi +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldw %cl, %si, %di +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdw %cl, %si, %di +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldw %cl, %si, (%rax) +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdw %cl, %si, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldw $7, %si, %di +# CHECK-NEXT: - - - 1.00 - - - - - - shrdw $7, %si, %di +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldw $7, %si, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdw $7, %si, (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldl %cl, %esi, %edi +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdl %cl, %esi, %edi +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldl %cl, %esi, (%rax) +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdl %cl, %esi, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldl $7, %esi, %edi +# CHECK-NEXT: - - - 1.00 - - - - - - shrdl $7, %esi, %edi +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldl $7, %esi, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdl $7, %esi, (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shldq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - shrdq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shldq %cl, %rsi, (%rax) +# CHECK-NEXT: - - 1.00 1.50 0.83 0.83 - 0.50 1.00 0.33 shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldq $7, %rsi, %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorq (%rax), %rdi diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s index a1d53da..26a5e38 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s @@ -205,320 +205,320 @@ fyl2xp1 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 0.25 * f2xm1 -# CHECK-NEXT: 1 1 1.00 * fabs -# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fadd %st(2) -# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx) -# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 * faddp %st(1) -# CHECK-NEXT: 1 3 1.00 * faddp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx) -# CHECK-NEXT: 43 47 - * fbld (%ecx) -# CHECK-NEXT: 2 1 1.00 * fbstp (%eax) -# CHECK-NEXT: 1 1 1.00 * fchs -# CHECK-NEXT: 4 4 1.00 * fnclex -# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 * fcom %st(1) -# CHECK-NEXT: 1 1 1.00 * fcom %st(3) -# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx) -# CHECK-NEXT: 2 8 1.00 * fcoml (%eax) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) -# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx) -# CHECK-NEXT: 2 8 1.00 * fcompl (%eax) -# CHECK-NEXT: 2 1 0.50 * fcompp -# CHECK-NEXT: 3 1 0.50 * fcomi %st(3) -# CHECK-NEXT: 3 1 0.50 * fcompi %st(3) -# CHECK-NEXT: 1 100 0.25 * fcos -# CHECK-NEXT: 2 2 1.00 * fdecstp -# CHECK-NEXT: 1 24 1.00 * fdiv %st(0), %st(1) -# CHECK-NEXT: 1 20 1.00 * fdiv %st(2) -# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx) -# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax) -# CHECK-NEXT: 1 24 1.00 * fdivp %st(1) -# CHECK-NEXT: 1 24 1.00 * fdivp %st(2) -# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx) -# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax) -# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1) -# CHECK-NEXT: 1 24 1.00 * fdivr %st(2) -# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx) -# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax) -# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1) -# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2) -# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx) -# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax) -# CHECK-NEXT: 1 1 0.50 * ffree %st(0) -# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx) -# CHECK-NEXT: 3 11 2.00 * ficoml (%eax) -# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx) -# CHECK-NEXT: 3 11 2.00 * ficompl (%eax) -# CHECK-NEXT: 2 10 1.00 * * filds (%edx) -# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fildll (%eax) -# CHECK-NEXT: 1 1 0.50 * fincstp -# CHECK-NEXT: 15 75 6.00 * fninit -# CHECK-NEXT: 3 4 1.00 * * fists (%edx) -# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fistps (%edx) -# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax) -# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx) -# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax) -# CHECK-NEXT: 1 1 0.50 * fld %st(0) -# CHECK-NEXT: 1 7 0.50 * * flds (%edx) -# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx) -# CHECK-NEXT: 1 7 0.50 * * fldt (%eax) -# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax) -# CHECK-NEXT: 64 61 14.00 * fldenv (%eax) -# CHECK-NEXT: 1 1 - * fld1 -# CHECK-NEXT: 2 1 0.50 * fldl2e -# CHECK-NEXT: 2 1 0.50 * fldl2t -# CHECK-NEXT: 2 1 0.50 * fldlg2 -# CHECK-NEXT: 2 1 0.50 * fldln2 -# CHECK-NEXT: 2 1 0.50 * fldpi -# CHECK-NEXT: 1 1 0.50 * fldz -# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1) -# CHECK-NEXT: 1 5 1.00 * fmul %st(2) -# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx) -# CHECK-NEXT: 2 12 1.00 * * fmull (%eax) -# CHECK-NEXT: 1 5 1.00 * fmulp %st(1) -# CHECK-NEXT: 1 5 1.00 * fmulp %st(2) -# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx) -# CHECK-NEXT: 3 15 1.00 * * fimull (%eax) -# CHECK-NEXT: 1 1 0.50 * fnop -# CHECK-NEXT: 1 100 0.25 * fpatan -# CHECK-NEXT: 28 19 - * fprem -# CHECK-NEXT: 41 27 - * fprem1 -# CHECK-NEXT: 1 100 0.25 * fptan -# CHECK-NEXT: 17 11 - * frndint -# CHECK-NEXT: 90 1 - * frstor (%eax) -# CHECK-NEXT: 147 1 - * fnsave (%eax) -# CHECK-NEXT: 50 75 - * fscale -# CHECK-NEXT: 1 100 0.25 * fsin -# CHECK-NEXT: 1 100 0.25 * fsincos -# CHECK-NEXT: 1 23 17.00 * fsqrt -# CHECK-NEXT: 1 1 0.50 * fst %st(0) -# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) -# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) -# CHECK-NEXT: 1 1 0.50 * fstp %st(0) -# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx) -# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx) -# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax) -# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax) -# CHECK-NEXT: 100 115 19.50 * fnstenv (%eax) -# CHECK-NEXT: 3 4 1.00 * fnstsw (%eax) -# CHECK-NEXT: 90 1 - * frstor (%eax) -# CHECK-NEXT: 2 2 0.50 * wait -# CHECK-NEXT: 147 1 - * fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsub %st(2) -# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) -# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax) -# CHECK-NEXT: 1 1 1.00 * ftst -# CHECK-NEXT: 1 1 1.00 * fucom %st(1) -# CHECK-NEXT: 1 1 1.00 * fucom %st(3) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) -# CHECK-NEXT: 2 1 0.50 * fucompp -# CHECK-NEXT: 3 1 0.50 * fucomi %st(3) -# CHECK-NEXT: 3 1 0.50 * fucompi %st(3) -# CHECK-NEXT: 2 2 0.50 * wait -# CHECK-NEXT: 2 1 2.00 * fxam -# CHECK-NEXT: 15 17 4.00 * fxch %st(1) -# CHECK-NEXT: 15 17 4.00 * fxch %st(3) -# CHECK-NEXT: 90 64 16.50 * * * fxrstor (%eax) -# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) -# CHECK-NEXT: 17 15 - * fxtract -# CHECK-NEXT: 1 100 0.25 * fyl2x -# CHECK-NEXT: 1 100 0.25 * fyl2xp1 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 100 0.25 * f2xm1 +# CHECK-NEXT: 1 1 1.00 * fabs +# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fadd %st(2) +# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx) +# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx) +# CHECK-NEXT: 1 3 1.00 * faddp %st(1) +# CHECK-NEXT: 1 3 1.00 * faddp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx) +# CHECK-NEXT: 43 47 - * fbld (%ecx) +# CHECK-NEXT: 2 1 1.00 * fbstp (%eax) +# CHECK-NEXT: 1 1 1.00 * fchs +# CHECK-NEXT: 4 4 1.00 * fnclex +# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 1 1.00 * fcom %st(1) +# CHECK-NEXT: 1 1 1.00 * fcom %st(3) +# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx) +# CHECK-NEXT: 2 8 1.00 * fcoml (%eax) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) +# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx) +# CHECK-NEXT: 2 8 1.00 * fcompl (%eax) +# CHECK-NEXT: 2 1 0.50 * fcompp +# CHECK-NEXT: 3 1 0.50 * fcomi %st(3) +# CHECK-NEXT: 3 1 0.50 * fcompi %st(3) +# CHECK-NEXT: 1 100 0.25 * fcos +# CHECK-NEXT: 2 2 1.00 * fdecstp +# CHECK-NEXT: 1 24 1.00 * fdiv %st(0), %st(1) +# CHECK-NEXT: 1 20 1.00 * fdiv %st(2) +# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx) +# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax) +# CHECK-NEXT: 1 24 1.00 * fdivp %st(1) +# CHECK-NEXT: 1 24 1.00 * fdivp %st(2) +# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx) +# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax) +# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1) +# CHECK-NEXT: 1 24 1.00 * fdivr %st(2) +# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx) +# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax) +# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1) +# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2) +# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx) +# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax) +# CHECK-NEXT: 1 1 0.50 * ffree %st(0) +# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx) +# CHECK-NEXT: 3 11 2.00 * ficoml (%eax) +# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx) +# CHECK-NEXT: 3 11 2.00 * ficompl (%eax) +# CHECK-NEXT: 2 10 1.00 * * filds (%edx) +# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fildll (%eax) +# CHECK-NEXT: 1 1 0.50 * fincstp +# CHECK-NEXT: 15 75 6.00 * fninit +# CHECK-NEXT: 3 4 1.00 * * fists (%edx) +# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fistps (%edx) +# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax) +# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx) +# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax) +# CHECK-NEXT: 1 1 0.50 * fld %st(0) +# CHECK-NEXT: 1 7 0.50 * * flds (%edx) +# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx) +# CHECK-NEXT: 1 7 0.50 * * fldt (%eax) +# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax) +# CHECK-NEXT: 64 61 14.00 * fldenv (%eax) +# CHECK-NEXT: 1 1 - * fld1 +# CHECK-NEXT: 2 1 0.50 * fldl2e +# CHECK-NEXT: 2 1 0.50 * fldl2t +# CHECK-NEXT: 2 1 0.50 * fldlg2 +# CHECK-NEXT: 2 1 0.50 * fldln2 +# CHECK-NEXT: 2 1 0.50 * fldpi +# CHECK-NEXT: 1 1 0.50 * fldz +# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 * fmul %st(2) +# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx) +# CHECK-NEXT: 2 12 1.00 * * fmull (%eax) +# CHECK-NEXT: 1 5 1.00 * fmulp %st(1) +# CHECK-NEXT: 1 5 1.00 * fmulp %st(2) +# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx) +# CHECK-NEXT: 3 15 1.00 * * fimull (%eax) +# CHECK-NEXT: 1 1 0.50 * fnop +# CHECK-NEXT: 1 100 0.25 * fpatan +# CHECK-NEXT: 28 19 - * fprem +# CHECK-NEXT: 41 27 - * fprem1 +# CHECK-NEXT: 1 100 0.25 * fptan +# CHECK-NEXT: 17 11 - * frndint +# CHECK-NEXT: 90 1 - * frstor (%eax) +# CHECK-NEXT: 147 1 - * fnsave (%eax) +# CHECK-NEXT: 50 75 - * fscale +# CHECK-NEXT: 1 100 0.25 * fsin +# CHECK-NEXT: 1 100 0.25 * fsincos +# CHECK-NEXT: 1 23 17.00 * fsqrt +# CHECK-NEXT: 1 1 0.50 * fst %st(0) +# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) +# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) +# CHECK-NEXT: 1 1 0.50 * fstp %st(0) +# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx) +# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx) +# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax) +# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax) +# CHECK-NEXT: 100 115 19.50 * fnstenv (%eax) +# CHECK-NEXT: 3 4 1.00 * fnstsw (%eax) +# CHECK-NEXT: 90 1 - * frstor (%eax) +# CHECK-NEXT: 2 2 0.50 * wait +# CHECK-NEXT: 147 1 - * fnsave (%eax) +# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsub %st(2) +# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) +# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax) +# CHECK-NEXT: 1 1 1.00 * ftst +# CHECK-NEXT: 1 1 1.00 * fucom %st(1) +# CHECK-NEXT: 1 1 1.00 * fucom %st(3) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) +# CHECK-NEXT: 2 1 0.50 * fucompp +# CHECK-NEXT: 3 1 0.50 * fucomi %st(3) +# CHECK-NEXT: 3 1 0.50 * fucompi %st(3) +# CHECK-NEXT: 2 2 0.50 * wait +# CHECK-NEXT: 2 1 2.00 * fxam +# CHECK-NEXT: 15 17 4.00 * fxch %st(1) +# CHECK-NEXT: 15 17 4.00 * fxch %st(3) +# CHECK-NEXT: 90 64 16.50 * * * fxrstor (%eax) +# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) +# CHECK-NEXT: 17 15 - * fxtract +# CHECK-NEXT: 1 100 0.25 * fyl2x +# CHECK-NEXT: 1 100 0.25 * fyl2xp1 # CHECK: Resources: -# CHECK-NEXT: [0] - HWDivider -# CHECK-NEXT: [1] - HWFPDivider -# CHECK-NEXT: [2] - HWPort0 -# CHECK-NEXT: [3] - HWPort1 -# CHECK-NEXT: [4] - HWPort2 -# CHECK-NEXT: [5] - HWPort3 -# CHECK-NEXT: [6] - HWPort4 -# CHECK-NEXT: [7] - HWPort5 -# CHECK-NEXT: [8] - HWPort6 -# CHECK-NEXT: [9] - HWPort7 +# CHECK-NEXT: [0] - HWDivider +# CHECK-NEXT: [1] - HWFPDivider +# CHECK-NEXT: [2] - HWPort0 +# CHECK-NEXT: [3] - HWPort1 +# CHECK-NEXT: [4] - HWPort2 +# CHECK-NEXT: [5] - HWPort3 +# CHECK-NEXT: [6] - HWPort4 +# CHECK-NEXT: [7] - HWPort5 +# CHECK-NEXT: [8] - HWPort6 +# CHECK-NEXT: [9] - HWPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 17.00 117.92 141.92 49.00 49.00 27.00 56.92 65.25 9.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 -# CHECK-NEXT: - - 1.00 - - - - - - - fabs -# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fadds (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - faddl (%ecx) -# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(2) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiadds (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiaddl (%ecx) -# CHECK-NEXT: - - - - - - - - - - fbld (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fchs -# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(3) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoms (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoml (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fcomp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fcomp %st(3) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcomps (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcompl (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcompp -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcomi %st(3) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcompi %st(3) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos -# CHECK-NEXT: - - 1.00 1.00 - - - - - - fdecstp -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivs (%ecx) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrs (%ecx) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrl (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - ffree %st(0) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoms (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoml (%eax) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficomps (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficompl (%eax) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - filds (%edx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fildl (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fildll (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fincstp -# CHECK-NEXT: - - 3.00 3.00 - - - 7.50 1.50 - fninit -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fists (%edx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistl (%ecx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistps (%edx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistpl (%ecx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistpll (%eax) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttps (%edx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpl (%ecx) -# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpll (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fld %st(0) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - fldcw (%eax) -# CHECK-NEXT: - - 18.92 11.42 4.00 4.00 - 10.92 14.75 - fldenv (%eax) -# CHECK-NEXT: - - - - - - - - - - fld1 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldl2e -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldl2t -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldlg2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldln2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldpi -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldz -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimuls (%ecx) -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimull (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fnop -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fpatan -# CHECK-NEXT: - - - - - - - - - - fprem -# CHECK-NEXT: - - - - - - - - - - fprem1 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fptan -# CHECK-NEXT: - - - - - - - - - - frndint -# CHECK-NEXT: - - - - - - - - - - frstor (%eax) -# CHECK-NEXT: - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - - - - - - - - fscale -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos -# CHECK-NEXT: - 17.00 1.00 - - - - - - - fsqrt -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fst %st(0) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fstp %st(0) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - 1.00 0.33 fnstcw (%eax) -# CHECK-NEXT: - - 27.00 16.50 3.67 3.67 11.00 15.50 19.00 3.67 fnstenv (%eax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 1.00 - - 0.33 fnstsw (%eax) -# CHECK-NEXT: - - - - - - - - - - frstor (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait -# CHECK-NEXT: - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubs (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(2) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubs (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrs (%ecx) -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(2) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrs (%ecx) -# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - ftst -# CHECK-NEXT: - - - 1.00 - - - - - - fucom %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fucom %st(3) -# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(3) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucompp -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucomi %st(3) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucompi %st(3) -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait -# CHECK-NEXT: - - - 2.00 - - - - - - fxam -# CHECK-NEXT: - - 4.00 3.00 - - - 3.00 5.00 - fxch %st(1) -# CHECK-NEXT: - - 4.00 3.00 - - - 3.00 5.00 - fxch %st(3) -# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxsave (%eax) -# CHECK-NEXT: - - - - - - - - - - fxtract -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2x -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2xp1 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 +# CHECK-NEXT: - - 1.00 - - - - - - - fabs +# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fadds (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - faddl (%ecx) +# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(2) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiadds (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiaddl (%ecx) +# CHECK-NEXT: - - - - - - - - - - fbld (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fchs +# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(3) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoms (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoml (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fcomp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fcomp %st(3) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcomps (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcompl (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcompp +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcomi %st(3) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcompi %st(3) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos +# CHECK-NEXT: - - 1.00 1.00 - - - - - - fdecstp +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivs (%ecx) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrs (%ecx) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrl (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - ffree %st(0) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoms (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoml (%eax) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficomps (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficompl (%eax) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - filds (%edx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fildl (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fildll (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fincstp +# CHECK-NEXT: - - 3.00 3.00 - - - 7.50 1.50 - fninit +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fists (%edx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistl (%ecx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistps (%edx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistpl (%ecx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fistpll (%eax) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttps (%edx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpl (%ecx) +# CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpll (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fld %st(0) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - fldcw (%eax) +# CHECK-NEXT: - - 18.92 11.42 4.00 4.00 - 10.92 14.75 - fldenv (%eax) +# CHECK-NEXT: - - - - - - - - - - fld1 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldl2e +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldl2t +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldlg2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldln2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldpi +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldz +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimuls (%ecx) +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimull (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fnop +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fpatan +# CHECK-NEXT: - - - - - - - - - - fprem +# CHECK-NEXT: - - - - - - - - - - fprem1 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fptan +# CHECK-NEXT: - - - - - - - - - - frndint +# CHECK-NEXT: - - - - - - - - - - frstor (%eax) +# CHECK-NEXT: - - - - - - - - - - fnsave (%eax) +# CHECK-NEXT: - - - - - - - - - - fscale +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos +# CHECK-NEXT: - 17.00 1.00 - - - - - - - fsqrt +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fst %st(0) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fstp %st(0) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - 1.00 0.33 fnstcw (%eax) +# CHECK-NEXT: - - 27.00 16.50 3.67 3.67 11.00 15.50 19.00 3.67 fnstenv (%eax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 1.00 - - 0.33 fnstsw (%eax) +# CHECK-NEXT: - - - - - - - - - - frstor (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait +# CHECK-NEXT: - - - - - - - - - - fnsave (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubs (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(2) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubs (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrs (%ecx) +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(2) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrs (%ecx) +# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - - - ftst +# CHECK-NEXT: - - - 1.00 - - - - - - fucom %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fucom %st(3) +# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(3) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucompp +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucomi %st(3) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucompi %st(3) +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait +# CHECK-NEXT: - - - 2.00 - - - - - - fxam +# CHECK-NEXT: - - 4.00 3.00 - - - 3.00 5.00 - fxch %st(1) +# CHECK-NEXT: - - 4.00 3.00 - - - 3.00 5.00 - fxch %st(3) +# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxsave (%eax) +# CHECK-NEXT: - - - - - - - - - - fxtract +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2x +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2xp1 diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s index 2d9a1c5..f1e0c89 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s @@ -163,232 +163,232 @@ pxor (%rax), %mm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 9 10 5.00 * * * emms -# CHECK-NEXT: 1 1 0.50 movd %eax, %mm2 -# CHECK-NEXT: 1 3 1.00 * movd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 movd %mm0, %ecx -# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movq %rax, %mm2 -# CHECK-NEXT: 1 3 1.00 * movq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 movq %mm0, %rcx -# CHECK-NEXT: 1 1 1.00 * movq %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 packsswb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * packsswb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 packssdw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * packssdw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 packuswb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * packuswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * paddb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * paddd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * paddsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * paddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * paddusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * paddusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * paddw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pand (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pandn (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pcmpeqb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pcmpeqd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pcmpeqw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pcmpgtb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pcmpgtd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pcmpgtw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmaddwd (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmulhw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmullw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 por %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * por (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pslld $1, %mm2 -# CHECK-NEXT: 1 1 1.00 pslld %mm0, %mm2 -# CHECK-NEXT: 1 4 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: 1 4 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: 1 4 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: 1 4 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: 1 4 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: 1 4 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: 1 4 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: 1 4 1.00 * psrlw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psubb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psubd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psubsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psubusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psubusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psubw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 punpckhbw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * punpckhbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 punpckhdq %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * punpckhdq (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 punpckhwd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * punpckhwd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 punpcklbw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * punpcklbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 punpckldq %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * punpckldq (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 punpcklwd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * punpcklwd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pxor %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pxor (%rax), %mm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 9 10 5.00 * * * emms +# CHECK-NEXT: 1 1 0.50 movd %eax, %mm2 +# CHECK-NEXT: 1 3 1.00 * movd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 movd %mm0, %ecx +# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movq %rax, %mm2 +# CHECK-NEXT: 1 3 1.00 * movq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 movq %mm0, %rcx +# CHECK-NEXT: 1 1 1.00 * movq %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 packsswb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * packsswb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 packssdw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * packssdw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 packuswb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * packuswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * paddb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * paddd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * paddsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddsw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * paddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * paddusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddusw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * paddusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * paddw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pand (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pandn (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pcmpeqb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pcmpeqd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pcmpeqw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pcmpgtb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pcmpgtd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pcmpgtw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmaddwd (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmulhw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmullw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 por %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * por (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pslld $1, %mm2 +# CHECK-NEXT: 1 1 1.00 pslld %mm0, %mm2 +# CHECK-NEXT: 1 4 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: 1 4 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: 1 4 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: 1 4 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: 1 4 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: 1 4 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: 1 4 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: 1 4 1.00 * psrlw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psubb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psubd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psubsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubsw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psubusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubusw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psubusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psubw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 punpckhbw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * punpckhbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 punpckhdq %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * punpckhdq (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 punpckhwd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * punpckhwd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 punpcklbw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * punpcklbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 punpckldq %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * punpckldq (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 punpcklwd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * punpcklwd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pxor %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pxor (%rax), %mm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: - - - 77.00 29.00 2.50 2.50 48.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - 5.00 5.00 - - - emms -# CHECK-NEXT: - - - - - 0.50 0.50 - movd %eax, %mm2 -# CHECK-NEXT: - - - - - - - 1.00 movd (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - movd %mm0, %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movd %mm0, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - movq %rax, %mm2 -# CHECK-NEXT: - - - - - - - 1.00 movq (%rax), %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - movq %mm0, %rcx -# CHECK-NEXT: - - - - - - - 1.00 movq %mm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - packsswb %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 packsswb (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - packssdw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 packssdw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - packuswb %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 packuswb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddusb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddusb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddusw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddusw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pand %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pand (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pandn %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pandn (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pmaddwd %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmaddwd (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pmulhw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pmullw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmullw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - por %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 por (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pslld $1, %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pslld %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pslld (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psllq $1, %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psllq %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psllq (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psllw $1, %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psllw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psllw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psrad $1, %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psrad %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psrad (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psraw $1, %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psraw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psraw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psrld $1, %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psrld %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psrld (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psrlq $1, %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psrlq %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlq (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psrlw $1, %mm2 -# CHECK-NEXT: - - - 1.00 - - - - psrlw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubusb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubusb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubusw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubusw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - punpckhbw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhbw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - punpckhdq %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhdq (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - punpckhwd %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhwd (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - punpcklbw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklbw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - punpckldq %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckldq (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - punpcklwd %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklwd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pxor %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pxor (%rax), %mm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - 5.00 5.00 - - - emms +# CHECK-NEXT: - - - - - 0.50 0.50 - movd %eax, %mm2 +# CHECK-NEXT: - - - - - - - 1.00 movd (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - movd %mm0, %ecx +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movd %mm0, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - movq %rax, %mm2 +# CHECK-NEXT: - - - - - - - 1.00 movq (%rax), %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - movq %mm0, %rcx +# CHECK-NEXT: - - - - - - - 1.00 movq %mm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - packsswb %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 packsswb (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - packssdw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 packssdw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - packuswb %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 packuswb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddusb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddusb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddusw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddusw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pand %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pand (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pandn %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pandn (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pmaddwd %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmaddwd (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pmulhw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pmullw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmullw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - por %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 por (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pslld $1, %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pslld %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pslld (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psllq $1, %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psllq %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psllq (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psllw $1, %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psllw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psllw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psrad $1, %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psrad %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psrad (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psraw $1, %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psraw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psraw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psrld $1, %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psrld %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psrld (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psrlq $1, %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psrlq %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlq (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psrlw $1, %mm2 +# CHECK-NEXT: - - - 1.00 - - - - psrlw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubusb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubusb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubusw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubusw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - punpckhbw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhbw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - punpckhdq %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhdq (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - punpckhwd %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhwd (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - punpcklbw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklbw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - punpckldq %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckldq (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - punpcklwd %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklwd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pxor %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pxor (%rax), %mm2 diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-popcnt.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-popcnt.s index a34414d..cf2acca 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-popcnt.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-popcnt.s @@ -18,34 +18,34 @@ popcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx -# CHECK-NEXT: 1 6 1.00 * popcntw (%rax), %cx -# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx -# CHECK-NEXT: 1 6 1.00 * popcntl (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx -# CHECK-NEXT: 1 6 1.00 * popcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx +# CHECK-NEXT: 1 6 1.00 * popcntw (%rax), %cx +# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx +# CHECK-NEXT: 1 6 1.00 * popcntl (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx +# CHECK-NEXT: 1 6 1.00 * popcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: - - - - - 6.00 - 3.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - - - 1.00 - - popcntw %cx, %cx -# CHECK-NEXT: - - - - - 1.00 - 1.00 popcntw (%rax), %cx -# CHECK-NEXT: - - - - - 1.00 - - popcntl %eax, %ecx -# CHECK-NEXT: - - - - - 1.00 - 1.00 popcntl (%rax), %ecx -# CHECK-NEXT: - - - - - 1.00 - - popcntq %rax, %rcx -# CHECK-NEXT: - - - - - 1.00 - 1.00 popcntq (%rax), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - - - 1.00 - - popcntw %cx, %cx +# CHECK-NEXT: - - - - - 1.00 - 1.00 popcntw (%rax), %cx +# CHECK-NEXT: - - - - - 1.00 - - popcntl %eax, %ecx +# CHECK-NEXT: - - - - - 1.00 - 1.00 popcntl (%rax), %ecx +# CHECK-NEXT: - - - - - 1.00 - - popcntq %rax, %rcx +# CHECK-NEXT: - - - - - 1.00 - 1.00 popcntq (%rax), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse1.s index dccabeb..941594a 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse1.s @@ -193,270 +193,270 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * addss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andnps %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * andnps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andps %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * andps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 -# CHECK-NEXT: 1 6 1.00 * comiss (%rax), %xmm1 -# CHECK-NEXT: 1 4 0.50 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 1 4 0.50 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 1 4 0.50 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 1 7 1.00 * cvtss2si (%rax), %ecx -# CHECK-NEXT: 1 7 1.00 * cvtss2si (%rax), %rcx -# CHECK-NEXT: 1 4 0.50 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 1 4 0.50 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 1 4 0.50 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 1 7 1.00 * cvttss2si (%rax), %ecx -# CHECK-NEXT: 1 7 1.00 * cvttss2si (%rax), %rcx -# CHECK-NEXT: 1 39 39.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 1 42 39.00 * divps (%rax), %xmm2 -# CHECK-NEXT: 1 19 17.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 1 22 17.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * maxps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * minps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * minss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movaps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax) -# CHECK-NEXT: 1 4 1.00 * movhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax) -# CHECK-NEXT: 1 4 1.00 * movlps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 movmskps %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movups %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movups %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movups (%rax), %xmm2 -# CHECK-NEXT: 1 5 2.00 mulps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 2.00 * mulps (%rax), %xmm2 -# CHECK-NEXT: 1 5 2.00 mulss %xmm0, %xmm2 -# CHECK-NEXT: 1 8 2.00 * mulss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 orps %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * orps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pavgb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pavgw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 1 1 1.00 pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 1 4 1.00 * pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pmaxsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pmaxub (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pminsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pminub (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 * * prefetcht0 (%rax) -# CHECK-NEXT: 1 3 1.00 * * prefetcht1 (%rax) -# CHECK-NEXT: 1 3 1.00 * * prefetcht2 (%rax) -# CHECK-NEXT: 1 3 1.00 * * prefetchnta (%rax) -# CHECK-NEXT: 1 4 1.00 psadbw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * psadbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * rcpps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rcpss %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * rcpss (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * sfence -# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 41 40.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 44 40.00 * sqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 1 23 20.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rax) -# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * subps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * subss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 1 6 1.00 * ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * unpcklps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 xorps %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * xorps (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andnps %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * andnps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andps %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * andps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 +# CHECK-NEXT: 1 6 1.00 * comiss (%rax), %xmm1 +# CHECK-NEXT: 1 4 0.50 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 1 4 0.50 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 1 4 0.50 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 1 7 1.00 * cvtss2si (%rax), %ecx +# CHECK-NEXT: 1 7 1.00 * cvtss2si (%rax), %rcx +# CHECK-NEXT: 1 4 0.50 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 1 4 0.50 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 1 4 0.50 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 1 7 1.00 * cvttss2si (%rax), %ecx +# CHECK-NEXT: 1 7 1.00 * cvttss2si (%rax), %rcx +# CHECK-NEXT: 1 39 39.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 1 42 39.00 * divps (%rax), %xmm2 +# CHECK-NEXT: 1 19 17.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 1 22 17.00 * divss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * maxss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * minss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movaps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax) +# CHECK-NEXT: 1 4 1.00 * movhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax) +# CHECK-NEXT: 1 4 1.00 * movlps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 movmskps %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movups %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movups %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movups (%rax), %xmm2 +# CHECK-NEXT: 1 5 2.00 mulps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 2.00 * mulps (%rax), %xmm2 +# CHECK-NEXT: 1 5 2.00 mulss %xmm0, %xmm2 +# CHECK-NEXT: 1 8 2.00 * mulss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 orps %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * orps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pavgb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pavgw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pavgw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 1 1 1.00 pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 1 4 1.00 * pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pmaxsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pmaxub (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminsw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pminsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pminub %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pminub (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 * * prefetcht0 (%rax) +# CHECK-NEXT: 1 3 1.00 * * prefetcht1 (%rax) +# CHECK-NEXT: 1 3 1.00 * * prefetcht2 (%rax) +# CHECK-NEXT: 1 3 1.00 * * prefetchnta (%rax) +# CHECK-NEXT: 1 4 1.00 psadbw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * psadbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * rcpps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rcpss %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * rcpss (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * sfence +# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 41 40.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 44 40.00 * sqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 1 23 20.00 * sqrtss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rax) +# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 1 6 1.00 * ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * unpcklps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 xorps %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * xorps (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: - 232.00 8.00 61.00 46.00 2.00 2.00 67.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - - 1.00 - - - addps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 addps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - addss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 addss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - andnps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andnps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - andps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - comiss %xmm0, %xmm1 -# CHECK-NEXT: - - - - 1.00 - - 1.00 comiss (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtps2pi (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtss2si %xmm0, %ecx -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtss2si %xmm0, %rcx -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtss2si (%rax), %ecx -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtss2si (%rax), %rcx -# CHECK-NEXT: - - - 0.50 0.50 - - - cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttps2pi (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvttss2si %xmm0, %ecx -# CHECK-NEXT: - - - 0.50 0.50 - - - cvttss2si %xmm0, %rcx -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttss2si (%rax), %ecx -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttss2si (%rax), %rcx -# CHECK-NEXT: - 39.00 - 1.00 - - - - divps %xmm0, %xmm2 -# CHECK-NEXT: - 39.00 - 1.00 - - - 1.00 divps (%rax), %xmm2 -# CHECK-NEXT: - 17.00 - 1.00 - - - - divss %xmm0, %xmm2 -# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 divss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 ldmxcsr (%rax) -# CHECK-NEXT: - - - 1.00 - - - - maskmovq %mm0, %mm1 -# CHECK-NEXT: - - - - 1.00 - - - maxps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 maxps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - maxss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 maxss (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - minps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 minps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - minss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 minss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - movaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 movaps %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movaps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - movhlps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - movlhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movhps %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - 1.00 movhps (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movlps %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - 1.00 movlps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - movmskps %xmm0, %ecx -# CHECK-NEXT: - - - - - - - 1.00 movntps %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movntq %mm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - movss %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movss %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - movups %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 movups %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movups (%rax), %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - - mulps %xmm0, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 mulps (%rax), %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - - mulss %xmm0, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 mulss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - orps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 orps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pavgb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pavgb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pavgw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pavgw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pextrw $1, %mm0, %ecx -# CHECK-NEXT: - - - 1.00 - - - - pinsrw $1, %eax, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxub %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxub (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pminsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pminub %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminub (%rax), %mm2 -# CHECK-NEXT: - - - - 1.00 - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - - 1.00 - - - - pmulhuw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhuw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 prefetcht0 (%rax) -# CHECK-NEXT: - - - - - - - 1.00 prefetcht1 (%rax) -# CHECK-NEXT: - - - - - - - 1.00 prefetcht2 (%rax) -# CHECK-NEXT: - - - - - - - 1.00 prefetchnta (%rax) -# CHECK-NEXT: - - - 1.00 - - - - psadbw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psadbw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pshufw $1, %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufw $1, (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - rcpps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 rcpps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - rcpss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 rcpss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 rsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 rsqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 sfence -# CHECK-NEXT: - - - 1.00 - - - - shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 shufps $1, (%rax), %xmm2 -# CHECK-NEXT: - 40.00 - 1.00 - - - - sqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 40.00 - 1.00 - - - 1.00 sqrtps (%rax), %xmm2 -# CHECK-NEXT: - 20.00 - 1.00 - - - - sqrtss %xmm0, %xmm2 -# CHECK-NEXT: - 20.00 - 1.00 - - - 1.00 sqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 stmxcsr (%rax) -# CHECK-NEXT: - - - - 1.00 - - - subps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 subps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - subss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 subss (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - ucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - - - 1.00 - - 1.00 ucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - unpckhps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 unpckhps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - unpcklps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 unpcklps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - xorps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 xorps (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - - 1.00 - - - addps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 addps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - addss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 addss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - andnps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andnps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - andps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - comiss %xmm0, %xmm1 +# CHECK-NEXT: - - - - 1.00 - - 1.00 comiss (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtps2pi (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtss2si %xmm0, %ecx +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtss2si %xmm0, %rcx +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtss2si (%rax), %ecx +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtss2si (%rax), %rcx +# CHECK-NEXT: - - - 0.50 0.50 - - - cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttps2pi (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvttss2si %xmm0, %ecx +# CHECK-NEXT: - - - 0.50 0.50 - - - cvttss2si %xmm0, %rcx +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttss2si (%rax), %ecx +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttss2si (%rax), %rcx +# CHECK-NEXT: - 39.00 - 1.00 - - - - divps %xmm0, %xmm2 +# CHECK-NEXT: - 39.00 - 1.00 - - - 1.00 divps (%rax), %xmm2 +# CHECK-NEXT: - 17.00 - 1.00 - - - - divss %xmm0, %xmm2 +# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 divss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 ldmxcsr (%rax) +# CHECK-NEXT: - - - 1.00 - - - - maskmovq %mm0, %mm1 +# CHECK-NEXT: - - - - 1.00 - - - maxps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 maxps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - maxss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 maxss (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - minps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 minps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - minss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 minss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - movaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 movaps %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movaps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - movhlps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - movlhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movhps %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - 1.00 movhps (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movlps %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - 1.00 movlps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - movmskps %xmm0, %ecx +# CHECK-NEXT: - - - - - - - 1.00 movntps %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movntq %mm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - movss %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movss %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - movups %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 movups %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movups (%rax), %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - - mulps %xmm0, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 mulps (%rax), %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - - mulss %xmm0, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 mulss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - orps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 orps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pavgb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pavgb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pavgw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pavgw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pextrw $1, %mm0, %ecx +# CHECK-NEXT: - - - 1.00 - - - - pinsrw $1, %eax, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxub %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxub (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pminsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pminub %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminub (%rax), %mm2 +# CHECK-NEXT: - - - - 1.00 - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - 1.00 - - - - pmulhuw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhuw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 prefetcht0 (%rax) +# CHECK-NEXT: - - - - - - - 1.00 prefetcht1 (%rax) +# CHECK-NEXT: - - - - - - - 1.00 prefetcht2 (%rax) +# CHECK-NEXT: - - - - - - - 1.00 prefetchnta (%rax) +# CHECK-NEXT: - - - 1.00 - - - - psadbw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psadbw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pshufw $1, %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufw $1, (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - rcpps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 rcpps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - rcpss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 rcpss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 rsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 rsqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 sfence +# CHECK-NEXT: - - - 1.00 - - - - shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 shufps $1, (%rax), %xmm2 +# CHECK-NEXT: - 40.00 - 1.00 - - - - sqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 40.00 - 1.00 - - - 1.00 sqrtps (%rax), %xmm2 +# CHECK-NEXT: - 20.00 - 1.00 - - - - sqrtss %xmm0, %xmm2 +# CHECK-NEXT: - 20.00 - 1.00 - - - 1.00 sqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 stmxcsr (%rax) +# CHECK-NEXT: - - - - 1.00 - - - subps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 subps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - subss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 subss (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - ucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - - - 1.00 - - 1.00 ucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - unpckhps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 unpckhps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - unpcklps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 unpcklps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - xorps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 xorps (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s index 5a2bec8..6c3766c8 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s @@ -401,550 +401,550 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * addsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * andnpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * andpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 * * * clflush (%rax) -# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 -# CHECK-NEXT: 1 6 1.00 * comisd (%rax), %xmm1 -# CHECK-NEXT: 1 4 0.50 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 4 0.50 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 1 4 0.50 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 1 7 1.00 * cvtsd2si (%rax), %ecx -# CHECK-NEXT: 1 7 1.00 * cvtsd2si (%rax), %rcx -# CHECK-NEXT: 1 4 0.50 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 4 0.50 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 1 4 0.50 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 1 7 1.00 * cvttsd2si (%rax), %ecx -# CHECK-NEXT: 1 7 1.00 * cvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 69 69.00 divpd %xmm0, %xmm2 -# CHECK-NEXT: 1 72 69.00 * divpd (%rax), %xmm2 -# CHECK-NEXT: 1 34 32.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 1 37 32.00 * divsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * lfence -# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * maxpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * maxsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * minpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * minsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movapd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movd %eax, %xmm2 -# CHECK-NEXT: 1 3 1.00 * movd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movdqu %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movdqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * movhpd %xmm0, (%rax) -# CHECK-NEXT: 1 4 1.00 * movhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax) -# CHECK-NEXT: 1 4 1.00 * movlpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 movmskpd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 movq %rax, %xmm2 -# CHECK-NEXT: 1 3 1.00 * movq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movq %xmm0, %rcx -# CHECK-NEXT: 1 1 1.00 * movq %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movupd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movupd %xmm0, (%rax) -# CHECK-NEXT: 1 3 1.00 * movupd (%rax), %xmm2 -# CHECK-NEXT: 1 5 2.00 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 2.00 * mulpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 2.00 mulsd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 2.00 * mulsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 orpd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * orpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * packssdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * packsswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * packuswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * paddb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * paddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * paddq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * paddq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * paddsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * paddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * paddusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * paddusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * paddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pand %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pand (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pandn %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pandn (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pavgb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pavgw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 4 1.00 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmaxub (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pminsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pminub (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 4 1.00 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmulhw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmullw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmullw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 por %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * por (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 psadbw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * psadbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 pslld %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pslld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psllq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psllq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psllw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psllw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrad %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psrad (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psraw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psraw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrld %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psrld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psrlq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psrlw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psubb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psubd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psubq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psubq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psubsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psubusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psubusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psubw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pxor %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pxor (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 71 70.00 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 1 74 70.00 * sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 35 35.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 1 38 35.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * subsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 1 6 1.00 * ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * xorpd (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * andnpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * andpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 * * * clflush (%rax) +# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 +# CHECK-NEXT: 1 6 1.00 * comisd (%rax), %xmm1 +# CHECK-NEXT: 1 4 0.50 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 4 0.50 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 1 4 0.50 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 1 7 1.00 * cvtsd2si (%rax), %ecx +# CHECK-NEXT: 1 7 1.00 * cvtsd2si (%rax), %rcx +# CHECK-NEXT: 1 4 0.50 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 4 0.50 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 1 4 0.50 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 1 7 1.00 * cvttsd2si (%rax), %ecx +# CHECK-NEXT: 1 7 1.00 * cvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 69 69.00 divpd %xmm0, %xmm2 +# CHECK-NEXT: 1 72 69.00 * divpd (%rax), %xmm2 +# CHECK-NEXT: 1 34 32.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 1 37 32.00 * divsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * lfence +# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * maxsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * minsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movapd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movd %eax, %xmm2 +# CHECK-NEXT: 1 3 1.00 * movd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movdqu %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movdqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * movhpd %xmm0, (%rax) +# CHECK-NEXT: 1 4 1.00 * movhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax) +# CHECK-NEXT: 1 4 1.00 * movlpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 movmskpd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 movq %rax, %xmm2 +# CHECK-NEXT: 1 3 1.00 * movq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movq %xmm0, %rcx +# CHECK-NEXT: 1 1 1.00 * movq %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movupd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movupd %xmm0, (%rax) +# CHECK-NEXT: 1 3 1.00 * movupd (%rax), %xmm2 +# CHECK-NEXT: 1 5 2.00 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 2.00 * mulpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 2.00 mulsd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 2.00 * mulsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 orpd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * orpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * packssdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * packsswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * packuswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * paddb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * paddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * paddq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * paddq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * paddsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * paddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * paddusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * paddusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * paddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pand %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pand (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pandn %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pandn (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pavgb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pavgw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 4 1.00 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmaxub (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pminsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pminub (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 4 1.00 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmulhw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmullw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmullw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 por %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * por (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 psadbw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * psadbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 pslld %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pslld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psllq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psllq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psllw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psllw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrad %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psrad (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psraw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psraw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrld %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psrld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psrlq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psrlw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psubb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psubd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psubq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psubq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psubsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psubusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psubusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psubw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pxor %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pxor (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 71 70.00 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 1 74 70.00 * sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 35 35.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 1 38 35.00 * sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 1 6 1.00 * ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * xorpd (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: - 412.00 8.00 150.50 86.50 5.50 5.50 132.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - - 1.00 - - - addpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 addpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - addsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 addsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - andnpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andnpd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - andpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 clflush (%rax) -# CHECK-NEXT: - - - - 1.00 - - - cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - comisd %xmm0, %xmm1 -# CHECK-NEXT: - - - - 1.00 - - 1.00 comisd (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsd2si %xmm0, %rcx -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsd2si (%rax), %ecx -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsd2si (%rax), %rcx -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - cvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - - 0.50 0.50 - - - cvttsd2si %xmm0, %rcx -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttsd2si (%rax), %ecx -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttsd2si (%rax), %rcx -# CHECK-NEXT: - 69.00 - 1.00 - - - - divpd %xmm0, %xmm2 -# CHECK-NEXT: - 69.00 - 1.00 - - - 1.00 divpd (%rax), %xmm2 -# CHECK-NEXT: - 32.00 - 1.00 - - - - divsd %xmm0, %xmm2 -# CHECK-NEXT: - 32.00 - 1.00 - - - 1.00 divsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 lfence -# CHECK-NEXT: - - - - - - - 1.00 maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - - 1.00 - - - maxpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 maxpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - maxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 maxsd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - minpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 minpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - minsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 minsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - movapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 movapd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - movd %eax, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 movd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - movd %xmm0, %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 - - - movdqa %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 movdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movdqa (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - movdqu %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 movdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movdqu (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - movdq2q %xmm0, %mm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movhpd %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - 1.00 movhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movlpd %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - 1.00 movlpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - movmskpd %xmm0, %ecx -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movntil %eax, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movntiq %rax, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movntpd %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 - - - movq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - movq %rax, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 movq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 - movq %xmm0, %rcx -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movq %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 0.50 - - - movq2dq %mm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - movsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movsd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - movupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 movupd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 movupd (%rax), %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - - mulpd %xmm0, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 mulpd (%rax), %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - - mulsd %xmm0, %xmm2 -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 mulsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - orpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 orpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - packssdw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 packssdw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - packsswb %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 packsswb (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - packuswb %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 packuswb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddq %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddq (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddusb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddusb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddusw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddusw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - paddw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pand %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pand (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pandn %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pandn (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pavgb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pavgb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pavgw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pavgw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - - 1.00 - - - - pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmaddwd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxub %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxub (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pminsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pminub %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminub (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - - 1.00 - - - - pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhuw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmulhw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmullw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmullw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmuludq %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmuludq (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pmuludq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmuludq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - por %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 por (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psadbw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psadbw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pslld $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pslld %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pslld (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pslldq $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psllq $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psllq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psllq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psllw $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psllw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psllw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psrad $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psrad %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psrad (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psraw $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psraw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psraw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psrld $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psrld %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psrld (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psrldq $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psrlq $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psrlq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psrlw $1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psrlw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubq %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubq (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubusb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubusb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubusw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubusw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psubw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhbw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhdq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhwd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklbw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - punpckldq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckldq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklwd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pxor %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pxor (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: - 70.00 - 1.00 - - - - sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 70.00 - 1.00 - - - 1.00 sqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 35.00 - 1.00 - - - - sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: - 35.00 - 1.00 - - - 1.00 sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - subpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 subpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - subsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 subsd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - ucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - - - 1.00 - - 1.00 ucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 unpckhpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 unpcklpd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - xorpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 xorpd (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - - 1.00 - - - addpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 addpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - addsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 addsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - andnpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andnpd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - andpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 clflush (%rax) +# CHECK-NEXT: - - - - 1.00 - - - cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - comisd %xmm0, %xmm1 +# CHECK-NEXT: - - - - 1.00 - - 1.00 comisd (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsd2si %xmm0, %rcx +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsd2si (%rax), %ecx +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsd2si (%rax), %rcx +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - cvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - - 0.50 0.50 - - - cvttsd2si %xmm0, %rcx +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttsd2si (%rax), %ecx +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 cvttsd2si (%rax), %rcx +# CHECK-NEXT: - 69.00 - 1.00 - - - - divpd %xmm0, %xmm2 +# CHECK-NEXT: - 69.00 - 1.00 - - - 1.00 divpd (%rax), %xmm2 +# CHECK-NEXT: - 32.00 - 1.00 - - - - divsd %xmm0, %xmm2 +# CHECK-NEXT: - 32.00 - 1.00 - - - 1.00 divsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 lfence +# CHECK-NEXT: - - - - - - - 1.00 maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - - - 1.00 - - - maxpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 maxpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - maxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 maxsd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - minpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 minpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - minsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 minsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - movapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 movapd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - movd %eax, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 movd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - movd %xmm0, %ecx +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 - - - movdqa %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 movdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movdqa (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - movdqu %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 movdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movdqu (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - movdq2q %xmm0, %mm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movhpd %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - 1.00 movhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movlpd %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - 1.00 movlpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - movmskpd %xmm0, %ecx +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movntil %eax, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movntiq %rax, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movntpd %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 - - - movq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - movq %rax, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 movq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 - movq %xmm0, %rcx +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movq %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 0.50 - - - movq2dq %mm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - movsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movsd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - movupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 movupd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 movupd (%rax), %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - - mulpd %xmm0, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 mulpd (%rax), %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - - mulsd %xmm0, %xmm2 +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 mulsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - orpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 orpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - packssdw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 packssdw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - packsswb %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 packsswb (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - packuswb %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 packuswb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddq %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddq (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddusb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddusb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddusw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddusw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - paddw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 paddw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pand %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pand (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pandn %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pandn (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pavgb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pavgb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pavgw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pavgw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - 1.00 - - - - pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmaddwd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxub %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxub (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pminsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pminub %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminub (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - 1.00 - - - - pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhuw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmulhw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmullw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmullw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmuludq %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmuludq (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pmuludq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmuludq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - por %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 por (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psadbw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psadbw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pslld $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pslld %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pslld (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pslldq $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psllq $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psllq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psllq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psllw $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psllw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psllw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psrad $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psrad %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psrad (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psraw $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psraw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psraw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psrld $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psrld %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psrld (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psrldq $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psrlq $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psrlq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psrlw $1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psrlw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubq %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubq (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubusb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubusb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubusw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubusw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psubw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhbw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhdq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckhwd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklbw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - punpckldq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpckldq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 punpcklwd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pxor %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pxor (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: - 70.00 - 1.00 - - - - sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 70.00 - 1.00 - - - 1.00 sqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 35.00 - 1.00 - - - - sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: - 35.00 - 1.00 - - - 1.00 sqrtsd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - subpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 subpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - subsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 subsd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - ucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - - - 1.00 - - 1.00 ucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 unpckhpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 unpcklpd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - xorpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 xorpd (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse3.s index 7a40aba..8369819 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse3.s @@ -38,60 +38,60 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * addsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 haddpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * haddpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 haddps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * haddps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 hsubps %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * hsubps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 * lddqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * movddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * movsldup (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * addsubps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * haddpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 haddps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * haddps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 * lddqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * movddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * movshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * movsldup (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: - - - 14.00 12.00 - - 10.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - - 1.00 - - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 addsubps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 - - - haddpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 - - 1.00 haddpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 - - - haddps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 - - 1.00 haddps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 - - - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 - - 1.00 hsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 - - - hsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 1.00 - - 1.00 hsubps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 lddqu (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - movddup %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 movddup (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - movshdup %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 movshdup (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - movsldup %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 movsldup (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - - 1.00 - - - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - addsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 addsubps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 - - - haddpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 - - 1.00 haddpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 - - - haddps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 - - 1.00 haddps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 - - - hsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 - - 1.00 hsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 - - - hsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 1.00 - - 1.00 hsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 lddqu (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - movddup %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 movddup (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - movshdup %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 movshdup (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - movsldup %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 movsldup (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s index 4ed9c71..f20bb3f 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s @@ -154,214 +154,214 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 1.00 blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * blendps $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * dppd $22, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * dpps $22, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 extractps $1, %xmm0, %ecx -# CHECK-NEXT: 2 4 2.00 * extractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * insertps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 1 7 1.00 mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * packusdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pextrb $1, %xmm0, %ecx -# CHECK-NEXT: 2 4 2.00 * pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 pextrd $1, %xmm0, %ecx -# CHECK-NEXT: 2 4 2.00 * pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 pextrq $1, %xmm0, %rcx -# CHECK-NEXT: 2 4 2.00 * pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 2 4 2.00 * pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 4 1.00 phminposuw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * phminposuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: 1 4 1.00 * pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: 1 4 1.00 * pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: 1 4 1.00 * pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmaxsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmaxsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmaxud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmaxuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pminsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pminsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pminud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pminuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmuldq %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmuldq (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmulld %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmulld (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 ptest %xmm0, %xmm1 -# CHECK-NEXT: 1 4 1.00 * ptest (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * roundps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 6 1.00 * roundss $1, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 1.00 blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * blendps $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * dppd $22, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 extractps $1, %xmm0, %ecx +# CHECK-NEXT: 2 4 2.00 * extractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * insertps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 * movntdqa (%rax), %xmm2 +# CHECK-NEXT: 1 7 1.00 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * packusdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pextrb $1, %xmm0, %ecx +# CHECK-NEXT: 2 4 2.00 * pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 pextrd $1, %xmm0, %ecx +# CHECK-NEXT: 2 4 2.00 * pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 pextrq $1, %xmm0, %rcx +# CHECK-NEXT: 2 4 2.00 * pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 2 4 2.00 * pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 4 1.00 phminposuw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * phminposuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: 1 4 1.00 * pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: 1 4 1.00 * pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: 1 4 1.00 * pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmaxsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmaxsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmaxud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmaxuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pminsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pminsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pminud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pminuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmuldq %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmuldq (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmulld %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmulld (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 ptest %xmm0, %xmm1 +# CHECK-NEXT: 1 4 1.00 * ptest (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * roundps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 6 1.00 * roundss $1, (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: - - - 73.00 22.00 - - 54.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 blendps $11, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 dppd $22, (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 dpps $22, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - extractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - 1.00 - - - 2.00 extractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 insertps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 movntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - packusdw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 packusdw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - 1.00 - - - 2.00 pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - pextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - 1.00 - - - 2.00 pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - pextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - 1.00 - - - 2.00 pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - 2.00 pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - phminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 phminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxud %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxud (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxuw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pminsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pminsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pminud %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminud (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pminuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminuw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmuldq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmuldq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmulld %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulld (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - ptest %xmm0, %xmm1 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 ptest (%rax), %xmm1 -# CHECK-NEXT: - - - - 1.00 - - - roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 roundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - - - roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - - 1.00 roundss $1, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 blendps $11, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 dppd $22, (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 dpps $22, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - extractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - 1.00 - - - 2.00 extractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 insertps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 movntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - packusdw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 packusdw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - 1.00 - - - 2.00 pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - pextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - 1.00 - - - 2.00 pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - pextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - 1.00 - - - 2.00 pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - 2.00 pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - phminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 phminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxud %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxud (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pmaxuw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pminsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pminsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pminud %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminud (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pminuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pminuw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmuldq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmuldq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmulld %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulld (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - ptest %xmm0, %xmm1 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 ptest (%rax), %xmm1 +# CHECK-NEXT: - - - - 1.00 - - - roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 roundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - - - roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - - 1.00 roundss $1, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse42.s index 827fe2f..01d047f 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse42.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse42.s @@ -39,62 +39,62 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx -# CHECK-NEXT: 1 6 1.00 * crc32b (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx -# CHECK-NEXT: 1 6 1.00 * crc32l (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx -# CHECK-NEXT: 1 6 1.00 * crc32w (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx -# CHECK-NEXT: 1 6 1.00 * crc32b (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx -# CHECK-NEXT: 1 6 1.00 * crc32q (%rax), %rcx -# CHECK-NEXT: 1 21 21.00 pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 21 21.00 * pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 1 17 17.00 pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 17 17.00 * pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 17 17.00 pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 17 17.00 * pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 1 13 13.00 pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 13 13.00 * pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pcmpgtq (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx +# CHECK-NEXT: 1 6 1.00 * crc32b (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx +# CHECK-NEXT: 1 6 1.00 * crc32l (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx +# CHECK-NEXT: 1 6 1.00 * crc32w (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx +# CHECK-NEXT: 1 6 1.00 * crc32b (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx +# CHECK-NEXT: 1 6 1.00 * crc32q (%rax), %rcx +# CHECK-NEXT: 1 21 21.00 pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 21 21.00 * pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 17 17.00 pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 17 17.00 * pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 17 17.00 pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 17 17.00 * pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 13 13.00 pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 13 13.00 * pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pcmpgtq (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: - - - 137.00 1.00 - 10.00 10.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - - - - 1.00 - crc32b %al, %ecx -# CHECK-NEXT: - - - - - - 1.00 1.00 crc32b (%rax), %ecx -# CHECK-NEXT: - - - - - - 1.00 - crc32l %eax, %ecx -# CHECK-NEXT: - - - - - - 1.00 1.00 crc32l (%rax), %ecx -# CHECK-NEXT: - - - - - - 1.00 - crc32w %ax, %ecx -# CHECK-NEXT: - - - - - - 1.00 1.00 crc32w (%rax), %ecx -# CHECK-NEXT: - - - - - - 1.00 - crc32b %al, %rcx -# CHECK-NEXT: - - - - - - 1.00 1.00 crc32b (%rax), %rcx -# CHECK-NEXT: - - - - - - 1.00 - crc32q %rax, %rcx -# CHECK-NEXT: - - - - - - 1.00 1.00 crc32q (%rax), %rcx -# CHECK-NEXT: - - - 21.00 - - - - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 21.00 - - - 1.00 pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 17.00 - - - - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 17.00 - - - 1.00 pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 17.00 - - - - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 17.00 - - - 1.00 pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 13.00 - - - - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 13.00 - - - 1.00 pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtq (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - - - - 1.00 - crc32b %al, %ecx +# CHECK-NEXT: - - - - - - 1.00 1.00 crc32b (%rax), %ecx +# CHECK-NEXT: - - - - - - 1.00 - crc32l %eax, %ecx +# CHECK-NEXT: - - - - - - 1.00 1.00 crc32l (%rax), %ecx +# CHECK-NEXT: - - - - - - 1.00 - crc32w %ax, %ecx +# CHECK-NEXT: - - - - - - 1.00 1.00 crc32w (%rax), %ecx +# CHECK-NEXT: - - - - - - 1.00 - crc32b %al, %rcx +# CHECK-NEXT: - - - - - - 1.00 1.00 crc32b (%rax), %rcx +# CHECK-NEXT: - - - - - - 1.00 - crc32q %rax, %rcx +# CHECK-NEXT: - - - - - - 1.00 1.00 crc32q (%rax), %rcx +# CHECK-NEXT: - - - 21.00 - - - - pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 21.00 - - - 1.00 pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 17.00 - - - - pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 17.00 - - - 1.00 pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 17.00 - - - - pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 17.00 - - - 1.00 pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 13.00 - - - - pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 13.00 - - - 1.00 pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pcmpgtq (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s index 66d4be6..61da368 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s @@ -105,150 +105,150 @@ psignw (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pabsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pabsd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pabsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phaddd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * phaddd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phaddd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * phaddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phaddsw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * phaddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phaddw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * phaddw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phaddw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * phaddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phsubd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * phsubd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phsubd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * phsubd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phsubsw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * phsubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 phsubw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * phsubw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 phsubw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * phsubw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * pshufb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * pshufb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psignb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psignb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psignd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psignd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 -# CHECK-NEXT: 1 4 1.00 * psignw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 * psignw (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pabsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pabsd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pabsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phaddd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * phaddd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * phaddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phaddsw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * phaddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phaddw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * phaddw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * phaddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phsubd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * phsubd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * phsubd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phsubsw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * phsubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 phsubw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * phsubw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * pshufb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psignb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psignb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psignd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psignd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 +# CHECK-NEXT: 1 4 1.00 * psignw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 * psignw (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: - - - 40.00 24.00 - - 32.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - 0.50 0.50 - - - pabsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pabsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pabsd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pabsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pabsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - pabsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - palignr $1, %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 palignr $1, (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 palignr $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phaddd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phaddd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phaddsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phaddw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phaddw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phsubd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phsubd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phsubsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phsubw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - phsubw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmaddubsw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmaddubsw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pmulhrsw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhrsw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pshufb %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufb (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pshufb %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psignb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psignb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psignd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psignd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psignw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 0.50 - - - psignw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignw (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - 0.50 0.50 - - - pabsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pabsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pabsd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pabsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pabsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - pabsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 pabsw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - palignr $1, %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 palignr $1, (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 palignr $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phaddd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phaddd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phaddsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phaddw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phaddw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phaddw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phsubd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phsubd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phsubsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phsubw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - phsubw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 phsubw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmaddubsw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmaddubsw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pmulhrsw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhrsw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pshufb %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufb (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pshufb %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psignb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psignb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psignd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psignd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psignw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 0.50 - - - psignw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignw (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s index 32db7fe..a993840 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s @@ -606,1100 +606,1100 @@ xorq (%rax), %rdi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 adcb $7, %al -# CHECK-NEXT: 1 1 0.50 adcb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * adcb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil -# CHECK-NEXT: 2 5 2.00 * * adcb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 adcw $511, %ax -# CHECK-NEXT: 1 1 0.50 adcw $511, %di -# CHECK-NEXT: 2 5 2.00 * * adcw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw $7, %di -# CHECK-NEXT: 2 5 2.00 * * adcw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw %di, %di -# CHECK-NEXT: 2 5 2.00 * * adcw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax -# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * adcl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * adcl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi -# CHECK-NEXT: 2 5 2.00 * * adcl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * adcq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * adcq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi -# CHECK-NEXT: 2 5 2.00 * * adcq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * adcq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 addb $7, %al -# CHECK-NEXT: 1 1 0.50 addb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * addb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addb %dil, %dil -# CHECK-NEXT: 2 5 2.00 * * addb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * addb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 addw $511, %ax -# CHECK-NEXT: 1 1 0.50 addw $511, %di -# CHECK-NEXT: 2 5 2.00 * * addw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 addw $7, %di -# CHECK-NEXT: 2 5 2.00 * * addw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addw %di, %di -# CHECK-NEXT: 2 5 2.00 * * addw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * addw (%rax), %di -# CHECK-NEXT: 1 1 0.50 addl $665536, %eax -# CHECK-NEXT: 1 1 0.50 addl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * addl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 addl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * addl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addl %edi, %edi -# CHECK-NEXT: 2 5 2.00 * * addl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * addl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 addq $665536, %rax -# CHECK-NEXT: 1 1 0.50 addq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * addq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 addq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * addq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 addq %rdi, %rdi -# CHECK-NEXT: 2 5 2.00 * * addq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * addq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 andb $7, %al -# CHECK-NEXT: 1 1 0.50 andb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * andb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andb %dil, %dil -# CHECK-NEXT: 2 5 2.00 * * andb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * andb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 andw $511, %ax -# CHECK-NEXT: 1 1 0.50 andw $511, %di -# CHECK-NEXT: 2 5 2.00 * * andw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 andw $7, %di -# CHECK-NEXT: 2 5 2.00 * * andw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andw %di, %di -# CHECK-NEXT: 2 5 2.00 * * andw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * andw (%rax), %di -# CHECK-NEXT: 1 1 0.50 andl $665536, %eax -# CHECK-NEXT: 1 1 0.50 andl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * andl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 andl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * andl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andl %edi, %edi -# CHECK-NEXT: 2 5 2.00 * * andl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * andl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 andq $665536, %rax -# CHECK-NEXT: 1 1 0.50 andq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * andq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 andq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * andq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 andq %rdi, %rdi -# CHECK-NEXT: 2 5 2.00 * * andq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * andq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 btw %si, %di -# CHECK-NEXT: 1 1 0.50 btcw %si, %di -# CHECK-NEXT: 1 1 0.50 btrw %si, %di -# CHECK-NEXT: 1 1 0.50 btsw %si, %di -# CHECK-NEXT: 1 4 1.00 * btw %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcw %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrw %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsw %si, (%rax) -# CHECK-NEXT: 1 1 0.50 btw $7, %di -# CHECK-NEXT: 1 1 0.50 btcw $7, %di -# CHECK-NEXT: 1 1 0.50 btrw $7, %di -# CHECK-NEXT: 1 1 0.50 btsw $7, %di -# CHECK-NEXT: 1 1 0.50 * btw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi -# CHECK-NEXT: 1 4 1.00 * btl %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcl %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrl %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsl %esi, (%rax) -# CHECK-NEXT: 1 1 0.50 btl $7, %edi -# CHECK-NEXT: 1 1 0.50 btcl $7, %edi -# CHECK-NEXT: 1 1 0.50 btrl $7, %edi -# CHECK-NEXT: 1 1 0.50 btsl $7, %edi -# CHECK-NEXT: 1 1 0.50 * btl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi -# CHECK-NEXT: 1 4 1.00 * btq %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcq %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrq %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsq %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 btq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi -# CHECK-NEXT: 1 1 0.50 * btq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btcq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btrq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 decb %dil -# CHECK-NEXT: 2 5 2.00 * * decb (%rax) -# CHECK-NEXT: 1 1 0.50 decw %di -# CHECK-NEXT: 2 5 2.00 * * decw (%rax) -# CHECK-NEXT: 1 1 0.50 decl %edi -# CHECK-NEXT: 2 5 2.00 * * decl (%rax) -# CHECK-NEXT: 1 1 0.50 decq %rdi -# CHECK-NEXT: 2 5 2.00 * * decq (%rax) -# CHECK-NEXT: 1 25 25.00 * divb %dil -# CHECK-NEXT: 1 29 25.00 * * divb (%rax) -# CHECK-NEXT: 1 25 25.00 * divw %si -# CHECK-NEXT: 1 29 25.00 * * divw (%rax) -# CHECK-NEXT: 1 25 25.00 * divl %edx -# CHECK-NEXT: 1 29 25.00 * * divl (%rax) -# CHECK-NEXT: 1 25 25.00 * divq %rcx -# CHECK-NEXT: 1 29 25.00 * * divq (%rax) -# CHECK-NEXT: 1 25 25.00 * idivb %dil -# CHECK-NEXT: 1 29 25.00 * * idivb (%rax) -# CHECK-NEXT: 1 25 25.00 * idivw %si -# CHECK-NEXT: 1 29 25.00 * * idivw (%rax) -# CHECK-NEXT: 1 25 25.00 * idivl %edx -# CHECK-NEXT: 1 29 25.00 * * idivl (%rax) -# CHECK-NEXT: 1 25 25.00 * idivq %rcx -# CHECK-NEXT: 1 29 25.00 * * idivq (%rax) -# CHECK-NEXT: 1 3 1.00 imulb %dil -# CHECK-NEXT: 1 6 1.00 * imulb (%rax) -# CHECK-NEXT: 1 3 1.00 imulw %di -# CHECK-NEXT: 1 6 1.00 * imulw (%rax) -# CHECK-NEXT: 1 3 1.00 imulw %di, %di -# CHECK-NEXT: 1 6 1.00 * imulw (%rax), %di -# CHECK-NEXT: 1 3 1.00 imulw $511, %di, %di -# CHECK-NEXT: 1 6 1.00 * imulw $511, (%rax), %di -# CHECK-NEXT: 1 3 1.00 imulw $7, %di, %di -# CHECK-NEXT: 1 6 1.00 * imulw $7, (%rax), %di -# CHECK-NEXT: 1 3 1.00 imull %edi -# CHECK-NEXT: 1 6 1.00 * imull (%rax) -# CHECK-NEXT: 1 3 1.00 imull %edi, %edi -# CHECK-NEXT: 1 6 1.00 * imull (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi -# CHECK-NEXT: 1 6 1.00 * imull $665536, (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi -# CHECK-NEXT: 1 6 1.00 * imull $7, (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imulq %rdi -# CHECK-NEXT: 1 6 1.00 * imulq (%rax) -# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi -# CHECK-NEXT: 1 6 1.00 * imulq (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 1 6 1.00 * imulq $665536, (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 1 6 1.00 * imulq $7, (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 incb %dil -# CHECK-NEXT: 2 5 2.00 * * incb (%rax) -# CHECK-NEXT: 1 1 0.50 incw %di -# CHECK-NEXT: 2 5 2.00 * * incw (%rax) -# CHECK-NEXT: 1 1 0.50 incl %edi -# CHECK-NEXT: 2 5 2.00 * * incl (%rax) -# CHECK-NEXT: 1 1 0.50 incq %rdi -# CHECK-NEXT: 2 5 2.00 * * incq (%rax) -# CHECK-NEXT: 1 3 1.00 mulb %dil -# CHECK-NEXT: 1 6 1.00 * mulb (%rax) -# CHECK-NEXT: 1 3 1.00 mulw %si -# CHECK-NEXT: 1 6 1.00 * mulw (%rax) -# CHECK-NEXT: 1 3 1.00 mull %edx -# CHECK-NEXT: 1 6 1.00 * mull (%rax) -# CHECK-NEXT: 1 3 1.00 mulq %rcx -# CHECK-NEXT: 1 6 1.00 * mulq (%rax) -# CHECK-NEXT: 1 1 0.50 negb %dil -# CHECK-NEXT: 2 5 2.00 * * negb (%r8) -# CHECK-NEXT: 1 1 0.50 negw %si -# CHECK-NEXT: 2 5 2.00 * * negw (%r9) -# CHECK-NEXT: 1 1 0.50 negl %edx -# CHECK-NEXT: 2 5 2.00 * * negl (%rax) -# CHECK-NEXT: 1 1 0.50 negq %rcx -# CHECK-NEXT: 2 5 2.00 * * negq (%r10) -# CHECK-NEXT: 1 1 - nop -# CHECK-NEXT: 1 1 - nopw %di -# CHECK-NEXT: 1 1 - nopw (%rcx) -# CHECK-NEXT: 1 1 - nopl %esi -# CHECK-NEXT: 1 1 - nopl (%r8) -# CHECK-NEXT: 1 1 - nopq %rdx -# CHECK-NEXT: 1 1 - nopq (%r9) -# CHECK-NEXT: 1 1 0.50 notb %dil -# CHECK-NEXT: 2 5 2.00 * * notb (%r8) -# CHECK-NEXT: 1 1 0.50 notw %si -# CHECK-NEXT: 2 5 2.00 * * notw (%r9) -# CHECK-NEXT: 1 1 0.50 notl %edx -# CHECK-NEXT: 2 5 2.00 * * notl (%rax) -# CHECK-NEXT: 1 1 0.50 notq %rcx -# CHECK-NEXT: 2 5 2.00 * * notq (%r10) -# CHECK-NEXT: 1 1 0.50 orb $7, %al -# CHECK-NEXT: 1 1 0.50 orb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * orb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orb %dil, %dil -# CHECK-NEXT: 2 5 2.00 * * orb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * orb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 orw $511, %ax -# CHECK-NEXT: 1 1 0.50 orw $511, %di -# CHECK-NEXT: 2 5 2.00 * * orw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 orw $7, %di -# CHECK-NEXT: 2 5 2.00 * * orw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orw %di, %di -# CHECK-NEXT: 2 5 2.00 * * orw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * orw (%rax), %di -# CHECK-NEXT: 1 1 0.50 orl $665536, %eax -# CHECK-NEXT: 1 1 0.50 orl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * orl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 orl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * orl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orl %edi, %edi -# CHECK-NEXT: 2 5 2.00 * * orl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * orl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 orq $665536, %rax -# CHECK-NEXT: 1 1 0.50 orq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * orq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 orq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * orq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 orq %rdi, %rdi -# CHECK-NEXT: 2 5 2.00 * * orq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * orq (%rax), %rdi -# CHECK-NEXT: 1 1 1.00 rclb %dil -# CHECK-NEXT: 1 1 1.00 rcrb %dil -# CHECK-NEXT: 2 4 2.00 * rclb (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrb (%rax) -# CHECK-NEXT: 1 1 1.00 rclb $7, %dil -# CHECK-NEXT: 1 1 1.00 rcrb $7, %dil -# CHECK-NEXT: 2 4 2.00 * rclb $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rclb %cl, %dil -# CHECK-NEXT: 1 1 1.00 rcrb %cl, %dil -# CHECK-NEXT: 2 4 2.00 * rclb %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rclw %di -# CHECK-NEXT: 1 1 1.00 rcrw %di -# CHECK-NEXT: 2 4 2.00 * rclw (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrw (%rax) -# CHECK-NEXT: 1 1 1.00 rclw $7, %di -# CHECK-NEXT: 1 1 1.00 rcrw $7, %di -# CHECK-NEXT: 2 4 2.00 * rclw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rclw %cl, %di -# CHECK-NEXT: 1 1 1.00 rcrw %cl, %di -# CHECK-NEXT: 2 4 2.00 * rclw %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rcll %edi -# CHECK-NEXT: 1 1 1.00 rcrl %edi -# CHECK-NEXT: 2 4 2.00 * rcll (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrl (%rax) -# CHECK-NEXT: 1 1 1.00 rcll $7, %edi -# CHECK-NEXT: 1 1 1.00 rcrl $7, %edi -# CHECK-NEXT: 2 4 2.00 * rcll $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrl $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rcll %cl, %edi -# CHECK-NEXT: 1 1 1.00 rcrl %cl, %edi -# CHECK-NEXT: 2 4 2.00 * rcll %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrl %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rclq %rdi -# CHECK-NEXT: 1 1 1.00 rcrq %rdi -# CHECK-NEXT: 2 4 2.00 * rclq (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrq (%rax) -# CHECK-NEXT: 1 1 1.00 rclq $7, %rdi -# CHECK-NEXT: 1 1 1.00 rcrq $7, %rdi -# CHECK-NEXT: 2 4 2.00 * rclq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rclq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 rcrq %cl, %rdi -# CHECK-NEXT: 2 4 2.00 * rclq %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * rcrq %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rolb %dil -# CHECK-NEXT: 1 1 1.00 rorb %dil -# CHECK-NEXT: 2 4 2.00 * * rolb (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorb (%rax) -# CHECK-NEXT: 1 1 1.00 rolb $7, %dil -# CHECK-NEXT: 1 1 1.00 rorb $7, %dil -# CHECK-NEXT: 2 4 2.00 * * rolb $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rolb %cl, %dil -# CHECK-NEXT: 1 1 1.00 rorb %cl, %dil -# CHECK-NEXT: 2 4 2.00 * * rolb %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rolw %di -# CHECK-NEXT: 1 1 1.00 rorw %di -# CHECK-NEXT: 2 4 2.00 * * rolw (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorw (%rax) -# CHECK-NEXT: 1 1 1.00 rolw $7, %di -# CHECK-NEXT: 1 1 1.00 rorw $7, %di -# CHECK-NEXT: 2 4 2.00 * * rolw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rolw %cl, %di -# CHECK-NEXT: 1 1 1.00 rorw %cl, %di -# CHECK-NEXT: 2 4 2.00 * * rolw %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 roll %edi -# CHECK-NEXT: 1 1 1.00 rorl %edi -# CHECK-NEXT: 2 4 2.00 * * roll (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorl (%rax) -# CHECK-NEXT: 1 1 1.00 roll $7, %edi -# CHECK-NEXT: 1 1 1.00 rorl $7, %edi -# CHECK-NEXT: 2 4 2.00 * * roll $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorl $7, (%rax) -# CHECK-NEXT: 1 1 1.00 roll %cl, %edi -# CHECK-NEXT: 1 1 1.00 rorl %cl, %edi -# CHECK-NEXT: 2 4 2.00 * * roll %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorl %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 rolq %rdi -# CHECK-NEXT: 1 1 1.00 rorq %rdi -# CHECK-NEXT: 2 4 2.00 * * rolq (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorq (%rax) -# CHECK-NEXT: 1 1 1.00 rolq $7, %rdi -# CHECK-NEXT: 1 1 1.00 rorq $7, %rdi -# CHECK-NEXT: 2 4 2.00 * * rolq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 rolq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 rorq %cl, %rdi -# CHECK-NEXT: 2 4 2.00 * * rolq %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * rorq %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 sarb %dil -# CHECK-NEXT: 1 1 1.00 shlb %dil -# CHECK-NEXT: 1 1 1.00 shrb %dil -# CHECK-NEXT: 2 4 2.00 * * sarb (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlb (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrb (%rax) -# CHECK-NEXT: 1 1 1.00 sarb $7, %dil -# CHECK-NEXT: 1 1 1.00 shlb $7, %dil -# CHECK-NEXT: 1 1 1.00 shrb $7, %dil -# CHECK-NEXT: 2 4 2.00 * * sarb $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlb $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrb $7, (%rax) -# CHECK-NEXT: 1 1 1.00 sarb %cl, %dil -# CHECK-NEXT: 1 1 1.00 shlb %cl, %dil -# CHECK-NEXT: 1 1 1.00 shrb %cl, %dil -# CHECK-NEXT: 2 4 2.00 * * sarb %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlb %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrb %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 sarw %di -# CHECK-NEXT: 1 1 1.00 shlw %di -# CHECK-NEXT: 1 1 1.00 shrw %di -# CHECK-NEXT: 2 4 2.00 * * sarw (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlw (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrw (%rax) -# CHECK-NEXT: 1 1 1.00 sarw $7, %di -# CHECK-NEXT: 1 1 1.00 shlw $7, %di -# CHECK-NEXT: 1 1 1.00 shrw $7, %di -# CHECK-NEXT: 2 4 2.00 * * sarw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlw $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrw $7, (%rax) -# CHECK-NEXT: 1 1 1.00 sarw %cl, %di -# CHECK-NEXT: 1 1 1.00 shlw %cl, %di -# CHECK-NEXT: 1 1 1.00 shrw %cl, %di -# CHECK-NEXT: 2 4 2.00 * * sarw %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlw %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrw %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 sarl %edi -# CHECK-NEXT: 1 1 1.00 shll %edi -# CHECK-NEXT: 1 1 1.00 shrl %edi -# CHECK-NEXT: 2 4 2.00 * * sarl (%rax) -# CHECK-NEXT: 2 4 2.00 * * shll (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrl (%rax) -# CHECK-NEXT: 1 1 1.00 sarl $7, %edi -# CHECK-NEXT: 1 1 1.00 shll $7, %edi -# CHECK-NEXT: 1 1 1.00 shrl $7, %edi -# CHECK-NEXT: 2 4 2.00 * * sarl $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shll $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrl $7, (%rax) -# CHECK-NEXT: 1 1 1.00 sarl %cl, %edi -# CHECK-NEXT: 1 1 1.00 shll %cl, %edi -# CHECK-NEXT: 1 1 1.00 shrl %cl, %edi -# CHECK-NEXT: 2 4 2.00 * * sarl %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shll %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrl %cl, (%rax) -# CHECK-NEXT: 1 1 1.00 sarq %rdi -# CHECK-NEXT: 1 1 1.00 shlq %rdi -# CHECK-NEXT: 1 1 1.00 shrq %rdi -# CHECK-NEXT: 2 4 2.00 * * sarq (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlq (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrq (%rax) -# CHECK-NEXT: 1 1 1.00 sarq $7, %rdi -# CHECK-NEXT: 1 1 1.00 shlq $7, %rdi -# CHECK-NEXT: 1 1 1.00 shrq $7, %rdi -# CHECK-NEXT: 2 4 2.00 * * sarq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlq $7, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrq $7, (%rax) -# CHECK-NEXT: 1 1 1.00 sarq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 shlq %cl, %rdi -# CHECK-NEXT: 1 1 1.00 shrq %cl, %rdi -# CHECK-NEXT: 2 4 2.00 * * sarq %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shlq %cl, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbb $7, %al -# CHECK-NEXT: 1 1 0.50 sbbb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * sbbb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil -# CHECK-NEXT: 2 5 2.00 * * sbbb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax -# CHECK-NEXT: 1 1 0.50 sbbw $511, %di -# CHECK-NEXT: 2 5 2.00 * * sbbw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw $7, %di -# CHECK-NEXT: 2 5 2.00 * * sbbw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw %di, %di -# CHECK-NEXT: 2 5 2.00 * * sbbw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * sbbl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * sbbl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi -# CHECK-NEXT: 2 5 2.00 * * sbbl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * sbbq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * sbbq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi -# CHECK-NEXT: 2 5 2.00 * * sbbq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * sbbq (%rax), %rdi -# CHECK-NEXT: 1 1 1.00 shldw %cl, %si, %di -# CHECK-NEXT: 1 1 1.00 shrdw %cl, %si, %di -# CHECK-NEXT: 2 4 2.00 * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrdw %cl, %si, (%rax) -# CHECK-NEXT: 1 1 1.00 shldw $7, %si, %di -# CHECK-NEXT: 1 1 1.00 shrdw $7, %si, %di -# CHECK-NEXT: 2 4 2.00 * * shldw $7, %si, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 1 1 1.00 shldl %cl, %esi, %edi -# CHECK-NEXT: 1 1 1.00 shrdl %cl, %esi, %edi -# CHECK-NEXT: 2 4 2.00 * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 1 1 1.00 shldl $7, %esi, %edi -# CHECK-NEXT: 1 1 1.00 shrdl $7, %esi, %edi -# CHECK-NEXT: 2 4 2.00 * * shldl $7, %esi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 1 1 1.00 shldq %cl, %rsi, %rdi -# CHECK-NEXT: 1 1 1.00 shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 2 4 2.00 * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 1 1.00 shldq $7, %rsi, %rdi -# CHECK-NEXT: 1 1 1.00 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 2 4 2.00 * * shldq $7, %rsi, (%rax) -# CHECK-NEXT: 2 4 2.00 * * shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 subb $7, %al -# CHECK-NEXT: 1 1 0.50 subb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * subb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subb %dil, %dil -# CHECK-NEXT: 2 5 2.00 * * subb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * subb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 subw $511, %ax -# CHECK-NEXT: 1 1 0.50 subw $511, %di -# CHECK-NEXT: 2 5 2.00 * * subw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 subw $7, %di -# CHECK-NEXT: 2 5 2.00 * * subw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subw %di, %di -# CHECK-NEXT: 2 5 2.00 * * subw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * subw (%rax), %di -# CHECK-NEXT: 1 1 0.50 subl $665536, %eax -# CHECK-NEXT: 1 1 0.50 subl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * subl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 subl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * subl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subl %edi, %edi -# CHECK-NEXT: 2 5 2.00 * * subl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * subl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 subq $665536, %rax -# CHECK-NEXT: 1 1 0.50 subq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * subq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 subq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * subq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 subq %rdi, %rdi -# CHECK-NEXT: 2 5 2.00 * * subq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * subq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 xorb $7, %al -# CHECK-NEXT: 1 1 0.50 xorb $7, %dil -# CHECK-NEXT: 2 5 2.00 * * xorb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorb %dil, %dil -# CHECK-NEXT: 2 5 2.00 * * xorb %dil, (%rax) -# CHECK-NEXT: 1 4 1.00 * xorb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 xorw $511, %ax -# CHECK-NEXT: 1 1 0.50 xorw $511, %di -# CHECK-NEXT: 2 5 2.00 * * xorw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 xorw $7, %di -# CHECK-NEXT: 2 5 2.00 * * xorw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorw %di, %di -# CHECK-NEXT: 2 5 2.00 * * xorw %di, (%rax) -# CHECK-NEXT: 1 4 1.00 * xorw (%rax), %di -# CHECK-NEXT: 1 1 0.50 xorl $665536, %eax -# CHECK-NEXT: 1 1 0.50 xorl $665536, %edi -# CHECK-NEXT: 2 5 2.00 * * xorl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 xorl $7, %edi -# CHECK-NEXT: 2 5 2.00 * * xorl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorl %edi, %edi -# CHECK-NEXT: 2 5 2.00 * * xorl %edi, (%rax) -# CHECK-NEXT: 1 4 1.00 * xorl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 xorq $665536, %rax -# CHECK-NEXT: 1 1 0.50 xorq $665536, %rdi -# CHECK-NEXT: 2 5 2.00 * * xorq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 xorq $7, %rdi -# CHECK-NEXT: 2 5 2.00 * * xorq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 xorq %rdi, %rdi -# CHECK-NEXT: 2 5 2.00 * * xorq %rdi, (%rax) -# CHECK-NEXT: 1 4 1.00 * xorq (%rax), %rdi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 adcb $7, %al +# CHECK-NEXT: 1 1 0.50 adcb $7, %dil +# CHECK-NEXT: 2 5 2.00 * * adcb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil +# CHECK-NEXT: 2 5 2.00 * * adcb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * adcb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 adcw $511, %ax +# CHECK-NEXT: 1 1 0.50 adcw $511, %di +# CHECK-NEXT: 2 5 2.00 * * adcw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw $7, %di +# CHECK-NEXT: 2 5 2.00 * * adcw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw %di, %di +# CHECK-NEXT: 2 5 2.00 * * adcw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * adcw (%rax), %di +# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax +# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi +# CHECK-NEXT: 2 5 2.00 * * adcl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl $7, %edi +# CHECK-NEXT: 2 5 2.00 * * adcl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi +# CHECK-NEXT: 2 5 2.00 * * adcl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * adcl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi +# CHECK-NEXT: 2 5 2.00 * * adcq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi +# CHECK-NEXT: 2 5 2.00 * * adcq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi +# CHECK-NEXT: 2 5 2.00 * * adcq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * adcq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 addb $7, %al +# CHECK-NEXT: 1 1 0.50 addb $7, %dil +# CHECK-NEXT: 2 5 2.00 * * addb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addb %dil, %dil +# CHECK-NEXT: 2 5 2.00 * * addb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * addb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 addw $511, %ax +# CHECK-NEXT: 1 1 0.50 addw $511, %di +# CHECK-NEXT: 2 5 2.00 * * addw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 addw $7, %di +# CHECK-NEXT: 2 5 2.00 * * addw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addw %di, %di +# CHECK-NEXT: 2 5 2.00 * * addw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * addw (%rax), %di +# CHECK-NEXT: 1 1 0.50 addl $665536, %eax +# CHECK-NEXT: 1 1 0.50 addl $665536, %edi +# CHECK-NEXT: 2 5 2.00 * * addl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 addl $7, %edi +# CHECK-NEXT: 2 5 2.00 * * addl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addl %edi, %edi +# CHECK-NEXT: 2 5 2.00 * * addl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * addl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 addq $665536, %rax +# CHECK-NEXT: 1 1 0.50 addq $665536, %rdi +# CHECK-NEXT: 2 5 2.00 * * addq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 addq $7, %rdi +# CHECK-NEXT: 2 5 2.00 * * addq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 addq %rdi, %rdi +# CHECK-NEXT: 2 5 2.00 * * addq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * addq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 andb $7, %al +# CHECK-NEXT: 1 1 0.50 andb $7, %dil +# CHECK-NEXT: 2 5 2.00 * * andb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andb %dil, %dil +# CHECK-NEXT: 2 5 2.00 * * andb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * andb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 andw $511, %ax +# CHECK-NEXT: 1 1 0.50 andw $511, %di +# CHECK-NEXT: 2 5 2.00 * * andw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 andw $7, %di +# CHECK-NEXT: 2 5 2.00 * * andw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andw %di, %di +# CHECK-NEXT: 2 5 2.00 * * andw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * andw (%rax), %di +# CHECK-NEXT: 1 1 0.50 andl $665536, %eax +# CHECK-NEXT: 1 1 0.50 andl $665536, %edi +# CHECK-NEXT: 2 5 2.00 * * andl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 andl $7, %edi +# CHECK-NEXT: 2 5 2.00 * * andl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andl %edi, %edi +# CHECK-NEXT: 2 5 2.00 * * andl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * andl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 andq $665536, %rax +# CHECK-NEXT: 1 1 0.50 andq $665536, %rdi +# CHECK-NEXT: 2 5 2.00 * * andq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 andq $7, %rdi +# CHECK-NEXT: 2 5 2.00 * * andq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 andq %rdi, %rdi +# CHECK-NEXT: 2 5 2.00 * * andq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * andq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 btw %si, %di +# CHECK-NEXT: 1 1 0.50 btcw %si, %di +# CHECK-NEXT: 1 1 0.50 btrw %si, %di +# CHECK-NEXT: 1 1 0.50 btsw %si, %di +# CHECK-NEXT: 1 4 1.00 * btw %si, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btcw %si, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btrw %si, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btsw %si, (%rax) +# CHECK-NEXT: 1 1 0.50 btw $7, %di +# CHECK-NEXT: 1 1 0.50 btcw $7, %di +# CHECK-NEXT: 1 1 0.50 btrw $7, %di +# CHECK-NEXT: 1 1 0.50 btsw $7, %di +# CHECK-NEXT: 1 1 0.50 * btw $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btcw $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btrw $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btsw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi +# CHECK-NEXT: 1 4 1.00 * btl %esi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btcl %esi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btrl %esi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btsl %esi, (%rax) +# CHECK-NEXT: 1 1 0.50 btl $7, %edi +# CHECK-NEXT: 1 1 0.50 btcl $7, %edi +# CHECK-NEXT: 1 1 0.50 btrl $7, %edi +# CHECK-NEXT: 1 1 0.50 btsl $7, %edi +# CHECK-NEXT: 1 1 0.50 * btl $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btcl $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btrl $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btsl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi +# CHECK-NEXT: 1 4 1.00 * btq %rsi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btcq %rsi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btrq %rsi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 btq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi +# CHECK-NEXT: 1 1 0.50 * btq $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btcq $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btrq $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * btsq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 decb %dil +# CHECK-NEXT: 2 5 2.00 * * decb (%rax) +# CHECK-NEXT: 1 1 0.50 decw %di +# CHECK-NEXT: 2 5 2.00 * * decw (%rax) +# CHECK-NEXT: 1 1 0.50 decl %edi +# CHECK-NEXT: 2 5 2.00 * * decl (%rax) +# CHECK-NEXT: 1 1 0.50 decq %rdi +# CHECK-NEXT: 2 5 2.00 * * decq (%rax) +# CHECK-NEXT: 1 25 25.00 * divb %dil +# CHECK-NEXT: 1 29 25.00 * * divb (%rax) +# CHECK-NEXT: 1 25 25.00 * divw %si +# CHECK-NEXT: 1 29 25.00 * * divw (%rax) +# CHECK-NEXT: 1 25 25.00 * divl %edx +# CHECK-NEXT: 1 29 25.00 * * divl (%rax) +# CHECK-NEXT: 1 25 25.00 * divq %rcx +# CHECK-NEXT: 1 29 25.00 * * divq (%rax) +# CHECK-NEXT: 1 25 25.00 * idivb %dil +# CHECK-NEXT: 1 29 25.00 * * idivb (%rax) +# CHECK-NEXT: 1 25 25.00 * idivw %si +# CHECK-NEXT: 1 29 25.00 * * idivw (%rax) +# CHECK-NEXT: 1 25 25.00 * idivl %edx +# CHECK-NEXT: 1 29 25.00 * * idivl (%rax) +# CHECK-NEXT: 1 25 25.00 * idivq %rcx +# CHECK-NEXT: 1 29 25.00 * * idivq (%rax) +# CHECK-NEXT: 1 3 1.00 imulb %dil +# CHECK-NEXT: 1 6 1.00 * imulb (%rax) +# CHECK-NEXT: 1 3 1.00 imulw %di +# CHECK-NEXT: 1 6 1.00 * imulw (%rax) +# CHECK-NEXT: 1 3 1.00 imulw %di, %di +# CHECK-NEXT: 1 6 1.00 * imulw (%rax), %di +# CHECK-NEXT: 1 3 1.00 imulw $511, %di, %di +# CHECK-NEXT: 1 6 1.00 * imulw $511, (%rax), %di +# CHECK-NEXT: 1 3 1.00 imulw $7, %di, %di +# CHECK-NEXT: 1 6 1.00 * imulw $7, (%rax), %di +# CHECK-NEXT: 1 3 1.00 imull %edi +# CHECK-NEXT: 1 6 1.00 * imull (%rax) +# CHECK-NEXT: 1 3 1.00 imull %edi, %edi +# CHECK-NEXT: 1 6 1.00 * imull (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi +# CHECK-NEXT: 1 6 1.00 * imull $665536, (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi +# CHECK-NEXT: 1 6 1.00 * imull $7, (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imulq %rdi +# CHECK-NEXT: 1 6 1.00 * imulq (%rax) +# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi +# CHECK-NEXT: 1 6 1.00 * imulq (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 1 6 1.00 * imulq $665536, (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 1 6 1.00 * imulq $7, (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 incb %dil +# CHECK-NEXT: 2 5 2.00 * * incb (%rax) +# CHECK-NEXT: 1 1 0.50 incw %di +# CHECK-NEXT: 2 5 2.00 * * incw (%rax) +# CHECK-NEXT: 1 1 0.50 incl %edi +# CHECK-NEXT: 2 5 2.00 * * incl (%rax) +# CHECK-NEXT: 1 1 0.50 incq %rdi +# CHECK-NEXT: 2 5 2.00 * * incq (%rax) +# CHECK-NEXT: 1 3 1.00 mulb %dil +# CHECK-NEXT: 1 6 1.00 * mulb (%rax) +# CHECK-NEXT: 1 3 1.00 mulw %si +# CHECK-NEXT: 1 6 1.00 * mulw (%rax) +# CHECK-NEXT: 1 3 1.00 mull %edx +# CHECK-NEXT: 1 6 1.00 * mull (%rax) +# CHECK-NEXT: 1 3 1.00 mulq %rcx +# CHECK-NEXT: 1 6 1.00 * mulq (%rax) +# CHECK-NEXT: 1 1 0.50 negb %dil +# CHECK-NEXT: 2 5 2.00 * * negb (%r8) +# CHECK-NEXT: 1 1 0.50 negw %si +# CHECK-NEXT: 2 5 2.00 * * negw (%r9) +# CHECK-NEXT: 1 1 0.50 negl %edx +# CHECK-NEXT: 2 5 2.00 * * negl (%rax) +# CHECK-NEXT: 1 1 0.50 negq %rcx +# CHECK-NEXT: 2 5 2.00 * * negq (%r10) +# CHECK-NEXT: 1 1 - nop +# CHECK-NEXT: 1 1 - nopw %di +# CHECK-NEXT: 1 1 - nopw (%rcx) +# CHECK-NEXT: 1 1 - nopl %esi +# CHECK-NEXT: 1 1 - nopl (%r8) +# CHECK-NEXT: 1 1 - nopq %rdx +# CHECK-NEXT: 1 1 - nopq (%r9) +# CHECK-NEXT: 1 1 0.50 notb %dil +# CHECK-NEXT: 2 5 2.00 * * notb (%r8) +# CHECK-NEXT: 1 1 0.50 notw %si +# CHECK-NEXT: 2 5 2.00 * * notw (%r9) +# CHECK-NEXT: 1 1 0.50 notl %edx +# CHECK-NEXT: 2 5 2.00 * * notl (%rax) +# CHECK-NEXT: 1 1 0.50 notq %rcx +# CHECK-NEXT: 2 5 2.00 * * notq (%r10) +# CHECK-NEXT: 1 1 0.50 orb $7, %al +# CHECK-NEXT: 1 1 0.50 orb $7, %dil +# CHECK-NEXT: 2 5 2.00 * * orb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orb %dil, %dil +# CHECK-NEXT: 2 5 2.00 * * orb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * orb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 orw $511, %ax +# CHECK-NEXT: 1 1 0.50 orw $511, %di +# CHECK-NEXT: 2 5 2.00 * * orw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 orw $7, %di +# CHECK-NEXT: 2 5 2.00 * * orw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orw %di, %di +# CHECK-NEXT: 2 5 2.00 * * orw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * orw (%rax), %di +# CHECK-NEXT: 1 1 0.50 orl $665536, %eax +# CHECK-NEXT: 1 1 0.50 orl $665536, %edi +# CHECK-NEXT: 2 5 2.00 * * orl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 orl $7, %edi +# CHECK-NEXT: 2 5 2.00 * * orl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orl %edi, %edi +# CHECK-NEXT: 2 5 2.00 * * orl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * orl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 orq $665536, %rax +# CHECK-NEXT: 1 1 0.50 orq $665536, %rdi +# CHECK-NEXT: 2 5 2.00 * * orq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 orq $7, %rdi +# CHECK-NEXT: 2 5 2.00 * * orq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 orq %rdi, %rdi +# CHECK-NEXT: 2 5 2.00 * * orq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * orq (%rax), %rdi +# CHECK-NEXT: 1 1 1.00 rclb %dil +# CHECK-NEXT: 1 1 1.00 rcrb %dil +# CHECK-NEXT: 2 4 2.00 * rclb (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrb (%rax) +# CHECK-NEXT: 1 1 1.00 rclb $7, %dil +# CHECK-NEXT: 1 1 1.00 rcrb $7, %dil +# CHECK-NEXT: 2 4 2.00 * rclb $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rclb %cl, %dil +# CHECK-NEXT: 1 1 1.00 rcrb %cl, %dil +# CHECK-NEXT: 2 4 2.00 * rclb %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rclw %di +# CHECK-NEXT: 1 1 1.00 rcrw %di +# CHECK-NEXT: 2 4 2.00 * rclw (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrw (%rax) +# CHECK-NEXT: 1 1 1.00 rclw $7, %di +# CHECK-NEXT: 1 1 1.00 rcrw $7, %di +# CHECK-NEXT: 2 4 2.00 * rclw $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rclw %cl, %di +# CHECK-NEXT: 1 1 1.00 rcrw %cl, %di +# CHECK-NEXT: 2 4 2.00 * rclw %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rcll %edi +# CHECK-NEXT: 1 1 1.00 rcrl %edi +# CHECK-NEXT: 2 4 2.00 * rcll (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrl (%rax) +# CHECK-NEXT: 1 1 1.00 rcll $7, %edi +# CHECK-NEXT: 1 1 1.00 rcrl $7, %edi +# CHECK-NEXT: 2 4 2.00 * rcll $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrl $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rcll %cl, %edi +# CHECK-NEXT: 1 1 1.00 rcrl %cl, %edi +# CHECK-NEXT: 2 4 2.00 * rcll %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrl %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rclq %rdi +# CHECK-NEXT: 1 1 1.00 rcrq %rdi +# CHECK-NEXT: 2 4 2.00 * rclq (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrq (%rax) +# CHECK-NEXT: 1 1 1.00 rclq $7, %rdi +# CHECK-NEXT: 1 1 1.00 rcrq $7, %rdi +# CHECK-NEXT: 2 4 2.00 * rclq $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rclq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 rcrq %cl, %rdi +# CHECK-NEXT: 2 4 2.00 * rclq %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * rcrq %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rolb %dil +# CHECK-NEXT: 1 1 1.00 rorb %dil +# CHECK-NEXT: 2 4 2.00 * * rolb (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorb (%rax) +# CHECK-NEXT: 1 1 1.00 rolb $7, %dil +# CHECK-NEXT: 1 1 1.00 rorb $7, %dil +# CHECK-NEXT: 2 4 2.00 * * rolb $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rolb %cl, %dil +# CHECK-NEXT: 1 1 1.00 rorb %cl, %dil +# CHECK-NEXT: 2 4 2.00 * * rolb %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rolw %di +# CHECK-NEXT: 1 1 1.00 rorw %di +# CHECK-NEXT: 2 4 2.00 * * rolw (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorw (%rax) +# CHECK-NEXT: 1 1 1.00 rolw $7, %di +# CHECK-NEXT: 1 1 1.00 rorw $7, %di +# CHECK-NEXT: 2 4 2.00 * * rolw $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rolw %cl, %di +# CHECK-NEXT: 1 1 1.00 rorw %cl, %di +# CHECK-NEXT: 2 4 2.00 * * rolw %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 roll %edi +# CHECK-NEXT: 1 1 1.00 rorl %edi +# CHECK-NEXT: 2 4 2.00 * * roll (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorl (%rax) +# CHECK-NEXT: 1 1 1.00 roll $7, %edi +# CHECK-NEXT: 1 1 1.00 rorl $7, %edi +# CHECK-NEXT: 2 4 2.00 * * roll $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorl $7, (%rax) +# CHECK-NEXT: 1 1 1.00 roll %cl, %edi +# CHECK-NEXT: 1 1 1.00 rorl %cl, %edi +# CHECK-NEXT: 2 4 2.00 * * roll %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorl %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 rolq %rdi +# CHECK-NEXT: 1 1 1.00 rorq %rdi +# CHECK-NEXT: 2 4 2.00 * * rolq (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorq (%rax) +# CHECK-NEXT: 1 1 1.00 rolq $7, %rdi +# CHECK-NEXT: 1 1 1.00 rorq $7, %rdi +# CHECK-NEXT: 2 4 2.00 * * rolq $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 rolq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 rorq %cl, %rdi +# CHECK-NEXT: 2 4 2.00 * * rolq %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 sarb %dil +# CHECK-NEXT: 1 1 1.00 shlb %dil +# CHECK-NEXT: 1 1 1.00 shrb %dil +# CHECK-NEXT: 2 4 2.00 * * sarb (%rax) +# CHECK-NEXT: 2 4 2.00 * * shlb (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrb (%rax) +# CHECK-NEXT: 1 1 1.00 sarb $7, %dil +# CHECK-NEXT: 1 1 1.00 shlb $7, %dil +# CHECK-NEXT: 1 1 1.00 shrb $7, %dil +# CHECK-NEXT: 2 4 2.00 * * sarb $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shlb $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrb $7, (%rax) +# CHECK-NEXT: 1 1 1.00 sarb %cl, %dil +# CHECK-NEXT: 1 1 1.00 shlb %cl, %dil +# CHECK-NEXT: 1 1 1.00 shrb %cl, %dil +# CHECK-NEXT: 2 4 2.00 * * sarb %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shlb %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 sarw %di +# CHECK-NEXT: 1 1 1.00 shlw %di +# CHECK-NEXT: 1 1 1.00 shrw %di +# CHECK-NEXT: 2 4 2.00 * * sarw (%rax) +# CHECK-NEXT: 2 4 2.00 * * shlw (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrw (%rax) +# CHECK-NEXT: 1 1 1.00 sarw $7, %di +# CHECK-NEXT: 1 1 1.00 shlw $7, %di +# CHECK-NEXT: 1 1 1.00 shrw $7, %di +# CHECK-NEXT: 2 4 2.00 * * sarw $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shlw $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrw $7, (%rax) +# CHECK-NEXT: 1 1 1.00 sarw %cl, %di +# CHECK-NEXT: 1 1 1.00 shlw %cl, %di +# CHECK-NEXT: 1 1 1.00 shrw %cl, %di +# CHECK-NEXT: 2 4 2.00 * * sarw %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shlw %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 sarl %edi +# CHECK-NEXT: 1 1 1.00 shll %edi +# CHECK-NEXT: 1 1 1.00 shrl %edi +# CHECK-NEXT: 2 4 2.00 * * sarl (%rax) +# CHECK-NEXT: 2 4 2.00 * * shll (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrl (%rax) +# CHECK-NEXT: 1 1 1.00 sarl $7, %edi +# CHECK-NEXT: 1 1 1.00 shll $7, %edi +# CHECK-NEXT: 1 1 1.00 shrl $7, %edi +# CHECK-NEXT: 2 4 2.00 * * sarl $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shll $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrl $7, (%rax) +# CHECK-NEXT: 1 1 1.00 sarl %cl, %edi +# CHECK-NEXT: 1 1 1.00 shll %cl, %edi +# CHECK-NEXT: 1 1 1.00 shrl %cl, %edi +# CHECK-NEXT: 2 4 2.00 * * sarl %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shll %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 1 1.00 sarq %rdi +# CHECK-NEXT: 1 1 1.00 shlq %rdi +# CHECK-NEXT: 1 1 1.00 shrq %rdi +# CHECK-NEXT: 2 4 2.00 * * sarq (%rax) +# CHECK-NEXT: 2 4 2.00 * * shlq (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrq (%rax) +# CHECK-NEXT: 1 1 1.00 sarq $7, %rdi +# CHECK-NEXT: 1 1 1.00 shlq $7, %rdi +# CHECK-NEXT: 1 1 1.00 shrq $7, %rdi +# CHECK-NEXT: 2 4 2.00 * * sarq $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shlq $7, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrq $7, (%rax) +# CHECK-NEXT: 1 1 1.00 sarq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 shlq %cl, %rdi +# CHECK-NEXT: 1 1 1.00 shrq %cl, %rdi +# CHECK-NEXT: 2 4 2.00 * * sarq %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shlq %cl, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbb $7, %al +# CHECK-NEXT: 1 1 0.50 sbbb $7, %dil +# CHECK-NEXT: 2 5 2.00 * * sbbb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil +# CHECK-NEXT: 2 5 2.00 * * sbbb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * sbbb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax +# CHECK-NEXT: 1 1 0.50 sbbw $511, %di +# CHECK-NEXT: 2 5 2.00 * * sbbw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw $7, %di +# CHECK-NEXT: 2 5 2.00 * * sbbw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw %di, %di +# CHECK-NEXT: 2 5 2.00 * * sbbw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * sbbw (%rax), %di +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi +# CHECK-NEXT: 2 5 2.00 * * sbbl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi +# CHECK-NEXT: 2 5 2.00 * * sbbl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi +# CHECK-NEXT: 2 5 2.00 * * sbbl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * sbbl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi +# CHECK-NEXT: 2 5 2.00 * * sbbq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi +# CHECK-NEXT: 2 5 2.00 * * sbbq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi +# CHECK-NEXT: 2 5 2.00 * * sbbq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * sbbq (%rax), %rdi +# CHECK-NEXT: 1 1 1.00 shldw %cl, %si, %di +# CHECK-NEXT: 1 1 1.00 shrdw %cl, %si, %di +# CHECK-NEXT: 2 4 2.00 * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 1 1 1.00 shldw $7, %si, %di +# CHECK-NEXT: 1 1 1.00 shrdw $7, %si, %di +# CHECK-NEXT: 2 4 2.00 * * shldw $7, %si, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrdw $7, %si, (%rax) +# CHECK-NEXT: 1 1 1.00 shldl %cl, %esi, %edi +# CHECK-NEXT: 1 1 1.00 shrdl %cl, %esi, %edi +# CHECK-NEXT: 2 4 2.00 * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 1 1 1.00 shldl $7, %esi, %edi +# CHECK-NEXT: 1 1 1.00 shrdl $7, %esi, %edi +# CHECK-NEXT: 2 4 2.00 * * shldl $7, %esi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrdl $7, %esi, (%rax) +# CHECK-NEXT: 1 1 1.00 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 1 1 1.00 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 2 4 2.00 * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 1 1.00 shldq $7, %rsi, %rdi +# CHECK-NEXT: 1 1 1.00 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 2 4 2.00 * * shldq $7, %rsi, (%rax) +# CHECK-NEXT: 2 4 2.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 subb $7, %al +# CHECK-NEXT: 1 1 0.50 subb $7, %dil +# CHECK-NEXT: 2 5 2.00 * * subb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subb %dil, %dil +# CHECK-NEXT: 2 5 2.00 * * subb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * subb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 subw $511, %ax +# CHECK-NEXT: 1 1 0.50 subw $511, %di +# CHECK-NEXT: 2 5 2.00 * * subw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 subw $7, %di +# CHECK-NEXT: 2 5 2.00 * * subw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subw %di, %di +# CHECK-NEXT: 2 5 2.00 * * subw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * subw (%rax), %di +# CHECK-NEXT: 1 1 0.50 subl $665536, %eax +# CHECK-NEXT: 1 1 0.50 subl $665536, %edi +# CHECK-NEXT: 2 5 2.00 * * subl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 subl $7, %edi +# CHECK-NEXT: 2 5 2.00 * * subl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subl %edi, %edi +# CHECK-NEXT: 2 5 2.00 * * subl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * subl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 subq $665536, %rax +# CHECK-NEXT: 1 1 0.50 subq $665536, %rdi +# CHECK-NEXT: 2 5 2.00 * * subq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 subq $7, %rdi +# CHECK-NEXT: 2 5 2.00 * * subq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 subq %rdi, %rdi +# CHECK-NEXT: 2 5 2.00 * * subq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * subq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 xorb $7, %al +# CHECK-NEXT: 1 1 0.50 xorb $7, %dil +# CHECK-NEXT: 2 5 2.00 * * xorb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorb %dil, %dil +# CHECK-NEXT: 2 5 2.00 * * xorb %dil, (%rax) +# CHECK-NEXT: 1 4 1.00 * xorb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 xorw $511, %ax +# CHECK-NEXT: 1 1 0.50 xorw $511, %di +# CHECK-NEXT: 2 5 2.00 * * xorw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 xorw $7, %di +# CHECK-NEXT: 2 5 2.00 * * xorw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorw %di, %di +# CHECK-NEXT: 2 5 2.00 * * xorw %di, (%rax) +# CHECK-NEXT: 1 4 1.00 * xorw (%rax), %di +# CHECK-NEXT: 1 1 0.50 xorl $665536, %eax +# CHECK-NEXT: 1 1 0.50 xorl $665536, %edi +# CHECK-NEXT: 2 5 2.00 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 xorl $7, %edi +# CHECK-NEXT: 2 5 2.00 * * xorl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorl %edi, %edi +# CHECK-NEXT: 2 5 2.00 * * xorl %edi, (%rax) +# CHECK-NEXT: 1 4 1.00 * xorl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 xorq $665536, %rax +# CHECK-NEXT: 1 1 0.50 xorq $665536, %rdi +# CHECK-NEXT: 2 5 2.00 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 xorq $7, %rdi +# CHECK-NEXT: 2 5 2.00 * * xorq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 xorq %rdi, %rdi +# CHECK-NEXT: 2 5 2.00 * * xorq %rdi, (%rax) +# CHECK-NEXT: 1 4 1.00 * xorq (%rax), %rdi # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: 400.00 - - - - 391.50 233.50 470.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - - - 0.50 0.50 - adcb $7, %al -# CHECK-NEXT: - - - - - 0.50 0.50 - adcb $7, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcb $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - adcb %dil, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcb %dil, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 adcb (%rax), %dil -# CHECK-NEXT: - - - - - 0.50 0.50 - adcw $511, %ax -# CHECK-NEXT: - - - - - 0.50 0.50 - adcw $511, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcw $511, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - adcw $7, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - adcw %di, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcw %di, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 adcw (%rax), %di -# CHECK-NEXT: - - - - - 0.50 0.50 - adcl $665536, %eax -# CHECK-NEXT: - - - - - 0.50 0.50 - adcl $665536, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcl $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - adcl $7, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - adcl %edi, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcl %edi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 adcl (%rax), %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - adcq $665536, %rax -# CHECK-NEXT: - - - - - 0.50 0.50 - adcq $665536, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcq $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - adcq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - adcq %rdi, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcq %rdi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 adcq (%rax), %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - addb $7, %al -# CHECK-NEXT: - - - - - 0.50 0.50 - addb $7, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addb $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - addb %dil, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addb %dil, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 addb (%rax), %dil -# CHECK-NEXT: - - - - - 0.50 0.50 - addw $511, %ax -# CHECK-NEXT: - - - - - 0.50 0.50 - addw $511, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addw $511, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - addw $7, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - addw %di, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addw %di, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 addw (%rax), %di -# CHECK-NEXT: - - - - - 0.50 0.50 - addl $665536, %eax -# CHECK-NEXT: - - - - - 0.50 0.50 - addl $665536, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addl $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - addl $7, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - addl %edi, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addl %edi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 addl (%rax), %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - addq $665536, %rax -# CHECK-NEXT: - - - - - 0.50 0.50 - addq $665536, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addq $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - addq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - addq %rdi, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addq %rdi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 addq (%rax), %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - andb $7, %al -# CHECK-NEXT: - - - - - 0.50 0.50 - andb $7, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andb $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - andb %dil, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andb %dil, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 andb (%rax), %dil -# CHECK-NEXT: - - - - - 0.50 0.50 - andw $511, %ax -# CHECK-NEXT: - - - - - 0.50 0.50 - andw $511, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andw $511, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - andw $7, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - andw %di, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andw %di, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 andw (%rax), %di -# CHECK-NEXT: - - - - - 0.50 0.50 - andl $665536, %eax -# CHECK-NEXT: - - - - - 0.50 0.50 - andl $665536, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andl $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - andl $7, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - andl %edi, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andl %edi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 andl (%rax), %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - andq $665536, %rax -# CHECK-NEXT: - - - - - 0.50 0.50 - andq $665536, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andq $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - andq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - andq %rdi, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andq %rdi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 andq (%rax), %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - btw %si, %di -# CHECK-NEXT: - - - - - 0.50 0.50 - btcw %si, %di -# CHECK-NEXT: - - - - - 0.50 0.50 - btrw %si, %di -# CHECK-NEXT: - - - - - 0.50 0.50 - btsw %si, %di -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 btw %si, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcw %si, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrw %si, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsw %si, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - btw $7, %di -# CHECK-NEXT: - - - - - 0.50 0.50 - btcw $7, %di -# CHECK-NEXT: - - - - - 0.50 0.50 - btrw $7, %di -# CHECK-NEXT: - - - - - 0.50 0.50 - btsw $7, %di -# CHECK-NEXT: - - - - - 0.50 0.50 - btw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - btl %esi, %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - btcl %esi, %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - btrl %esi, %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - btsl %esi, %edi -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 btl %esi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcl %esi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrl %esi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsl %esi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - btl $7, %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - btcl $7, %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - btrl $7, %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - btsl $7, %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - btl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - btq %rsi, %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - btcq %rsi, %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - btrq %rsi, %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - btsq %rsi, %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 btq %rsi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcq %rsi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrq %rsi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsq %rsi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - btq $7, %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - btcq $7, %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - btrq $7, %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - btsq $7, %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - btq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - decb %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decb (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - decw %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decw (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - decl %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decl (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - decq %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decq (%rax) -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divb %dil -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divb (%rax) -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divw %si -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divw (%rax) -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divl %edx -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divl (%rax) -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divq %rcx -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divq (%rax) -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivb %dil -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivb (%rax) -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivw %si -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivw (%rax) -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivl %edx -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivl (%rax) -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivq %rcx -# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivq (%rax) -# CHECK-NEXT: - - - - - - 1.00 - imulb %dil -# CHECK-NEXT: - - - - - - 1.00 1.00 imulb (%rax) -# CHECK-NEXT: - - - - - - 1.00 - imulw %di -# CHECK-NEXT: - - - - - - 1.00 1.00 imulw (%rax) -# CHECK-NEXT: - - - - - - 1.00 - imulw %di, %di -# CHECK-NEXT: - - - - - - 1.00 1.00 imulw (%rax), %di -# CHECK-NEXT: - - - - - - 1.00 - imulw $511, %di, %di -# CHECK-NEXT: - - - - - - 1.00 1.00 imulw $511, (%rax), %di -# CHECK-NEXT: - - - - - - 1.00 - imulw $7, %di, %di -# CHECK-NEXT: - - - - - - 1.00 1.00 imulw $7, (%rax), %di -# CHECK-NEXT: - - - - - - 1.00 - imull %edi -# CHECK-NEXT: - - - - - - 1.00 1.00 imull (%rax) -# CHECK-NEXT: - - - - - - 1.00 - imull %edi, %edi -# CHECK-NEXT: - - - - - - 1.00 1.00 imull (%rax), %edi -# CHECK-NEXT: - - - - - - 1.00 - imull $665536, %edi, %edi -# CHECK-NEXT: - - - - - - 1.00 1.00 imull $665536, (%rax), %edi -# CHECK-NEXT: - - - - - - 1.00 - imull $7, %edi, %edi -# CHECK-NEXT: - - - - - - 1.00 1.00 imull $7, (%rax), %edi -# CHECK-NEXT: - - - - - - 1.00 - imulq %rdi -# CHECK-NEXT: - - - - - - 1.00 1.00 imulq (%rax) -# CHECK-NEXT: - - - - - - 1.00 - imulq %rdi, %rdi -# CHECK-NEXT: - - - - - - 1.00 1.00 imulq (%rax), %rdi -# CHECK-NEXT: - - - - - - 1.00 - imulq $665536, %rdi, %rdi -# CHECK-NEXT: - - - - - - 1.00 1.00 imulq $665536, (%rax), %rdi -# CHECK-NEXT: - - - - - - 1.00 - imulq $7, %rdi, %rdi -# CHECK-NEXT: - - - - - - 1.00 1.00 imulq $7, (%rax), %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - incb %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incb (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - incw %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incw (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - incl %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incl (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - incq %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incq (%rax) -# CHECK-NEXT: - - - - - - 1.00 - mulb %dil -# CHECK-NEXT: - - - - - - 1.00 1.00 mulb (%rax) -# CHECK-NEXT: - - - - - - 1.00 - mulw %si -# CHECK-NEXT: - - - - - - 1.00 1.00 mulw (%rax) -# CHECK-NEXT: - - - - - - 1.00 - mull %edx -# CHECK-NEXT: - - - - - - 1.00 1.00 mull (%rax) -# CHECK-NEXT: - - - - - - 1.00 - mulq %rcx -# CHECK-NEXT: - - - - - - 1.00 1.00 mulq (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - negb %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negb (%r8) -# CHECK-NEXT: - - - - - 0.50 0.50 - negw %si -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negw (%r9) -# CHECK-NEXT: - - - - - 0.50 0.50 - negl %edx -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negl (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - negq %rcx -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negq (%r10) -# CHECK-NEXT: - - - - - - - - nop -# CHECK-NEXT: - - - - - - - - nopw %di -# CHECK-NEXT: - - - - - - - - nopw (%rcx) -# CHECK-NEXT: - - - - - - - - nopl %esi -# CHECK-NEXT: - - - - - - - - nopl (%r8) -# CHECK-NEXT: - - - - - - - - nopq %rdx -# CHECK-NEXT: - - - - - - - - nopq (%r9) -# CHECK-NEXT: - - - - - 0.50 0.50 - notb %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 notb (%r8) -# CHECK-NEXT: - - - - - 0.50 0.50 - notw %si -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 notw (%r9) -# CHECK-NEXT: - - - - - 0.50 0.50 - notl %edx -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 notl (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - notq %rcx -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 notq (%r10) -# CHECK-NEXT: - - - - - 0.50 0.50 - orb $7, %al -# CHECK-NEXT: - - - - - 0.50 0.50 - orb $7, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orb $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - orb %dil, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orb %dil, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 orb (%rax), %dil -# CHECK-NEXT: - - - - - 0.50 0.50 - orw $511, %ax -# CHECK-NEXT: - - - - - 0.50 0.50 - orw $511, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orw $511, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - orw $7, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - orw %di, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orw %di, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 orw (%rax), %di -# CHECK-NEXT: - - - - - 0.50 0.50 - orl $665536, %eax -# CHECK-NEXT: - - - - - 0.50 0.50 - orl $665536, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orl $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - orl $7, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - orl %edi, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orl %edi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 orl (%rax), %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - orq $665536, %rax -# CHECK-NEXT: - - - - - 0.50 0.50 - orq $665536, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orq $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - orq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - orq %rdi, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orq %rdi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 orq (%rax), %rdi -# CHECK-NEXT: - - - - - 1.00 - - rclb %dil -# CHECK-NEXT: - - - - - 1.00 - - rcrb %dil -# CHECK-NEXT: - - - - - 1.00 - 2.00 rclb (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrb (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rclb $7, %dil -# CHECK-NEXT: - - - - - 1.00 - - rcrb $7, %dil -# CHECK-NEXT: - - - - - 1.00 - 2.00 rclb $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrb $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rclb %cl, %dil -# CHECK-NEXT: - - - - - 1.00 - - rcrb %cl, %dil -# CHECK-NEXT: - - - - - 1.00 - 2.00 rclb %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrb %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rclw %di -# CHECK-NEXT: - - - - - 1.00 - - rcrw %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 rclw (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrw (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rclw $7, %di -# CHECK-NEXT: - - - - - 1.00 - - rcrw $7, %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 rclw $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrw $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rclw %cl, %di -# CHECK-NEXT: - - - - - 1.00 - - rcrw %cl, %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 rclw %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrw %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rcll %edi -# CHECK-NEXT: - - - - - 1.00 - - rcrl %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcll (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrl (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rcll $7, %edi -# CHECK-NEXT: - - - - - 1.00 - - rcrl $7, %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcll $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrl $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rcll %cl, %edi -# CHECK-NEXT: - - - - - 1.00 - - rcrl %cl, %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcll %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrl %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rclq %rdi -# CHECK-NEXT: - - - - - 1.00 - - rcrq %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 rclq (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrq (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rclq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 - - rcrq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 rclq $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrq $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rclq %cl, %rdi -# CHECK-NEXT: - - - - - 1.00 - - rcrq %cl, %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 rclq %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrq %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rolb %dil -# CHECK-NEXT: - - - - - 1.00 - - rorb %dil -# CHECK-NEXT: - - - - - 1.00 - 2.00 rolb (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorb (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rolb $7, %dil -# CHECK-NEXT: - - - - - 1.00 - - rorb $7, %dil -# CHECK-NEXT: - - - - - 1.00 - 2.00 rolb $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorb $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rolb %cl, %dil -# CHECK-NEXT: - - - - - 1.00 - - rorb %cl, %dil -# CHECK-NEXT: - - - - - 1.00 - 2.00 rolb %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorb %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rolw %di -# CHECK-NEXT: - - - - - 1.00 - - rorw %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 rolw (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorw (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rolw $7, %di -# CHECK-NEXT: - - - - - 1.00 - - rorw $7, %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 rolw $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorw $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rolw %cl, %di -# CHECK-NEXT: - - - - - 1.00 - - rorw %cl, %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 rolw %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorw %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - roll %edi -# CHECK-NEXT: - - - - - 1.00 - - rorl %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 roll (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorl (%rax) -# CHECK-NEXT: - - - - - 1.00 - - roll $7, %edi -# CHECK-NEXT: - - - - - 1.00 - - rorl $7, %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 roll $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorl $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - roll %cl, %edi -# CHECK-NEXT: - - - - - 1.00 - - rorl %cl, %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 roll %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorl %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rolq %rdi -# CHECK-NEXT: - - - - - 1.00 - - rorq %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 rolq (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorq (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rolq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 - - rorq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 rolq $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorq $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - rolq %cl, %rdi -# CHECK-NEXT: - - - - - 1.00 - - rorq %cl, %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 rolq %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 rorq %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarb %dil -# CHECK-NEXT: - - - - - 1.00 - - shlb %dil -# CHECK-NEXT: - - - - - 1.00 - - shrb %dil -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarb (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shlb (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrb (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarb $7, %dil -# CHECK-NEXT: - - - - - 1.00 - - shlb $7, %dil -# CHECK-NEXT: - - - - - 1.00 - - shrb $7, %dil -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarb $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shlb $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrb $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarb %cl, %dil -# CHECK-NEXT: - - - - - 1.00 - - shlb %cl, %dil -# CHECK-NEXT: - - - - - 1.00 - - shrb %cl, %dil -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarb %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shlb %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrb %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarw %di -# CHECK-NEXT: - - - - - 1.00 - - shlw %di -# CHECK-NEXT: - - - - - 1.00 - - shrw %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarw (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shlw (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrw (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarw $7, %di -# CHECK-NEXT: - - - - - 1.00 - - shlw $7, %di -# CHECK-NEXT: - - - - - 1.00 - - shrw $7, %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarw $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shlw $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrw $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarw %cl, %di -# CHECK-NEXT: - - - - - 1.00 - - shlw %cl, %di -# CHECK-NEXT: - - - - - 1.00 - - shrw %cl, %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarw %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shlw %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrw %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarl %edi -# CHECK-NEXT: - - - - - 1.00 - - shll %edi -# CHECK-NEXT: - - - - - 1.00 - - shrl %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarl (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shll (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrl (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarl $7, %edi -# CHECK-NEXT: - - - - - 1.00 - - shll $7, %edi -# CHECK-NEXT: - - - - - 1.00 - - shrl $7, %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarl $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shll $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrl $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarl %cl, %edi -# CHECK-NEXT: - - - - - 1.00 - - shll %cl, %edi -# CHECK-NEXT: - - - - - 1.00 - - shrl %cl, %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarl %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shll %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrl %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarq %rdi -# CHECK-NEXT: - - - - - 1.00 - - shlq %rdi -# CHECK-NEXT: - - - - - 1.00 - - shrq %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarq (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shlq (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrq (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 - - shlq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 - - shrq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarq $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shlq $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrq $7, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - sarq %cl, %rdi -# CHECK-NEXT: - - - - - 1.00 - - shlq %cl, %rdi -# CHECK-NEXT: - - - - - 1.00 - - shrq %cl, %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 sarq %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shlq %cl, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrq %cl, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbb $7, %al -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbb $7, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbb $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbb %dil, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbb %dil, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 sbbb (%rax), %dil -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbw $511, %ax -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbw $511, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbw $511, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbw $7, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbw %di, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbw %di, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 sbbw (%rax), %di -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbl $665536, %eax -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbl $665536, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbl $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbl $7, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbl %edi, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbl %edi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 sbbl (%rax), %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbq $665536, %rax -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbq $665536, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbq $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - sbbq %rdi, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbq %rdi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 sbbq (%rax), %rdi -# CHECK-NEXT: - - - - - 1.00 - - shldw %cl, %si, %di -# CHECK-NEXT: - - - - - 1.00 - - shrdw %cl, %si, %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 shldw %cl, %si, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdw %cl, %si, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - shldw $7, %si, %di -# CHECK-NEXT: - - - - - 1.00 - - shrdw $7, %si, %di -# CHECK-NEXT: - - - - - 1.00 - 2.00 shldw $7, %si, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdw $7, %si, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - shldl %cl, %esi, %edi -# CHECK-NEXT: - - - - - 1.00 - - shrdl %cl, %esi, %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 shldl %cl, %esi, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdl %cl, %esi, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - shldl $7, %esi, %edi -# CHECK-NEXT: - - - - - 1.00 - - shrdl $7, %esi, %edi -# CHECK-NEXT: - - - - - 1.00 - 2.00 shldl $7, %esi, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdl $7, %esi, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - shldq %cl, %rsi, %rdi -# CHECK-NEXT: - - - - - 1.00 - - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 shldq %cl, %rsi, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - shldq $7, %rsi, %rdi -# CHECK-NEXT: - - - - - 1.00 - - shrdq $7, %rsi, %rdi -# CHECK-NEXT: - - - - - 1.00 - 2.00 shldq $7, %rsi, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdq $7, %rsi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - subb $7, %al -# CHECK-NEXT: - - - - - 0.50 0.50 - subb $7, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subb $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - subb %dil, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subb %dil, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 subb (%rax), %dil -# CHECK-NEXT: - - - - - 0.50 0.50 - subw $511, %ax -# CHECK-NEXT: - - - - - 0.50 0.50 - subw $511, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subw $511, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - subw $7, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - subw %di, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subw %di, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 subw (%rax), %di -# CHECK-NEXT: - - - - - 0.50 0.50 - subl $665536, %eax -# CHECK-NEXT: - - - - - 0.50 0.50 - subl $665536, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subl $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - subl $7, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - subl %edi, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subl %edi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 subl (%rax), %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - subq $665536, %rax -# CHECK-NEXT: - - - - - 0.50 0.50 - subq $665536, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subq $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - subq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - subq %rdi, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subq %rdi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 subq (%rax), %rdi -# CHECK-NEXT: - - - - - 0.50 0.50 - xorb $7, %al -# CHECK-NEXT: - - - - - 0.50 0.50 - xorb $7, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorb $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - xorb %dil, %dil -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorb %dil, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 xorb (%rax), %dil -# CHECK-NEXT: - - - - - 0.50 0.50 - xorw $511, %ax -# CHECK-NEXT: - - - - - 0.50 0.50 - xorw $511, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorw $511, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - xorw $7, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorw $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - xorw %di, %di -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorw %di, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 xorw (%rax), %di -# CHECK-NEXT: - - - - - 0.50 0.50 - xorl $665536, %eax -# CHECK-NEXT: - - - - - 0.50 0.50 - xorl $665536, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorl $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - xorl $7, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorl $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - xorl %edi, %edi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorl %edi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 xorl (%rax), %edi -# CHECK-NEXT: - - - - - 0.50 0.50 - xorq $665536, %rax -# CHECK-NEXT: - - - - - 0.50 0.50 - xorq $665536, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorq $665536, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - xorq $7, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorq $7, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 - xorq %rdi, %rdi -# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorq %rdi, (%rax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 xorq (%rax), %rdi +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - - - 0.50 0.50 - adcb $7, %al +# CHECK-NEXT: - - - - - 0.50 0.50 - adcb $7, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcb $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - adcb %dil, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcb %dil, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 adcb (%rax), %dil +# CHECK-NEXT: - - - - - 0.50 0.50 - adcw $511, %ax +# CHECK-NEXT: - - - - - 0.50 0.50 - adcw $511, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcw $511, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - adcw $7, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - adcw %di, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcw %di, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 adcw (%rax), %di +# CHECK-NEXT: - - - - - 0.50 0.50 - adcl $665536, %eax +# CHECK-NEXT: - - - - - 0.50 0.50 - adcl $665536, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcl $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - adcl $7, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - adcl %edi, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcl %edi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 adcl (%rax), %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - adcq $665536, %rax +# CHECK-NEXT: - - - - - 0.50 0.50 - adcq $665536, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcq $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - adcq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - adcq %rdi, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 adcq %rdi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 adcq (%rax), %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - addb $7, %al +# CHECK-NEXT: - - - - - 0.50 0.50 - addb $7, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addb $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - addb %dil, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addb %dil, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 addb (%rax), %dil +# CHECK-NEXT: - - - - - 0.50 0.50 - addw $511, %ax +# CHECK-NEXT: - - - - - 0.50 0.50 - addw $511, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addw $511, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - addw $7, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - addw %di, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addw %di, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 addw (%rax), %di +# CHECK-NEXT: - - - - - 0.50 0.50 - addl $665536, %eax +# CHECK-NEXT: - - - - - 0.50 0.50 - addl $665536, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addl $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - addl $7, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - addl %edi, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addl %edi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 addl (%rax), %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - addq $665536, %rax +# CHECK-NEXT: - - - - - 0.50 0.50 - addq $665536, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addq $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - addq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - addq %rdi, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 addq %rdi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 addq (%rax), %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - andb $7, %al +# CHECK-NEXT: - - - - - 0.50 0.50 - andb $7, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andb $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - andb %dil, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andb %dil, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 andb (%rax), %dil +# CHECK-NEXT: - - - - - 0.50 0.50 - andw $511, %ax +# CHECK-NEXT: - - - - - 0.50 0.50 - andw $511, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andw $511, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - andw $7, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - andw %di, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andw %di, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 andw (%rax), %di +# CHECK-NEXT: - - - - - 0.50 0.50 - andl $665536, %eax +# CHECK-NEXT: - - - - - 0.50 0.50 - andl $665536, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andl $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - andl $7, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - andl %edi, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andl %edi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 andl (%rax), %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - andq $665536, %rax +# CHECK-NEXT: - - - - - 0.50 0.50 - andq $665536, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andq $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - andq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - andq %rdi, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 andq %rdi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 andq (%rax), %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - btw %si, %di +# CHECK-NEXT: - - - - - 0.50 0.50 - btcw %si, %di +# CHECK-NEXT: - - - - - 0.50 0.50 - btrw %si, %di +# CHECK-NEXT: - - - - - 0.50 0.50 - btsw %si, %di +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 btw %si, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcw %si, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrw %si, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsw %si, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - btw $7, %di +# CHECK-NEXT: - - - - - 0.50 0.50 - btcw $7, %di +# CHECK-NEXT: - - - - - 0.50 0.50 - btrw $7, %di +# CHECK-NEXT: - - - - - 0.50 0.50 - btsw $7, %di +# CHECK-NEXT: - - - - - 0.50 0.50 - btw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - btl %esi, %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - btcl %esi, %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - btrl %esi, %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - btsl %esi, %edi +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 btl %esi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcl %esi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrl %esi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsl %esi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - btl $7, %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - btcl $7, %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - btrl $7, %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - btsl $7, %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - btl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - btq %rsi, %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - btcq %rsi, %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - btrq %rsi, %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - btsq %rsi, %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 btq %rsi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcq %rsi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrq %rsi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsq %rsi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - btq $7, %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - btcq $7, %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - btrq $7, %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - btsq $7, %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - btq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - decb %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decb (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - decw %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decw (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - decl %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decl (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - decq %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decq (%rax) +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divb %dil +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divb (%rax) +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divw %si +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divw (%rax) +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divl %edx +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divl (%rax) +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - divq %rcx +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 divq (%rax) +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivb %dil +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivb (%rax) +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivw %si +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivw (%rax) +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivl %edx +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivl (%rax) +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 - idivq %rcx +# CHECK-NEXT: 25.00 - - - - 0.50 0.50 1.00 idivq (%rax) +# CHECK-NEXT: - - - - - - 1.00 - imulb %dil +# CHECK-NEXT: - - - - - - 1.00 1.00 imulb (%rax) +# CHECK-NEXT: - - - - - - 1.00 - imulw %di +# CHECK-NEXT: - - - - - - 1.00 1.00 imulw (%rax) +# CHECK-NEXT: - - - - - - 1.00 - imulw %di, %di +# CHECK-NEXT: - - - - - - 1.00 1.00 imulw (%rax), %di +# CHECK-NEXT: - - - - - - 1.00 - imulw $511, %di, %di +# CHECK-NEXT: - - - - - - 1.00 1.00 imulw $511, (%rax), %di +# CHECK-NEXT: - - - - - - 1.00 - imulw $7, %di, %di +# CHECK-NEXT: - - - - - - 1.00 1.00 imulw $7, (%rax), %di +# CHECK-NEXT: - - - - - - 1.00 - imull %edi +# CHECK-NEXT: - - - - - - 1.00 1.00 imull (%rax) +# CHECK-NEXT: - - - - - - 1.00 - imull %edi, %edi +# CHECK-NEXT: - - - - - - 1.00 1.00 imull (%rax), %edi +# CHECK-NEXT: - - - - - - 1.00 - imull $665536, %edi, %edi +# CHECK-NEXT: - - - - - - 1.00 1.00 imull $665536, (%rax), %edi +# CHECK-NEXT: - - - - - - 1.00 - imull $7, %edi, %edi +# CHECK-NEXT: - - - - - - 1.00 1.00 imull $7, (%rax), %edi +# CHECK-NEXT: - - - - - - 1.00 - imulq %rdi +# CHECK-NEXT: - - - - - - 1.00 1.00 imulq (%rax) +# CHECK-NEXT: - - - - - - 1.00 - imulq %rdi, %rdi +# CHECK-NEXT: - - - - - - 1.00 1.00 imulq (%rax), %rdi +# CHECK-NEXT: - - - - - - 1.00 - imulq $665536, %rdi, %rdi +# CHECK-NEXT: - - - - - - 1.00 1.00 imulq $665536, (%rax), %rdi +# CHECK-NEXT: - - - - - - 1.00 - imulq $7, %rdi, %rdi +# CHECK-NEXT: - - - - - - 1.00 1.00 imulq $7, (%rax), %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - incb %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incb (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - incw %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incw (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - incl %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incl (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - incq %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incq (%rax) +# CHECK-NEXT: - - - - - - 1.00 - mulb %dil +# CHECK-NEXT: - - - - - - 1.00 1.00 mulb (%rax) +# CHECK-NEXT: - - - - - - 1.00 - mulw %si +# CHECK-NEXT: - - - - - - 1.00 1.00 mulw (%rax) +# CHECK-NEXT: - - - - - - 1.00 - mull %edx +# CHECK-NEXT: - - - - - - 1.00 1.00 mull (%rax) +# CHECK-NEXT: - - - - - - 1.00 - mulq %rcx +# CHECK-NEXT: - - - - - - 1.00 1.00 mulq (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - negb %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negb (%r8) +# CHECK-NEXT: - - - - - 0.50 0.50 - negw %si +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negw (%r9) +# CHECK-NEXT: - - - - - 0.50 0.50 - negl %edx +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negl (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - negq %rcx +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 negq (%r10) +# CHECK-NEXT: - - - - - - - - nop +# CHECK-NEXT: - - - - - - - - nopw %di +# CHECK-NEXT: - - - - - - - - nopw (%rcx) +# CHECK-NEXT: - - - - - - - - nopl %esi +# CHECK-NEXT: - - - - - - - - nopl (%r8) +# CHECK-NEXT: - - - - - - - - nopq %rdx +# CHECK-NEXT: - - - - - - - - nopq (%r9) +# CHECK-NEXT: - - - - - 0.50 0.50 - notb %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 notb (%r8) +# CHECK-NEXT: - - - - - 0.50 0.50 - notw %si +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 notw (%r9) +# CHECK-NEXT: - - - - - 0.50 0.50 - notl %edx +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 notl (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - notq %rcx +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 notq (%r10) +# CHECK-NEXT: - - - - - 0.50 0.50 - orb $7, %al +# CHECK-NEXT: - - - - - 0.50 0.50 - orb $7, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orb $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - orb %dil, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orb %dil, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 orb (%rax), %dil +# CHECK-NEXT: - - - - - 0.50 0.50 - orw $511, %ax +# CHECK-NEXT: - - - - - 0.50 0.50 - orw $511, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orw $511, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - orw $7, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - orw %di, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orw %di, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 orw (%rax), %di +# CHECK-NEXT: - - - - - 0.50 0.50 - orl $665536, %eax +# CHECK-NEXT: - - - - - 0.50 0.50 - orl $665536, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orl $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - orl $7, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - orl %edi, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orl %edi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 orl (%rax), %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - orq $665536, %rax +# CHECK-NEXT: - - - - - 0.50 0.50 - orq $665536, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orq $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - orq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - orq %rdi, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 orq %rdi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 orq (%rax), %rdi +# CHECK-NEXT: - - - - - 1.00 - - rclb %dil +# CHECK-NEXT: - - - - - 1.00 - - rcrb %dil +# CHECK-NEXT: - - - - - 1.00 - 2.00 rclb (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrb (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rclb $7, %dil +# CHECK-NEXT: - - - - - 1.00 - - rcrb $7, %dil +# CHECK-NEXT: - - - - - 1.00 - 2.00 rclb $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrb $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rclb %cl, %dil +# CHECK-NEXT: - - - - - 1.00 - - rcrb %cl, %dil +# CHECK-NEXT: - - - - - 1.00 - 2.00 rclb %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrb %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rclw %di +# CHECK-NEXT: - - - - - 1.00 - - rcrw %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 rclw (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrw (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rclw $7, %di +# CHECK-NEXT: - - - - - 1.00 - - rcrw $7, %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 rclw $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrw $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rclw %cl, %di +# CHECK-NEXT: - - - - - 1.00 - - rcrw %cl, %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 rclw %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrw %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rcll %edi +# CHECK-NEXT: - - - - - 1.00 - - rcrl %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcll (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrl (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rcll $7, %edi +# CHECK-NEXT: - - - - - 1.00 - - rcrl $7, %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcll $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrl $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rcll %cl, %edi +# CHECK-NEXT: - - - - - 1.00 - - rcrl %cl, %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcll %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrl %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rclq %rdi +# CHECK-NEXT: - - - - - 1.00 - - rcrq %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 rclq (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrq (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rclq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 - - rcrq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 rclq $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrq $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rclq %cl, %rdi +# CHECK-NEXT: - - - - - 1.00 - - rcrq %cl, %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 rclq %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rcrq %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rolb %dil +# CHECK-NEXT: - - - - - 1.00 - - rorb %dil +# CHECK-NEXT: - - - - - 1.00 - 2.00 rolb (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorb (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rolb $7, %dil +# CHECK-NEXT: - - - - - 1.00 - - rorb $7, %dil +# CHECK-NEXT: - - - - - 1.00 - 2.00 rolb $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorb $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rolb %cl, %dil +# CHECK-NEXT: - - - - - 1.00 - - rorb %cl, %dil +# CHECK-NEXT: - - - - - 1.00 - 2.00 rolb %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorb %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rolw %di +# CHECK-NEXT: - - - - - 1.00 - - rorw %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 rolw (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorw (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rolw $7, %di +# CHECK-NEXT: - - - - - 1.00 - - rorw $7, %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 rolw $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorw $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rolw %cl, %di +# CHECK-NEXT: - - - - - 1.00 - - rorw %cl, %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 rolw %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorw %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - roll %edi +# CHECK-NEXT: - - - - - 1.00 - - rorl %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 roll (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorl (%rax) +# CHECK-NEXT: - - - - - 1.00 - - roll $7, %edi +# CHECK-NEXT: - - - - - 1.00 - - rorl $7, %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 roll $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorl $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - roll %cl, %edi +# CHECK-NEXT: - - - - - 1.00 - - rorl %cl, %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 roll %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorl %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rolq %rdi +# CHECK-NEXT: - - - - - 1.00 - - rorq %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 rolq (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorq (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rolq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 - - rorq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 rolq $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorq $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - rolq %cl, %rdi +# CHECK-NEXT: - - - - - 1.00 - - rorq %cl, %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 rolq %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 rorq %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarb %dil +# CHECK-NEXT: - - - - - 1.00 - - shlb %dil +# CHECK-NEXT: - - - - - 1.00 - - shrb %dil +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarb (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shlb (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrb (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarb $7, %dil +# CHECK-NEXT: - - - - - 1.00 - - shlb $7, %dil +# CHECK-NEXT: - - - - - 1.00 - - shrb $7, %dil +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarb $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shlb $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrb $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarb %cl, %dil +# CHECK-NEXT: - - - - - 1.00 - - shlb %cl, %dil +# CHECK-NEXT: - - - - - 1.00 - - shrb %cl, %dil +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarb %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shlb %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrb %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarw %di +# CHECK-NEXT: - - - - - 1.00 - - shlw %di +# CHECK-NEXT: - - - - - 1.00 - - shrw %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarw (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shlw (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrw (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarw $7, %di +# CHECK-NEXT: - - - - - 1.00 - - shlw $7, %di +# CHECK-NEXT: - - - - - 1.00 - - shrw $7, %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarw $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shlw $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrw $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarw %cl, %di +# CHECK-NEXT: - - - - - 1.00 - - shlw %cl, %di +# CHECK-NEXT: - - - - - 1.00 - - shrw %cl, %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarw %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shlw %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrw %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarl %edi +# CHECK-NEXT: - - - - - 1.00 - - shll %edi +# CHECK-NEXT: - - - - - 1.00 - - shrl %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarl (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shll (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrl (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarl $7, %edi +# CHECK-NEXT: - - - - - 1.00 - - shll $7, %edi +# CHECK-NEXT: - - - - - 1.00 - - shrl $7, %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarl $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shll $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrl $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarl %cl, %edi +# CHECK-NEXT: - - - - - 1.00 - - shll %cl, %edi +# CHECK-NEXT: - - - - - 1.00 - - shrl %cl, %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarl %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shll %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrl %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarq %rdi +# CHECK-NEXT: - - - - - 1.00 - - shlq %rdi +# CHECK-NEXT: - - - - - 1.00 - - shrq %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarq (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shlq (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrq (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 - - shlq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 - - shrq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarq $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shlq $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrq $7, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - sarq %cl, %rdi +# CHECK-NEXT: - - - - - 1.00 - - shlq %cl, %rdi +# CHECK-NEXT: - - - - - 1.00 - - shrq %cl, %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 sarq %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shlq %cl, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrq %cl, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbb $7, %al +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbb $7, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbb $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbb %dil, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbb %dil, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 sbbb (%rax), %dil +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbw $511, %ax +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbw $511, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbw $511, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbw $7, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbw %di, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbw %di, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 sbbw (%rax), %di +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbl $665536, %eax +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbl $665536, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbl $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbl $7, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbl %edi, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbl %edi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 sbbl (%rax), %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbq $665536, %rax +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbq $665536, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbq $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - sbbq %rdi, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 sbbq %rdi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 sbbq (%rax), %rdi +# CHECK-NEXT: - - - - - 1.00 - - shldw %cl, %si, %di +# CHECK-NEXT: - - - - - 1.00 - - shrdw %cl, %si, %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 shldw %cl, %si, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdw %cl, %si, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - shldw $7, %si, %di +# CHECK-NEXT: - - - - - 1.00 - - shrdw $7, %si, %di +# CHECK-NEXT: - - - - - 1.00 - 2.00 shldw $7, %si, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdw $7, %si, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - shldl %cl, %esi, %edi +# CHECK-NEXT: - - - - - 1.00 - - shrdl %cl, %esi, %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 shldl %cl, %esi, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdl %cl, %esi, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - shldl $7, %esi, %edi +# CHECK-NEXT: - - - - - 1.00 - - shrdl $7, %esi, %edi +# CHECK-NEXT: - - - - - 1.00 - 2.00 shldl $7, %esi, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdl $7, %esi, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - shldq %cl, %rsi, %rdi +# CHECK-NEXT: - - - - - 1.00 - - shrdq %cl, %rsi, %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 shldq %cl, %rsi, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - shldq $7, %rsi, %rdi +# CHECK-NEXT: - - - - - 1.00 - - shrdq $7, %rsi, %rdi +# CHECK-NEXT: - - - - - 1.00 - 2.00 shldq $7, %rsi, (%rax) +# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - subb $7, %al +# CHECK-NEXT: - - - - - 0.50 0.50 - subb $7, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subb $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - subb %dil, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subb %dil, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 subb (%rax), %dil +# CHECK-NEXT: - - - - - 0.50 0.50 - subw $511, %ax +# CHECK-NEXT: - - - - - 0.50 0.50 - subw $511, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subw $511, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - subw $7, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - subw %di, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subw %di, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 subw (%rax), %di +# CHECK-NEXT: - - - - - 0.50 0.50 - subl $665536, %eax +# CHECK-NEXT: - - - - - 0.50 0.50 - subl $665536, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subl $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - subl $7, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - subl %edi, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subl %edi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 subl (%rax), %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - subq $665536, %rax +# CHECK-NEXT: - - - - - 0.50 0.50 - subq $665536, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subq $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - subq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - subq %rdi, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subq %rdi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 subq (%rax), %rdi +# CHECK-NEXT: - - - - - 0.50 0.50 - xorb $7, %al +# CHECK-NEXT: - - - - - 0.50 0.50 - xorb $7, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorb $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - xorb %dil, %dil +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorb %dil, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 xorb (%rax), %dil +# CHECK-NEXT: - - - - - 0.50 0.50 - xorw $511, %ax +# CHECK-NEXT: - - - - - 0.50 0.50 - xorw $511, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorw $511, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - xorw $7, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorw $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - xorw %di, %di +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorw %di, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 xorw (%rax), %di +# CHECK-NEXT: - - - - - 0.50 0.50 - xorl $665536, %eax +# CHECK-NEXT: - - - - - 0.50 0.50 - xorl $665536, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorl $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - xorl $7, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorl $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - xorl %edi, %edi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorl %edi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 xorl (%rax), %edi +# CHECK-NEXT: - - - - - 0.50 0.50 - xorq $665536, %rax +# CHECK-NEXT: - - - - - 0.50 0.50 - xorq $665536, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorq $665536, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - xorq $7, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorq $7, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 - xorq %rdi, %rdi +# CHECK-NEXT: - - - - - 1.00 1.00 2.00 xorq %rdi, (%rax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 xorq (%rax), %rdi diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s index 579530c..d336c14 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s @@ -205,318 +205,318 @@ fyl2xp1 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 1.00 * f2xm1 -# CHECK-NEXT: 1 1 0.50 * fabs -# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fadd %st(2) -# CHECK-NEXT: 1 6 1.00 * * fadds (%ecx) -# CHECK-NEXT: 1 6 1.00 * * faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 * faddp %st(1) -# CHECK-NEXT: 1 3 1.00 * faddp %st(2) -# CHECK-NEXT: 1 6 1.00 * * fiadds (%ecx) -# CHECK-NEXT: 1 6 1.00 * * fiaddl (%ecx) -# CHECK-NEXT: 1 100 1.00 * fbld (%ecx) -# CHECK-NEXT: 1 100 1.00 * fbstp (%eax) -# CHECK-NEXT: 1 1 0.50 * fchs -# CHECK-NEXT: 1 100 1.00 * fnclex -# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcom %st(1) -# CHECK-NEXT: 1 3 1.00 * fcom %st(3) -# CHECK-NEXT: 1 6 1.00 * fcoms (%ecx) -# CHECK-NEXT: 1 6 1.00 * fcoml (%eax) -# CHECK-NEXT: 1 3 1.00 * fcomp %st(1) -# CHECK-NEXT: 1 3 1.00 * fcomp %st(3) -# CHECK-NEXT: 1 6 1.00 * fcomps (%ecx) -# CHECK-NEXT: 1 6 1.00 * fcompl (%eax) -# CHECK-NEXT: 1 100 1.00 * fcompp -# CHECK-NEXT: 1 3 1.00 * fcomi %st(3) -# CHECK-NEXT: 1 3 1.00 * fcompi %st(3) -# CHECK-NEXT: 1 100 1.00 * fcos -# CHECK-NEXT: 1 100 1.00 * fdecstp -# CHECK-NEXT: 1 19 17.00 * fdiv %st(0), %st(1) -# CHECK-NEXT: 1 19 17.00 * fdiv %st(2) -# CHECK-NEXT: 1 22 17.00 * * fdivs (%ecx) -# CHECK-NEXT: 1 22 17.00 * * fdivl (%eax) -# CHECK-NEXT: 1 19 17.00 * fdivp %st(1) -# CHECK-NEXT: 1 19 17.00 * fdivp %st(2) -# CHECK-NEXT: 1 22 17.00 * * fidivs (%ecx) -# CHECK-NEXT: 1 22 17.00 * * fidivl (%eax) -# CHECK-NEXT: 1 19 17.00 * fdivr %st(0), %st(1) -# CHECK-NEXT: 1 19 17.00 * fdivr %st(2) -# CHECK-NEXT: 1 22 17.00 * * fdivrs (%ecx) -# CHECK-NEXT: 1 22 17.00 * * fdivrl (%eax) -# CHECK-NEXT: 1 19 17.00 * fdivrp %st(1) -# CHECK-NEXT: 1 19 17.00 * fdivrp %st(2) -# CHECK-NEXT: 1 22 17.00 * * fidivrs (%ecx) -# CHECK-NEXT: 1 22 17.00 * * fidivrl (%eax) -# CHECK-NEXT: 1 100 1.00 * ffree %st(0) -# CHECK-NEXT: 1 6 1.00 * ficoms (%ecx) -# CHECK-NEXT: 1 6 1.00 * ficoml (%eax) -# CHECK-NEXT: 1 6 1.00 * ficomps (%ecx) -# CHECK-NEXT: 1 6 1.00 * ficompl (%eax) -# CHECK-NEXT: 1 3 1.00 * * filds (%edx) -# CHECK-NEXT: 1 3 1.00 * * fildl (%ecx) -# CHECK-NEXT: 1 3 1.00 * * fildll (%eax) -# CHECK-NEXT: 1 100 1.00 * fincstp -# CHECK-NEXT: 1 100 1.00 * fninit -# CHECK-NEXT: 1 1 1.00 * * fists (%edx) -# CHECK-NEXT: 1 1 1.00 * * fistl (%ecx) -# CHECK-NEXT: 1 1 1.00 * * fistps (%edx) -# CHECK-NEXT: 1 1 1.00 * * fistpl (%ecx) -# CHECK-NEXT: 1 1 1.00 * * fistpll (%eax) -# CHECK-NEXT: 1 1 1.00 * * fisttps (%edx) -# CHECK-NEXT: 1 1 1.00 * * fisttpl (%ecx) -# CHECK-NEXT: 1 1 1.00 * * fisttpll (%eax) -# CHECK-NEXT: 1 1 0.50 * fld %st(0) -# CHECK-NEXT: 1 3 1.00 * * flds (%edx) -# CHECK-NEXT: 1 3 1.00 * * fldl (%ecx) -# CHECK-NEXT: 1 3 1.00 * * fldt (%eax) -# CHECK-NEXT: 1 3 1.00 * * fldcw (%eax) -# CHECK-NEXT: 1 100 1.00 * fldenv (%eax) -# CHECK-NEXT: 1 1 - * fld1 -# CHECK-NEXT: 1 100 1.00 * fldl2e -# CHECK-NEXT: 1 100 1.00 * fldl2t -# CHECK-NEXT: 1 100 1.00 * fldlg2 -# CHECK-NEXT: 1 100 1.00 * fldln2 -# CHECK-NEXT: 1 100 1.00 * fldpi -# CHECK-NEXT: 1 1 - * fldz -# CHECK-NEXT: 1 5 2.00 * fmul %st(0), %st(1) -# CHECK-NEXT: 1 5 2.00 * fmul %st(2) -# CHECK-NEXT: 1 8 2.00 * * fmuls (%ecx) -# CHECK-NEXT: 1 8 2.00 * * fmull (%eax) -# CHECK-NEXT: 1 5 2.00 * fmulp %st(1) -# CHECK-NEXT: 1 5 2.00 * fmulp %st(2) -# CHECK-NEXT: 1 8 2.00 * * fimuls (%ecx) -# CHECK-NEXT: 1 8 2.00 * * fimull (%eax) -# CHECK-NEXT: 1 1 - * fnop -# CHECK-NEXT: 1 100 1.00 * fpatan -# CHECK-NEXT: 1 100 1.00 * fprem -# CHECK-NEXT: 1 100 1.00 * fprem1 -# CHECK-NEXT: 1 100 1.00 * fptan -# CHECK-NEXT: 1 100 1.00 * frndint -# CHECK-NEXT: 1 100 1.00 * frstor (%eax) -# CHECK-NEXT: 1 100 1.00 * fnsave (%eax) -# CHECK-NEXT: 1 100 1.00 * fscale -# CHECK-NEXT: 1 100 1.00 * fsin -# CHECK-NEXT: 1 100 1.00 * fsincos -# CHECK-NEXT: 1 40 40.00 * fsqrt -# CHECK-NEXT: 1 1 0.50 * fst %st(0) -# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) -# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) -# CHECK-NEXT: 1 1 0.50 * fstp %st(0) -# CHECK-NEXT: 1 1 1.00 * * fstpl (%edx) -# CHECK-NEXT: 1 1 1.00 * * fstpl (%ecx) -# CHECK-NEXT: 1 1 1.00 * * fstpt (%eax) -# CHECK-NEXT: 1 1 0.50 * * fnstcw (%eax) -# CHECK-NEXT: 1 100 1.00 * fnstenv (%eax) -# CHECK-NEXT: 1 100 1.00 * fnstsw (%eax) -# CHECK-NEXT: 1 100 1.00 * frstor (%eax) -# CHECK-NEXT: 1 100 1.00 * wait -# CHECK-NEXT: 1 100 1.00 * fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsub %st(2) -# CHECK-NEXT: 1 6 1.00 * * fsubs (%ecx) -# CHECK-NEXT: 1 6 1.00 * * fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) -# CHECK-NEXT: 1 6 1.00 * * fisubs (%ecx) -# CHECK-NEXT: 1 6 1.00 * * fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) -# CHECK-NEXT: 1 6 1.00 * * fsubrs (%ecx) -# CHECK-NEXT: 1 6 1.00 * * fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) -# CHECK-NEXT: 1 6 1.00 * * fisubrs (%ecx) -# CHECK-NEXT: 1 6 1.00 * * fisubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * ftst -# CHECK-NEXT: 1 3 1.00 * fucom %st(1) -# CHECK-NEXT: 1 3 1.00 * fucom %st(3) -# CHECK-NEXT: 1 3 1.00 * fucomp %st(1) -# CHECK-NEXT: 1 3 1.00 * fucomp %st(3) -# CHECK-NEXT: 1 3 1.00 * fucompp -# CHECK-NEXT: 1 3 1.00 * fucomi %st(3) -# CHECK-NEXT: 1 3 1.00 * fucompi %st(3) -# CHECK-NEXT: 1 100 1.00 * wait -# CHECK-NEXT: 1 100 1.00 * fxam -# CHECK-NEXT: 1 1 0.50 * fxch %st(1) -# CHECK-NEXT: 1 1 0.50 * fxch %st(3) -# CHECK-NEXT: 1 100 1.00 * * * fxrstor (%eax) -# CHECK-NEXT: 1 100 1.00 * * * fxsave (%eax) -# CHECK-NEXT: 1 100 1.00 * fxtract -# CHECK-NEXT: 1 100 1.00 * fyl2x -# CHECK-NEXT: 1 100 1.00 * fyl2xp1 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 100 1.00 * f2xm1 +# CHECK-NEXT: 1 1 0.50 * fabs +# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fadd %st(2) +# CHECK-NEXT: 1 6 1.00 * * fadds (%ecx) +# CHECK-NEXT: 1 6 1.00 * * faddl (%ecx) +# CHECK-NEXT: 1 3 1.00 * faddp %st(1) +# CHECK-NEXT: 1 3 1.00 * faddp %st(2) +# CHECK-NEXT: 1 6 1.00 * * fiadds (%ecx) +# CHECK-NEXT: 1 6 1.00 * * fiaddl (%ecx) +# CHECK-NEXT: 1 100 1.00 * fbld (%ecx) +# CHECK-NEXT: 1 100 1.00 * fbstp (%eax) +# CHECK-NEXT: 1 1 0.50 * fchs +# CHECK-NEXT: 1 100 1.00 * fnclex +# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcom %st(1) +# CHECK-NEXT: 1 3 1.00 * fcom %st(3) +# CHECK-NEXT: 1 6 1.00 * fcoms (%ecx) +# CHECK-NEXT: 1 6 1.00 * fcoml (%eax) +# CHECK-NEXT: 1 3 1.00 * fcomp %st(1) +# CHECK-NEXT: 1 3 1.00 * fcomp %st(3) +# CHECK-NEXT: 1 6 1.00 * fcomps (%ecx) +# CHECK-NEXT: 1 6 1.00 * fcompl (%eax) +# CHECK-NEXT: 1 100 1.00 * fcompp +# CHECK-NEXT: 1 3 1.00 * fcomi %st(3) +# CHECK-NEXT: 1 3 1.00 * fcompi %st(3) +# CHECK-NEXT: 1 100 1.00 * fcos +# CHECK-NEXT: 1 100 1.00 * fdecstp +# CHECK-NEXT: 1 19 17.00 * fdiv %st(0), %st(1) +# CHECK-NEXT: 1 19 17.00 * fdiv %st(2) +# CHECK-NEXT: 1 22 17.00 * * fdivs (%ecx) +# CHECK-NEXT: 1 22 17.00 * * fdivl (%eax) +# CHECK-NEXT: 1 19 17.00 * fdivp %st(1) +# CHECK-NEXT: 1 19 17.00 * fdivp %st(2) +# CHECK-NEXT: 1 22 17.00 * * fidivs (%ecx) +# CHECK-NEXT: 1 22 17.00 * * fidivl (%eax) +# CHECK-NEXT: 1 19 17.00 * fdivr %st(0), %st(1) +# CHECK-NEXT: 1 19 17.00 * fdivr %st(2) +# CHECK-NEXT: 1 22 17.00 * * fdivrs (%ecx) +# CHECK-NEXT: 1 22 17.00 * * fdivrl (%eax) +# CHECK-NEXT: 1 19 17.00 * fdivrp %st(1) +# CHECK-NEXT: 1 19 17.00 * fdivrp %st(2) +# CHECK-NEXT: 1 22 17.00 * * fidivrs (%ecx) +# CHECK-NEXT: 1 22 17.00 * * fidivrl (%eax) +# CHECK-NEXT: 1 100 1.00 * ffree %st(0) +# CHECK-NEXT: 1 6 1.00 * ficoms (%ecx) +# CHECK-NEXT: 1 6 1.00 * ficoml (%eax) +# CHECK-NEXT: 1 6 1.00 * ficomps (%ecx) +# CHECK-NEXT: 1 6 1.00 * ficompl (%eax) +# CHECK-NEXT: 1 3 1.00 * * filds (%edx) +# CHECK-NEXT: 1 3 1.00 * * fildl (%ecx) +# CHECK-NEXT: 1 3 1.00 * * fildll (%eax) +# CHECK-NEXT: 1 100 1.00 * fincstp +# CHECK-NEXT: 1 100 1.00 * fninit +# CHECK-NEXT: 1 1 1.00 * * fists (%edx) +# CHECK-NEXT: 1 1 1.00 * * fistl (%ecx) +# CHECK-NEXT: 1 1 1.00 * * fistps (%edx) +# CHECK-NEXT: 1 1 1.00 * * fistpl (%ecx) +# CHECK-NEXT: 1 1 1.00 * * fistpll (%eax) +# CHECK-NEXT: 1 1 1.00 * * fisttps (%edx) +# CHECK-NEXT: 1 1 1.00 * * fisttpl (%ecx) +# CHECK-NEXT: 1 1 1.00 * * fisttpll (%eax) +# CHECK-NEXT: 1 1 0.50 * fld %st(0) +# CHECK-NEXT: 1 3 1.00 * * flds (%edx) +# CHECK-NEXT: 1 3 1.00 * * fldl (%ecx) +# CHECK-NEXT: 1 3 1.00 * * fldt (%eax) +# CHECK-NEXT: 1 3 1.00 * * fldcw (%eax) +# CHECK-NEXT: 1 100 1.00 * fldenv (%eax) +# CHECK-NEXT: 1 1 - * fld1 +# CHECK-NEXT: 1 100 1.00 * fldl2e +# CHECK-NEXT: 1 100 1.00 * fldl2t +# CHECK-NEXT: 1 100 1.00 * fldlg2 +# CHECK-NEXT: 1 100 1.00 * fldln2 +# CHECK-NEXT: 1 100 1.00 * fldpi +# CHECK-NEXT: 1 1 - * fldz +# CHECK-NEXT: 1 5 2.00 * fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 2.00 * fmul %st(2) +# CHECK-NEXT: 1 8 2.00 * * fmuls (%ecx) +# CHECK-NEXT: 1 8 2.00 * * fmull (%eax) +# CHECK-NEXT: 1 5 2.00 * fmulp %st(1) +# CHECK-NEXT: 1 5 2.00 * fmulp %st(2) +# CHECK-NEXT: 1 8 2.00 * * fimuls (%ecx) +# CHECK-NEXT: 1 8 2.00 * * fimull (%eax) +# CHECK-NEXT: 1 1 - * fnop +# CHECK-NEXT: 1 100 1.00 * fpatan +# CHECK-NEXT: 1 100 1.00 * fprem +# CHECK-NEXT: 1 100 1.00 * fprem1 +# CHECK-NEXT: 1 100 1.00 * fptan +# CHECK-NEXT: 1 100 1.00 * frndint +# CHECK-NEXT: 1 100 1.00 * frstor (%eax) +# CHECK-NEXT: 1 100 1.00 * fnsave (%eax) +# CHECK-NEXT: 1 100 1.00 * fscale +# CHECK-NEXT: 1 100 1.00 * fsin +# CHECK-NEXT: 1 100 1.00 * fsincos +# CHECK-NEXT: 1 40 40.00 * fsqrt +# CHECK-NEXT: 1 1 0.50 * fst %st(0) +# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) +# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) +# CHECK-NEXT: 1 1 0.50 * fstp %st(0) +# CHECK-NEXT: 1 1 1.00 * * fstpl (%edx) +# CHECK-NEXT: 1 1 1.00 * * fstpl (%ecx) +# CHECK-NEXT: 1 1 1.00 * * fstpt (%eax) +# CHECK-NEXT: 1 1 0.50 * * fnstcw (%eax) +# CHECK-NEXT: 1 100 1.00 * fnstenv (%eax) +# CHECK-NEXT: 1 100 1.00 * fnstsw (%eax) +# CHECK-NEXT: 1 100 1.00 * frstor (%eax) +# CHECK-NEXT: 1 100 1.00 * wait +# CHECK-NEXT: 1 100 1.00 * fnsave (%eax) +# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsub %st(2) +# CHECK-NEXT: 1 6 1.00 * * fsubs (%ecx) +# CHECK-NEXT: 1 6 1.00 * * fsubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) +# CHECK-NEXT: 1 6 1.00 * * fisubs (%ecx) +# CHECK-NEXT: 1 6 1.00 * * fisubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) +# CHECK-NEXT: 1 6 1.00 * * fsubrs (%ecx) +# CHECK-NEXT: 1 6 1.00 * * fsubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) +# CHECK-NEXT: 1 6 1.00 * * fisubrs (%ecx) +# CHECK-NEXT: 1 6 1.00 * * fisubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * ftst +# CHECK-NEXT: 1 3 1.00 * fucom %st(1) +# CHECK-NEXT: 1 3 1.00 * fucom %st(3) +# CHECK-NEXT: 1 3 1.00 * fucomp %st(1) +# CHECK-NEXT: 1 3 1.00 * fucomp %st(3) +# CHECK-NEXT: 1 3 1.00 * fucompp +# CHECK-NEXT: 1 3 1.00 * fucomi %st(3) +# CHECK-NEXT: 1 3 1.00 * fucompi %st(3) +# CHECK-NEXT: 1 100 1.00 * wait +# CHECK-NEXT: 1 100 1.00 * fxam +# CHECK-NEXT: 1 1 0.50 * fxch %st(1) +# CHECK-NEXT: 1 1 0.50 * fxch %st(3) +# CHECK-NEXT: 1 100 1.00 * * * fxrstor (%eax) +# CHECK-NEXT: 1 100 1.00 * * * fxsave (%eax) +# CHECK-NEXT: 1 100 1.00 * fxtract +# CHECK-NEXT: 1 100 1.00 * fyl2x +# CHECK-NEXT: 1 100 1.00 * fyl2xp1 # CHECK: Resources: -# CHECK-NEXT: [0] - SLMDivider -# CHECK-NEXT: [1] - SLMFPDivider -# CHECK-NEXT: [2] - SLMFPMultiplier -# CHECK-NEXT: [3] - SLM_FPC_RSV0 -# CHECK-NEXT: [4] - SLM_FPC_RSV1 -# CHECK-NEXT: [5] - SLM_IEC_RSV0 -# CHECK-NEXT: [6] - SLM_IEC_RSV1 -# CHECK-NEXT: [7] - SLM_MEC_RSV +# CHECK-NEXT: [0] - SLMDivider +# CHECK-NEXT: [1] - SLMFPDivider +# CHECK-NEXT: [2] - SLMFPMultiplier +# CHECK-NEXT: [3] - SLM_FPC_RSV0 +# CHECK-NEXT: [4] - SLM_FPC_RSV1 +# CHECK-NEXT: [5] - SLM_IEC_RSV0 +# CHECK-NEXT: [6] - SLM_IEC_RSV1 +# CHECK-NEXT: [7] - SLM_MEC_RSV # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] # CHECK-NEXT: - 312.00 16.00 64.00 55.00 9.50 9.50 52.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - f2xm1 -# CHECK-NEXT: - - - 0.50 0.50 - - - fabs -# CHECK-NEXT: - - - - 1.00 - - - fadd %st(0), %st(1) -# CHECK-NEXT: - - - - 1.00 - - - fadd %st(2) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fadds (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 faddl (%ecx) -# CHECK-NEXT: - - - - 1.00 - - - faddp %st(1) -# CHECK-NEXT: - - - - 1.00 - - - faddp %st(2) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fiadds (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fiaddl (%ecx) -# CHECK-NEXT: - - - 1.00 - - - - fbld (%ecx) -# CHECK-NEXT: - - - 1.00 - - - - fbstp (%eax) -# CHECK-NEXT: - - - 0.50 0.50 - - - fchs -# CHECK-NEXT: - - - 1.00 - - - - fnclex -# CHECK-NEXT: - - - - 1.00 - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovu %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcom %st(1) -# CHECK-NEXT: - - - - 1.00 - - - fcom %st(3) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fcoms (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fcoml (%eax) -# CHECK-NEXT: - - - - 1.00 - - - fcomp %st(1) -# CHECK-NEXT: - - - - 1.00 - - - fcomp %st(3) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fcomps (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fcompl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fcompp -# CHECK-NEXT: - - - - 1.00 - - - fcomi %st(3) -# CHECK-NEXT: - - - - 1.00 - - - fcompi %st(3) -# CHECK-NEXT: - - - 1.00 - - - - fcos -# CHECK-NEXT: - - - 1.00 - - - - fdecstp -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st(0), %st(1) -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st(2) -# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivs (%ecx) -# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivl (%eax) -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivp %st(1) -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivp %st(2) -# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivs (%ecx) -# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivl (%eax) -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st(0), %st(1) -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st(2) -# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivrs (%ecx) -# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivrl (%eax) -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivrp %st(1) -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivrp %st(2) -# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivrs (%ecx) -# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivrl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - ffree %st(0) -# CHECK-NEXT: - - - - 1.00 - - 1.00 ficoms (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 ficoml (%eax) -# CHECK-NEXT: - - - - 1.00 - - 1.00 ficomps (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 ficompl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 filds (%edx) -# CHECK-NEXT: - - - - - - - 1.00 fildl (%ecx) -# CHECK-NEXT: - - - - - - - 1.00 fildll (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fincstp -# CHECK-NEXT: - - - 1.00 - - - - fninit -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fists (%edx) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fistl (%ecx) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fistps (%edx) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fistpl (%ecx) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fistpll (%eax) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fisttps (%edx) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fisttpl (%ecx) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fisttpll (%eax) -# CHECK-NEXT: - - - - - 0.50 0.50 - fld %st(0) -# CHECK-NEXT: - - - - - - - 1.00 flds (%edx) -# CHECK-NEXT: - - - - - - - 1.00 fldl (%ecx) -# CHECK-NEXT: - - - - - - - 1.00 fldt (%eax) -# CHECK-NEXT: - - - - - - - 1.00 fldcw (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fldenv (%eax) -# CHECK-NEXT: - - - - - - - - fld1 -# CHECK-NEXT: - - - 1.00 - - - - fldl2e -# CHECK-NEXT: - - - 1.00 - - - - fldl2t -# CHECK-NEXT: - - - 1.00 - - - - fldlg2 -# CHECK-NEXT: - - - 1.00 - - - - fldln2 -# CHECK-NEXT: - - - 1.00 - - - - fldpi -# CHECK-NEXT: - - - - - - - - fldz -# CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st(0), %st(1) -# CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st(2) -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fmuls (%ecx) -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fmull (%eax) -# CHECK-NEXT: - - 2.00 1.00 - - - - fmulp %st(1) -# CHECK-NEXT: - - 2.00 1.00 - - - - fmulp %st(2) -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fimuls (%ecx) -# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fimull (%eax) -# CHECK-NEXT: - - - - - - - - fnop -# CHECK-NEXT: - - - 1.00 - - - - fpatan -# CHECK-NEXT: - - - 1.00 - - - - fprem -# CHECK-NEXT: - - - 1.00 - - - - fprem1 -# CHECK-NEXT: - - - 1.00 - - - - fptan -# CHECK-NEXT: - - - 1.00 - - - - frndint -# CHECK-NEXT: - - - 1.00 - - - - frstor (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fscale -# CHECK-NEXT: - - - 1.00 - - - - fsin -# CHECK-NEXT: - - - 1.00 - - - - fsincos -# CHECK-NEXT: - 40.00 - 1.00 - - - - fsqrt -# CHECK-NEXT: - - - - - 0.50 0.50 - fst %st(0) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fsts (%edx) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstl (%ecx) -# CHECK-NEXT: - - - - - 0.50 0.50 - fstp %st(0) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstpl (%edx) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstpl (%ecx) -# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstpt (%eax) -# CHECK-NEXT: - - - - - 0.50 0.50 - fnstcw (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fnstenv (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fnstsw (%eax) -# CHECK-NEXT: - - - 1.00 - - - - frstor (%eax) -# CHECK-NEXT: - - - 1.00 - - - - wait -# CHECK-NEXT: - - - 1.00 - - - - fnsave (%eax) -# CHECK-NEXT: - - - - 1.00 - - - fsub %st(0), %st(1) -# CHECK-NEXT: - - - - 1.00 - - - fsub %st(2) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubs (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubl (%eax) -# CHECK-NEXT: - - - - 1.00 - - - fsubp %st(1) -# CHECK-NEXT: - - - - 1.00 - - - fsubp %st(2) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubs (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubl (%eax) -# CHECK-NEXT: - - - - 1.00 - - - fsubr %st(0), %st(1) -# CHECK-NEXT: - - - - 1.00 - - - fsubr %st(2) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubrs (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubrl (%eax) -# CHECK-NEXT: - - - - 1.00 - - - fsubrp %st(1) -# CHECK-NEXT: - - - - 1.00 - - - fsubrp %st(2) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubrs (%ecx) -# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubrl (%eax) -# CHECK-NEXT: - - - - 1.00 - - - ftst -# CHECK-NEXT: - - - - 1.00 - - - fucom %st(1) -# CHECK-NEXT: - - - - 1.00 - - - fucom %st(3) -# CHECK-NEXT: - - - - 1.00 - - - fucomp %st(1) -# CHECK-NEXT: - - - - 1.00 - - - fucomp %st(3) -# CHECK-NEXT: - - - - 1.00 - - - fucompp -# CHECK-NEXT: - - - - 1.00 - - - fucomi %st(3) -# CHECK-NEXT: - - - - 1.00 - - - fucompi %st(3) -# CHECK-NEXT: - - - 1.00 - - - - wait -# CHECK-NEXT: - - - 1.00 - - - - fxam -# CHECK-NEXT: - - - - - 0.50 0.50 - fxch %st(1) -# CHECK-NEXT: - - - - - 0.50 0.50 - fxch %st(3) -# CHECK-NEXT: - - - 1.00 - - - - fxrstor (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fxsave (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fxtract -# CHECK-NEXT: - - - 1.00 - - - - fyl2x -# CHECK-NEXT: - - - 1.00 - - - - fyl2xp1 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - f2xm1 +# CHECK-NEXT: - - - 0.50 0.50 - - - fabs +# CHECK-NEXT: - - - - 1.00 - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fadd %st(2) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fadds (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 faddl (%ecx) +# CHECK-NEXT: - - - - 1.00 - - - faddp %st(1) +# CHECK-NEXT: - - - - 1.00 - - - faddp %st(2) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fiadds (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fiaddl (%ecx) +# CHECK-NEXT: - - - 1.00 - - - - fbld (%ecx) +# CHECK-NEXT: - - - 1.00 - - - - fbstp (%eax) +# CHECK-NEXT: - - - 0.50 0.50 - - - fchs +# CHECK-NEXT: - - - 1.00 - - - - fnclex +# CHECK-NEXT: - - - - 1.00 - - - fcmovb %st(1), %st(0) +# CHECK-NEXT: - - - - 1.00 - - - fcmovbe %st(1), %st(0) +# CHECK-NEXT: - - - - 1.00 - - - fcmove %st(1), %st(0) +# CHECK-NEXT: - - - - 1.00 - - - fcmovnb %st(1), %st(0) +# CHECK-NEXT: - - - - 1.00 - - - fcmovnbe %st(1), %st(0) +# CHECK-NEXT: - - - - 1.00 - - - fcmovne %st(1), %st(0) +# CHECK-NEXT: - - - - 1.00 - - - fcmovnu %st(1), %st(0) +# CHECK-NEXT: - - - - 1.00 - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - - 1.00 - - - fcom %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fcom %st(3) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fcoms (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fcoml (%eax) +# CHECK-NEXT: - - - - 1.00 - - - fcomp %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fcomp %st(3) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fcomps (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fcompl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fcompp +# CHECK-NEXT: - - - - 1.00 - - - fcomi %st(3) +# CHECK-NEXT: - - - - 1.00 - - - fcompi %st(3) +# CHECK-NEXT: - - - 1.00 - - - - fcos +# CHECK-NEXT: - - - 1.00 - - - - fdecstp +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st(2) +# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivs (%ecx) +# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivl (%eax) +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivp %st(1) +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivp %st(2) +# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivs (%ecx) +# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivl (%eax) +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st(2) +# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivrs (%ecx) +# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivrl (%eax) +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivrp %st(1) +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivrp %st(2) +# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivrs (%ecx) +# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivrl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - ffree %st(0) +# CHECK-NEXT: - - - - 1.00 - - 1.00 ficoms (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 ficoml (%eax) +# CHECK-NEXT: - - - - 1.00 - - 1.00 ficomps (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 ficompl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 filds (%edx) +# CHECK-NEXT: - - - - - - - 1.00 fildl (%ecx) +# CHECK-NEXT: - - - - - - - 1.00 fildll (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fincstp +# CHECK-NEXT: - - - 1.00 - - - - fninit +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fists (%edx) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fistl (%ecx) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fistps (%edx) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fistpl (%ecx) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fistpll (%eax) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fisttps (%edx) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fisttpl (%ecx) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fisttpll (%eax) +# CHECK-NEXT: - - - - - 0.50 0.50 - fld %st(0) +# CHECK-NEXT: - - - - - - - 1.00 flds (%edx) +# CHECK-NEXT: - - - - - - - 1.00 fldl (%ecx) +# CHECK-NEXT: - - - - - - - 1.00 fldt (%eax) +# CHECK-NEXT: - - - - - - - 1.00 fldcw (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fldenv (%eax) +# CHECK-NEXT: - - - - - - - - fld1 +# CHECK-NEXT: - - - 1.00 - - - - fldl2e +# CHECK-NEXT: - - - 1.00 - - - - fldl2t +# CHECK-NEXT: - - - 1.00 - - - - fldlg2 +# CHECK-NEXT: - - - 1.00 - - - - fldln2 +# CHECK-NEXT: - - - 1.00 - - - - fldpi +# CHECK-NEXT: - - - - - - - - fldz +# CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st(2) +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fmuls (%ecx) +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fmull (%eax) +# CHECK-NEXT: - - 2.00 1.00 - - - - fmulp %st(1) +# CHECK-NEXT: - - 2.00 1.00 - - - - fmulp %st(2) +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fimuls (%ecx) +# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fimull (%eax) +# CHECK-NEXT: - - - - - - - - fnop +# CHECK-NEXT: - - - 1.00 - - - - fpatan +# CHECK-NEXT: - - - 1.00 - - - - fprem +# CHECK-NEXT: - - - 1.00 - - - - fprem1 +# CHECK-NEXT: - - - 1.00 - - - - fptan +# CHECK-NEXT: - - - 1.00 - - - - frndint +# CHECK-NEXT: - - - 1.00 - - - - frstor (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fnsave (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fscale +# CHECK-NEXT: - - - 1.00 - - - - fsin +# CHECK-NEXT: - - - 1.00 - - - - fsincos +# CHECK-NEXT: - 40.00 - 1.00 - - - - fsqrt +# CHECK-NEXT: - - - - - 0.50 0.50 - fst %st(0) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fsts (%edx) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstl (%ecx) +# CHECK-NEXT: - - - - - 0.50 0.50 - fstp %st(0) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstpl (%edx) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstpl (%ecx) +# CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstpt (%eax) +# CHECK-NEXT: - - - - - 0.50 0.50 - fnstcw (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fnstenv (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fnstsw (%eax) +# CHECK-NEXT: - - - 1.00 - - - - frstor (%eax) +# CHECK-NEXT: - - - 1.00 - - - - wait +# CHECK-NEXT: - - - 1.00 - - - - fnsave (%eax) +# CHECK-NEXT: - - - - 1.00 - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fsub %st(2) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubs (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubl (%eax) +# CHECK-NEXT: - - - - 1.00 - - - fsubp %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fsubp %st(2) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubs (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubl (%eax) +# CHECK-NEXT: - - - - 1.00 - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fsubr %st(2) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubrs (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubrl (%eax) +# CHECK-NEXT: - - - - 1.00 - - - fsubrp %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fsubrp %st(2) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubrs (%ecx) +# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubrl (%eax) +# CHECK-NEXT: - - - - 1.00 - - - ftst +# CHECK-NEXT: - - - - 1.00 - - - fucom %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fucom %st(3) +# CHECK-NEXT: - - - - 1.00 - - - fucomp %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fucomp %st(3) +# CHECK-NEXT: - - - - 1.00 - - - fucompp +# CHECK-NEXT: - - - - 1.00 - - - fucomi %st(3) +# CHECK-NEXT: - - - - 1.00 - - - fucompi %st(3) +# CHECK-NEXT: - - - 1.00 - - - - wait +# CHECK-NEXT: - - - 1.00 - - - - fxam +# CHECK-NEXT: - - - - - 0.50 0.50 - fxch %st(1) +# CHECK-NEXT: - - - - - 0.50 0.50 - fxch %st(3) +# CHECK-NEXT: - - - 1.00 - - - - fxrstor (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fxsave (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fxtract +# CHECK-NEXT: - - - 1.00 - - - - fyl2x +# CHECK-NEXT: - - - 1.00 - - - - fyl2xp1 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-aes.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-aes.s index 7fa9ada..afc936f 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-aes.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-aes.s @@ -27,27 +27,27 @@ aeskeygenassist $22, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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: [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: 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: [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 @@ -56,17 +56,17 @@ aeskeygenassist $22, (%rax), %xmm2 # CHECK-NEXT: - - 9.67 9.67 - 21.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: - - 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] [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 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s index 955a421..fc38345 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s @@ -1017,698 +1017,698 @@ vzeroupper # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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: 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 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 * * * vldmxcsr (%rax) -# CHECK-NEXT: 1 1 1.00 * * * 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 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 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.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.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 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 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 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 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 5 1.00 vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 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 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: 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 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 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 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 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 * * * 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: 1 100 0.33 * * * vzeroall -# CHECK-NEXT: 1 100 0.33 * * * vzeroupper +# 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: 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 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 * * * vldmxcsr (%rax) +# CHECK-NEXT: 1 1 1.00 * * * 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 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 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.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.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 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 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 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 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 5 1.00 vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 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 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: 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 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 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 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 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 * * * 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: 1 100 0.33 * * * vzeroall +# CHECK-NEXT: 1 100 0.33 * * * 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: [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 @@ -1717,688 +1717,688 @@ vzeroupper # CHECK-NEXT: - 572.00 225.50 307.00 39.00 354.50 177.50 177.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.50 - - 0.50 - - 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.50 - - 0.50 - - 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: - - - 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: - - - - - 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: - - 0.33 0.33 - 0.33 - - vzeroall -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vzeroupper +# 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.50 - - 0.50 - - 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.50 - - 0.50 - - 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: - - - 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: - - - - - 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: - - 0.33 0.33 - 0.33 - - vzeroall +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vzeroupper diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-clmul.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-clmul.s index f9c79f3..a95f1ec 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-clmul.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-clmul.s @@ -12,17 +12,17 @@ pclmulqdq $11, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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: [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: 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: [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 @@ -31,7 +31,7 @@ pclmulqdq $11, (%rax), %xmm2 # CHECK-NEXT: - - 11.67 11.67 - 11.67 0.50 0.50 # 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] [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 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-f16c.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-f16c.s index 0e8a30a..7a5f7c3 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-f16c.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-f16c.s @@ -21,23 +21,23 @@ vcvtps2ph $0, %ymm0, (%rax) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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: [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: 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: [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 @@ -46,13 +46,13 @@ vcvtps2ph $0, %ymm0, (%rax) # CHECK-NEXT: - - - 8.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 - - - - 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] [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) diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-mmx.s index ec66e24..8381600 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-mmx.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-mmx.s @@ -163,120 +163,120 @@ pxor (%rax), %mm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 31 31 10.33 * * * emms -# CHECK-NEXT: 1 1 0.33 movd %eax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.33 movd %mm0, %ecx -# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movq %rax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.33 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: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 31 31 10.33 * * * emms +# CHECK-NEXT: 1 1 0.33 movd %eax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.33 movd %mm0, %ecx +# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movq %rax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.33 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: 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: [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 @@ -285,110 +285,110 @@ pxor (%rax), %mm2 # CHECK-NEXT: - - 20.33 54.33 2.00 56.33 24.00 24.00 # 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: - - 0.33 0.33 - 0.33 - - movd %eax, %mm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 movd (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movd %mm0, %ecx -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movd %mm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq %rax, %mm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 movq (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - 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] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - 10.33 10.33 - 10.33 - - emms +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movd %eax, %mm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 movd (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movd %mm0, %ecx +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movd %mm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq %rax, %mm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 movq (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - 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 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-popcnt.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-popcnt.s index 8c3f997..4033d62 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-popcnt.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-popcnt.s @@ -18,21 +18,21 @@ popcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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: [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: 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: [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 @@ -41,11 +41,11 @@ popcntq (%rax), %rcx # CHECK-NEXT: - - - 6.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 - - - - 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] [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 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s index 0cd4eb9..aa83a7c 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s @@ -193,139 +193,139 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andnps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * andnps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * andps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 comiss %xmm0, %xmm1 -# CHECK-NEXT: 3 8 1.00 * comiss (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 3 5 2.00 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 3 5 2.00 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %rcx -# CHECK-NEXT: 1 14 14.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2 -# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 2 20 14.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 4 5 1.00 * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * minps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * minss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movaps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax) -# CHECK-NEXT: 2 7 1.00 * movhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax) -# CHECK-NEXT: 2 7 1.00 * movlps (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movups %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movups %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movups (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 mulps %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * mulps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 mulss %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * mulss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 orps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * orps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 pavgb %mm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * pavgb (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 pavgw %mm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * pavgw (%rax), %mm2 -# CHECK-NEXT: 2 3 1.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 2 2 1.00 pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 2 7 0.50 * pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * pmaxsw (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 pmaxub %mm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * pmaxub (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 pminsw %mm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * pminsw (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 pminub %mm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * pminub (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) -# CHECK-NEXT: 1 5 1.00 psadbw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * psadbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * rcpps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rcpss %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * rcpss (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * sfence -# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 14 14.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 20 14.00 * sqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 14 14.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 20 14.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 4 5 1.00 * * * stmxcsr (%rax) -# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * subss (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 3 8 1.00 * ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpcklps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 xorps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * xorps (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andnps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * andnps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * andps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 comiss %xmm0, %xmm1 +# CHECK-NEXT: 3 8 1.00 * comiss (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 3 5 2.00 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 3 5 2.00 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %rcx +# CHECK-NEXT: 1 14 14.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2 +# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 2 20 14.00 * divss (%rax), %xmm2 +# CHECK-NEXT: 4 5 1.00 * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * maxss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * minss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movaps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax) +# CHECK-NEXT: 2 7 1.00 * movhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax) +# CHECK-NEXT: 2 7 1.00 * movlps (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movups %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movups %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movups (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 mulps %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * mulps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 mulss %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * mulss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 orps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * orps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 pavgb %mm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * pavgb (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 pavgw %mm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * pavgw (%rax), %mm2 +# CHECK-NEXT: 2 3 1.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 2 2 1.00 pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 2 7 0.50 * pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * pmaxsw (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 pmaxub %mm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * pmaxub (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 pminsw %mm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * pminsw (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 pminub %mm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * pminub (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) +# CHECK-NEXT: 1 5 1.00 psadbw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * psadbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * rcpps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rcpss %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * rcpss (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * sfence +# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 14 14.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 20 14.00 * sqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 14 14.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 20 14.00 * sqrtss (%rax), %xmm2 +# CHECK-NEXT: 4 5 1.00 * * * stmxcsr (%rax) +# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * subss (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 3 8 1.00 * ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpcklps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 xorps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * xorps (%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: [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 @@ -334,129 +334,129 @@ xorps (%rax), %xmm2 # CHECK-NEXT: - 112.00 41.00 55.50 10.00 34.50 33.50 33.50 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - addps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - addss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addss (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - andnps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andnps (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - andps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - comiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 comiss (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtps2pi (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - 2.00 - - cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: - - - 1.00 - 2.00 - - cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - cvtss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - cvtss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtss2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtss2si (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - - cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvttps2pi (%rax), %mm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - cvttss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - cvttss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttss2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttss2si (%rax), %rcx -# CHECK-NEXT: - 14.00 1.00 - - - - - divps %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 divps (%rax), %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - divss %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 divss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - 1.00 1.00 0.50 0.50 ldmxcsr (%rax) -# CHECK-NEXT: - - - - - 1.00 - - maskmovq %mm0, %mm1 -# CHECK-NEXT: - - - 1.00 - - - - maxps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - maxss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - minps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - minss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minss (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movaps %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 movaps (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movhlps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movlhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movhps %xmm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movhps (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movlps %xmm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movlps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - movmskps %xmm0, %ecx -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntps %xmm0, (%rax) -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntq %mm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - movss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movss %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 movss (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movups %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movups %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 movups (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - mulps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - mulss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulss (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - orps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 orps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - pavgb %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pavgb (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pavgw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pavgw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrw $1, %mm0, %ecx -# CHECK-NEXT: - - - 0.50 - 1.50 - - pinsrw $1, %eax, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pmaxsw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pmaxsw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pmaxub %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pmaxub (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pminsw %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pminsw (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - pminub %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pminub (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - pmulhuw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhuw (%rax), %mm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 prefetcht0 (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 prefetcht1 (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 prefetcht2 (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 prefetchnta (%rax) -# CHECK-NEXT: - - 1.00 - - - - - psadbw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 psadbw (%rax), %mm2 -# CHECK-NEXT: - - - - - 1.00 - - pshufw $1, %mm0, %mm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 pshufw $1, (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - rcpps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 rcpps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - rcpss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 rcpss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 rsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 rsqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 sfence -# CHECK-NEXT: - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 shufps $1, (%rax), %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - sqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 sqrtps (%rax), %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - - - sqrtss %xmm0, %xmm2 -# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 sqrtss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - 1.00 1.00 0.50 0.50 stmxcsr (%rax) -# CHECK-NEXT: - - - 1.00 - - - - subps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - subss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - ucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 ucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - 1.00 - - unpckhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpckhps (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - unpcklps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpcklps (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - xorps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 xorps (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - addps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - addss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addss (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - andnps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andnps (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - andps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - comiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 comiss (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtps2pi (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - 2.00 - - cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: - - - 1.00 - 2.00 - - cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - cvtss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - cvtss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtss2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtss2si (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvttps2pi (%rax), %mm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - cvttss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - cvttss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttss2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttss2si (%rax), %rcx +# CHECK-NEXT: - 14.00 1.00 - - - - - divps %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 divps (%rax), %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - divss %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 divss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - 1.00 1.00 0.50 0.50 ldmxcsr (%rax) +# CHECK-NEXT: - - - - - 1.00 - - maskmovq %mm0, %mm1 +# CHECK-NEXT: - - - 1.00 - - - - maxps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - maxss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - minps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - minss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minss (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movaps %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 movaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movhlps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movlhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movhps %xmm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movhps (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movlps %xmm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movlps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - movmskps %xmm0, %ecx +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntps %xmm0, (%rax) +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntq %mm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - movss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movss %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 movss (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movups %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movups %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 movups (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - mulps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - mulss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulss (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - orps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 orps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - pavgb %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pavgb (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pavgw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pavgw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrw $1, %mm0, %ecx +# CHECK-NEXT: - - - 0.50 - 1.50 - - pinsrw $1, %eax, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pmaxsw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pmaxsw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pmaxub %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pmaxub (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pminsw %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pminsw (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - pminub %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 pminub (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - pmulhuw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhuw (%rax), %mm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 prefetcht0 (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 prefetcht1 (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 prefetcht2 (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 prefetchnta (%rax) +# CHECK-NEXT: - - 1.00 - - - - - psadbw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 psadbw (%rax), %mm2 +# CHECK-NEXT: - - - - - 1.00 - - pshufw $1, %mm0, %mm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 pshufw $1, (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - rcpps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 rcpps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - rcpss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 rcpss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 rsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 rsqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 sfence +# CHECK-NEXT: - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 shufps $1, (%rax), %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - sqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 sqrtps (%rax), %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - - - sqrtss %xmm0, %xmm2 +# CHECK-NEXT: - 14.00 1.00 - - - 0.50 0.50 sqrtss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - 1.00 1.00 0.50 0.50 stmxcsr (%rax) +# CHECK-NEXT: - - - 1.00 - - - - subps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - subss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - ucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 ucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - 1.00 - - unpckhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpckhps (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - unpcklps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpcklps (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - xorps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 xorps (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s index 4287fb3..b6a5d6d 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s @@ -401,279 +401,279 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2 -# CHECK-NEXT: 4 5 1.00 * * * clflush (%rax) -# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 comisd %xmm0, %xmm1 -# CHECK-NEXT: 3 8 1.00 * comisd (%rax), %xmm1 -# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 10 1.00 * cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 2 4 1.00 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 2 4 1.00 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 4 1.00 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 10 1.00 * cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %ecx -# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 22 22.00 divpd %xmm0, %xmm2 -# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2 -# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 2 28 22.00 * divsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * * * lfence -# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * maxsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * minpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * minsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movapd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movdqu %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 1 1 1.00 * movhpd %xmm0, (%rax) -# CHECK-NEXT: 2 7 1.00 * movhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax) -# CHECK-NEXT: 2 7 1.00 * movlpd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movq (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movq %xmm0, %rcx -# CHECK-NEXT: 1 1 1.00 * movq %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movupd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 * movupd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * mulpd (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 mulsd %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * mulsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 orpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * orpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 packssdw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * packssdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 packsswb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * packsswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 packuswb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * packuswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 -# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pand (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pandn (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pavgb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pavgw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxub (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmulhw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmullw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmullw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmuludq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 psadbw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * psadbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * pslld (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psllq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psllw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psrad (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psraw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psrld (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psrlq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * psrlw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 psubq %mm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * psubq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pxor (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 21 21.00 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 2 27 21.00 * sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 21 21.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 2 27 21.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * subsd (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 3 8 1.00 * ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * xorpd (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2 +# CHECK-NEXT: 4 5 1.00 * * * clflush (%rax) +# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 comisd %xmm0, %xmm1 +# CHECK-NEXT: 3 8 1.00 * comisd (%rax), %xmm1 +# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 10 1.00 * cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 2 4 1.00 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 2 4 1.00 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 4 1.00 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 10 1.00 * cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 3 1.00 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %ecx +# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 22 22.00 divpd %xmm0, %xmm2 +# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2 +# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 2 28 22.00 * divsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * * * lfence +# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * maxsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * minsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movapd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movdqu %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 1 1 1.00 * movhpd %xmm0, (%rax) +# CHECK-NEXT: 2 7 1.00 * movhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax) +# CHECK-NEXT: 2 7 1.00 * movlpd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movq (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movq %xmm0, %rcx +# CHECK-NEXT: 1 1 1.00 * movq %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movupd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 * movupd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * mulpd (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 mulsd %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * mulsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 orpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * orpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 packssdw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * packssdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 packsswb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * packsswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 packuswb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * packuswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 +# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pand (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pandn (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pavgb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pavgw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxub (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmulhw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmullw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmullw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmuludq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 psadbw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * psadbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * pslld (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psllq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psllw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psrad (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psraw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psrld (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psrlq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * psrlw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 psubq %mm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * psubq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pxor (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 21 21.00 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 2 27 21.00 * sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 21 21.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 2 27 21.00 * sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * subsd (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 3 8 1.00 * ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * xorpd (%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: [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 @@ -682,269 +682,269 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: - 172.00 75.83 117.33 16.00 98.83 66.00 66.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - addpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - addsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - andnpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andnpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - andpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 1.00 1.00 0.50 0.50 clflush (%rax) -# CHECK-NEXT: - - - 1.00 - - - - cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - comisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 comisd (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - 1.00 - - cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - cvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - cvtsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtsd2si (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - 1.00 - - - - cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - cvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.00 1.00 - - - - cvttsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttsd2si (%rax), %rcx -# CHECK-NEXT: - 22.00 1.00 - - - - - divpd %xmm0, %xmm2 -# CHECK-NEXT: - 22.00 1.00 - - - 0.50 0.50 divpd (%rax), %xmm2 -# CHECK-NEXT: - 22.00 1.00 - - - - - divsd %xmm0, %xmm2 -# CHECK-NEXT: - 22.00 1.00 - - - 0.50 0.50 divsd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 lfence -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - maxpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - maxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - minpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - minsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movapd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 movapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movd %eax, %xmm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 movd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - movd %xmm0, %ecx -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movdqa %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 movdqa (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movdqu %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 movdqu (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 1.33 - - movdq2q %xmm0, %mm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movlpd %xmm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movlpd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - movmskpd %xmm0, %ecx -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntil %eax, (%rax) -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntiq %rax, (%rax) -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntpd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movq %rax, %xmm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 movq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - movq %xmm0, %rcx -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movq %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq2dq %mm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movsd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 movsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movupd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 0.50 0.50 movupd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - mulpd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulpd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - mulsd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - orpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 orpd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - packssdw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packssdw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - packsswb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packsswb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - packuswb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packuswb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - paddb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - paddd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - paddq %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddq (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - paddq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - paddsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - paddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - paddusb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddusb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - paddusw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddusw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - paddw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - pand %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 pand (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - pandn %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 pandn (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pavgb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pavgb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pavgw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pavgw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmaddwd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxub %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxub (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pminsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pminub %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminub (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhuw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pmulhw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pmullw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmullw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pmuludq %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmuludq (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - pmuludq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmuludq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - por %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 por (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - psadbw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 psadbw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pslld $1, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pslld %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 pslld (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pslldq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - psllq $1, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psllq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psllq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - psllw $1, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psllw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psllw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - psrad $1, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrad %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrad (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - psraw $1, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psraw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psraw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - psrld $1, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrld %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrld (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psrldq $1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - psrlq $1, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrlq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrlq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - psrlw $1, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrlw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrlw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psubb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psubd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - psubq %mm0, %mm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 psubq (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psubq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psubsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psubusb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubusb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psubusw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubusw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psubw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhbw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhdq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhwd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpcklbw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckldq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckldq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpcklwd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - pxor %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 pxor (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: - 21.00 1.00 - - - - - sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 sqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 21.00 1.00 - - - - - sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - subpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - subsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subsd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - ucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 ucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpckhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpcklpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - xorpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 xorpd (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - addpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - addsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - andnpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andnpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - andpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 1.00 1.00 0.50 0.50 clflush (%rax) +# CHECK-NEXT: - - - 1.00 - - - - cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - comisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 comisd (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - 1.00 - - cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - cvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - cvtsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvtsd2si (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - 1.00 - - - - cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - cvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.00 1.00 - - - - cvttsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 cvttsd2si (%rax), %rcx +# CHECK-NEXT: - 22.00 1.00 - - - - - divpd %xmm0, %xmm2 +# CHECK-NEXT: - 22.00 1.00 - - - 0.50 0.50 divpd (%rax), %xmm2 +# CHECK-NEXT: - 22.00 1.00 - - - - - divsd %xmm0, %xmm2 +# CHECK-NEXT: - 22.00 1.00 - - - 0.50 0.50 divsd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 lfence +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - maxpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - maxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 maxsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - minpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - minsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 minsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movapd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 movapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movd %eax, %xmm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 movd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - movd %xmm0, %ecx +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movdqa %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 movdqa (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movdqu %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 movdqu (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 1.33 - - movdq2q %xmm0, %mm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movhpd %xmm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movlpd %xmm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movlpd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - movmskpd %xmm0, %ecx +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntil %eax, (%rax) +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntiq %rax, (%rax) +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntpd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movq %rax, %xmm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 movq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - movq %xmm0, %rcx +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movq %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq2dq %mm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movsd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 movsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movupd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 0.50 0.50 movupd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - mulpd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulpd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - mulsd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 mulsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - orpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 orpd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - packssdw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packssdw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - packsswb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packsswb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - packuswb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packuswb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - paddb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - paddd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - paddq %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddq (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - paddq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - paddsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - paddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - paddusb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddusb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - paddusw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddusw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - paddw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 paddw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - pand %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 pand (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - pandn %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 pandn (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pavgb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pavgb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pavgw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pavgw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmaddwd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxub %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxub (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pminsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pminub %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminub (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhuw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pmulhw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pmullw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmullw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pmuludq %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmuludq (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - pmuludq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmuludq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - por %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 por (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - psadbw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 psadbw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pslld $1, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pslld %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 pslld (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pslldq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - psllq $1, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psllq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psllq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - psllw $1, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psllw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psllw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - psrad $1, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrad %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrad (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - psraw $1, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psraw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psraw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - psrld $1, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrld %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrld (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psrldq $1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - psrlq $1, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrlq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrlq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - psrlw $1, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - psrlw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 0.50 0.50 psrlw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psubb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psubd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - psubq %mm0, %mm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 psubq (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psubq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psubsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psubusb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubusb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psubusw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubusw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psubw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psubw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhbw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhdq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckhwd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpcklbw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - punpckldq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpckldq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 punpcklwd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - pxor %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 pxor (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: - 21.00 1.00 - - - - - sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 sqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 21.00 1.00 - - - - - sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: - 21.00 1.00 - - - 0.50 0.50 sqrtsd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - subpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - subsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 subsd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - ucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 ucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpckhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 unpcklpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - xorpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 xorpd (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s index c4d283f..8579047 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s @@ -38,34 +38,34 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 haddpd %xmm0, %xmm2 -# CHECK-NEXT: 4 11 2.00 * haddpd (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 haddps %xmm0, %xmm2 -# CHECK-NEXT: 4 11 2.00 * haddps (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 4 11 2.00 * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2 -# CHECK-NEXT: 4 11 2.00 * hsubps (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * addsubps (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 4 11 2.00 * haddpd (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 haddps %xmm0, %xmm2 +# CHECK-NEXT: 4 11 2.00 * haddps (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 4 11 2.00 * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 4 11 2.00 * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movsldup (%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: [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 @@ -74,24 +74,24 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: - - - 12.00 - 19.00 5.00 5.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addsubps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 2.00 - - haddpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 haddpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 2.00 - - haddps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 haddps (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 2.00 - - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 hsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 2.00 - - hsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 hsubps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 lddqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movddup %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 movddup (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movshdup %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 movshdup (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - movsldup %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 movsldup (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - addsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 addsubps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 2.00 - - haddpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 haddpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 2.00 - - haddps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 haddps (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 2.00 - - hsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 hsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 2.00 - - hsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 hsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 lddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movddup %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 movddup (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movshdup %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 movshdup (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - movsldup %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 movsldup (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse41.s index 76263ed..76d7793 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse41.s @@ -154,111 +154,111 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * blendps $11, (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: 4 15 1.00 * dppd $22, (%rax), %xmm2 -# CHECK-NEXT: 4 12 2.00 dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: 5 18 2.00 * dpps $22, (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 extractps $1, %xmm0, %ecx -# CHECK-NEXT: 3 5 1.00 * extractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * insertps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 3 7 1.00 mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 13 1.00 * mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 packusdw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * packusdw (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 1.00 * pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 pextrb $1, %xmm0, %ecx -# CHECK-NEXT: 3 5 1.00 * pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 pextrd $1, %xmm0, %ecx -# CHECK-NEXT: 4 5 1.00 * pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 pextrq $1, %xmm0, %rcx -# CHECK-NEXT: 4 5 1.00 * pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 3 5 1.00 * pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 5 1.00 phminposuw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * phminposuw (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: 2 7 0.50 * pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 1.00 pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: 2 7 0.50 * pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 1.00 pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: 2 7 0.50 * pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmuldq %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmuldq (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmulld %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmulld (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 ptest %xmm0, %xmm1 -# CHECK-NEXT: 3 8 1.00 * ptest (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * roundps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * roundss $1, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * blendps $11, (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: 4 15 1.00 * dppd $22, (%rax), %xmm2 +# CHECK-NEXT: 4 12 2.00 dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: 5 18 2.00 * dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 extractps $1, %xmm0, %ecx +# CHECK-NEXT: 3 5 1.00 * extractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * insertps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * movntdqa (%rax), %xmm2 +# CHECK-NEXT: 3 7 1.00 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 13 1.00 * mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 packusdw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * packusdw (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 1.00 * pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 pextrb $1, %xmm0, %ecx +# CHECK-NEXT: 3 5 1.00 * pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 pextrd $1, %xmm0, %ecx +# CHECK-NEXT: 4 5 1.00 * pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 pextrq $1, %xmm0, %rcx +# CHECK-NEXT: 4 5 1.00 * pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 3 5 1.00 * pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 5 1.00 phminposuw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * phminposuw (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: 2 7 0.50 * pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 1.00 pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: 2 7 0.50 * pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 1.00 pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: 2 7 0.50 * pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmuldq %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmuldq (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmulld %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmulld (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 ptest %xmm0, %xmm1 +# CHECK-NEXT: 3 8 1.00 * ptest (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * roundps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * roundss $1, (%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: [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 @@ -267,101 +267,101 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: - - 26.00 47.50 5.00 52.50 24.50 24.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 - - blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - 0.50 - - blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 blendps $11, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - 1.00 - - blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - 1.00 0.50 0.50 blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - 1.00 - - blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - 1.00 0.50 0.50 blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - 1.00 0.50 0.50 dppd $22, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 2.00 - 1.00 - - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 2.00 - 1.00 0.50 0.50 dpps $22, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - 1.00 - - extractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 1.00 1.00 0.50 0.50 extractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 0.50 0.50 insertps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 0.50 0.50 movntdqa (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - 1.00 0.50 0.50 mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - packusdw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packusdw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - 0.50 1.00 0.50 0.50 0.50 pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - 1.00 0.50 1.00 0.50 0.50 0.50 pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - 1.00 0.50 1.00 0.50 0.50 0.50 pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - - 0.50 1.00 0.50 0.50 0.50 pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - phminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 phminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 1.50 - - pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 - 1.50 - - pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 - 1.50 - - pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxud %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxud (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxuw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pminsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pminsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pminud %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminud (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pminuw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminuw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pmuldq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmuldq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pmulld %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulld (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - 1.00 - - ptest %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - - 1.00 0.50 0.50 ptest (%rax), %xmm1 -# CHECK-NEXT: - - - 1.00 - - - - roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 roundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - - - roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 roundss $1, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - 0.50 - - 0.50 - - blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - 0.50 - - blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 blendps $11, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - 1.00 - - blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - 1.00 0.50 0.50 blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - 1.00 - - blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - 1.00 0.50 0.50 blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - 1.00 0.50 0.50 dppd $22, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 2.00 - 1.00 - - dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 2.00 - 1.00 0.50 0.50 dpps $22, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - 1.00 - - extractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 1.00 1.00 0.50 0.50 extractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 0.50 0.50 insertps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 0.50 0.50 movntdqa (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - 1.00 0.50 0.50 mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - packusdw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 packusdw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - 0.50 1.00 0.50 0.50 0.50 pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - 1.00 0.50 1.00 0.50 0.50 0.50 pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - 0.50 - - pextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - 1.00 0.50 1.00 0.50 0.50 0.50 pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - 0.50 1.00 0.50 0.50 0.50 pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - phminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 phminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 1.50 - - pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 - 1.50 - - pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 - 1.50 - - pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxud %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxud (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmaxuw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pminsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pminsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pminud %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminud (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pminuw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pminuw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pmuldq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmuldq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pmulld %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulld (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - 1.00 - - ptest %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - - 1.00 0.50 0.50 ptest (%rax), %xmm1 +# CHECK-NEXT: - - - 1.00 - - - - roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 roundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - - - roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 roundss $1, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse42.s index 8208a37..7914fb9 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse42.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse42.s @@ -39,35 +39,35 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx -# CHECK-NEXT: 1 4 2.67 pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 4 2.33 * pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 1 11 2.67 pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 11 2.33 * pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 3 11 3.00 pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 17 3.00 * pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 3 11 3.00 pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 17 3.00 * pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pcmpgtq (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx +# CHECK-NEXT: 1 4 2.67 pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 4 2.33 * pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 11 2.67 pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 11 2.33 * pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 11 3.00 pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 17 3.00 * pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pcmpgtq (%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: [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 @@ -76,25 +76,25 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: - - 24.00 20.00 - 10.00 5.00 5.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - crc32b %al, %ecx -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32b (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - crc32l %eax, %ecx -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32l (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - crc32w %ax, %ecx -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32w (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - crc32b %al, %rcx -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32b (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - - crc32q %rax, %rcx -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32q (%rax), %rcx -# CHECK-NEXT: - - 2.67 2.67 - 2.67 - - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 2.33 2.33 - 2.33 0.50 0.50 pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 2.67 2.67 - 2.67 - - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 2.33 2.33 - 2.33 0.50 0.50 pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - - - 0.50 0.50 pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - - - 0.50 0.50 pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pcmpgtq (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - crc32b %al, %ecx +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32b (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - crc32l %eax, %ecx +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32l (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - crc32w %ax, %ecx +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32w (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - crc32b %al, %rcx +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32b (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - crc32q %rax, %rcx +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 crc32q (%rax), %rcx +# CHECK-NEXT: - - 2.67 2.67 - 2.67 - - pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.33 2.33 - 2.33 0.50 0.50 pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 2.67 2.67 - 2.67 - - pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 2.33 2.33 - 2.33 0.50 0.50 pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - - - 0.50 0.50 pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - - - 0.50 0.50 pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pcmpgtq (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-ssse3.s index 7486d8e..b4ddf8c 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-ssse3.s @@ -105,79 +105,79 @@ psignw (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 palignr $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 3 3 1.50 phaddd %mm0, %mm2 -# CHECK-NEXT: 4 8 1.50 * phaddd (%rax), %mm2 -# CHECK-NEXT: 3 3 1.50 phaddd %xmm0, %xmm2 -# CHECK-NEXT: 4 9 1.50 * phaddd (%rax), %xmm2 -# CHECK-NEXT: 3 3 1.50 phaddsw %mm0, %mm2 -# CHECK-NEXT: 4 8 1.50 * phaddsw (%rax), %mm2 -# CHECK-NEXT: 3 3 1.50 phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 1.50 * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 1.50 phaddw %mm0, %mm2 -# CHECK-NEXT: 4 8 1.50 * phaddw (%rax), %mm2 -# CHECK-NEXT: 3 3 1.50 phaddw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 1.50 * phaddw (%rax), %xmm2 -# CHECK-NEXT: 3 3 1.50 phsubd %mm0, %mm2 -# CHECK-NEXT: 4 8 1.50 * phsubd (%rax), %mm2 -# CHECK-NEXT: 3 3 1.50 phsubd %xmm0, %xmm2 -# CHECK-NEXT: 4 9 1.50 * phsubd (%rax), %xmm2 -# CHECK-NEXT: 3 3 1.50 phsubsw %mm0, %mm2 -# CHECK-NEXT: 4 8 1.50 * phsubsw (%rax), %mm2 -# CHECK-NEXT: 3 3 1.50 phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 1.50 * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 1.50 phsubw %mm0, %mm2 -# CHECK-NEXT: 4 8 1.50 * phsubw (%rax), %mm2 -# CHECK-NEXT: 3 3 1.50 phsubw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 1.50 * phsubw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pshufb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pshufb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pshufb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignw (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 palignr $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 3 3 1.50 phaddd %mm0, %mm2 +# CHECK-NEXT: 4 8 1.50 * phaddd (%rax), %mm2 +# CHECK-NEXT: 3 3 1.50 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 4 9 1.50 * phaddd (%rax), %xmm2 +# CHECK-NEXT: 3 3 1.50 phaddsw %mm0, %mm2 +# CHECK-NEXT: 4 8 1.50 * phaddsw (%rax), %mm2 +# CHECK-NEXT: 3 3 1.50 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 1.50 * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 1.50 phaddw %mm0, %mm2 +# CHECK-NEXT: 4 8 1.50 * phaddw (%rax), %mm2 +# CHECK-NEXT: 3 3 1.50 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 1.50 * phaddw (%rax), %xmm2 +# CHECK-NEXT: 3 3 1.50 phsubd %mm0, %mm2 +# CHECK-NEXT: 4 8 1.50 * phsubd (%rax), %mm2 +# CHECK-NEXT: 3 3 1.50 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 4 9 1.50 * phsubd (%rax), %xmm2 +# CHECK-NEXT: 3 3 1.50 phsubsw %mm0, %mm2 +# CHECK-NEXT: 4 8 1.50 * phsubsw (%rax), %mm2 +# CHECK-NEXT: 3 3 1.50 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 1.50 * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 1.50 phsubw %mm0, %mm2 +# CHECK-NEXT: 4 8 1.50 * phsubw (%rax), %mm2 +# CHECK-NEXT: 3 3 1.50 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 1.50 * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pshufb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pshufb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignw (%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: [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 @@ -186,69 +186,69 @@ psignw (%rax), %xmm2 # CHECK-NEXT: - - 8.00 52.00 - 52.00 16.00 16.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 - - pabsb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - palignr $1, %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 palignr $1, (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 palignr $1, (%rax), %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddd %mm0, %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddd (%rax), %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddsw %mm0, %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddsw (%rax), %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddsw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddw %mm0, %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddw (%rax), %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubd %mm0, %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubd (%rax), %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubd %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubsw %mm0, %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubsw (%rax), %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubsw (%rax), %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubw %mm0, %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubw (%rax), %mm2 -# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubw %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pmaddubsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmaddubsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - pmulhrsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhrsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psignb %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignb (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psignb %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignb (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psignd %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignd (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psignd %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignd (%rax), %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psignw %mm0, %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignw (%rax), %mm2 -# CHECK-NEXT: - - - 0.50 - 0.50 - - psignw %xmm0, %xmm2 -# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignw (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pabsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pabsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - palignr $1, %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 palignr $1, (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 palignr $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddd %mm0, %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddd (%rax), %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddsw %mm0, %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddsw (%rax), %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddsw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddw %mm0, %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddw (%rax), %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phaddw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phaddw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubd %mm0, %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubd (%rax), %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubd %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubd (%rax), %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubsw %mm0, %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubsw (%rax), %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubsw (%rax), %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubw %mm0, %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubw (%rax), %mm2 +# CHECK-NEXT: - - - 1.50 - 1.50 - - phsubw %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.50 - 1.50 0.50 0.50 phsubw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pmaddubsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmaddubsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - pmulhrsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhrsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - pshufb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 pshufb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psignb %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignb (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psignb %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignb (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psignd %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignd (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psignd %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignd (%rax), %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psignw %mm0, %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignw (%rax), %mm2 +# CHECK-NEXT: - - - 0.50 - 0.50 - - psignw %xmm0, %xmm2 +# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 psignw (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s index a865064..e92de6b 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s @@ -606,554 +606,554 @@ xorq (%rax), %rdi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 2 0.67 adcb $7, %al -# CHECK-NEXT: 2 2 0.67 adcb $7, %dil -# CHECK-NEXT: 6 9 1.00 * * adcb $7, (%rax) -# CHECK-NEXT: 2 2 0.67 adcb %dil, %dil -# CHECK-NEXT: 6 9 1.00 * * adcb %dil, (%rax) -# CHECK-NEXT: 3 7 0.67 * adcb (%rax), %dil -# CHECK-NEXT: 2 2 0.67 adcw $511, %ax -# CHECK-NEXT: 2 2 0.67 adcw $511, %di -# CHECK-NEXT: 6 9 1.00 * * adcw $511, (%rax) -# CHECK-NEXT: 2 2 0.67 adcw $7, %di -# CHECK-NEXT: 6 9 1.00 * * adcw $7, (%rax) -# CHECK-NEXT: 2 2 0.67 adcw %di, %di -# CHECK-NEXT: 6 9 1.00 * * adcw %di, (%rax) -# CHECK-NEXT: 3 7 0.67 * adcw (%rax), %di -# CHECK-NEXT: 2 2 0.67 adcl $665536, %eax -# CHECK-NEXT: 2 2 0.67 adcl $665536, %edi -# CHECK-NEXT: 6 9 1.00 * * adcl $665536, (%rax) -# CHECK-NEXT: 2 2 0.67 adcl $7, %edi -# CHECK-NEXT: 6 9 1.00 * * adcl $7, (%rax) -# CHECK-NEXT: 2 2 0.67 adcl %edi, %edi -# CHECK-NEXT: 6 9 1.00 * * adcl %edi, (%rax) -# CHECK-NEXT: 3 7 0.67 * adcl (%rax), %edi -# CHECK-NEXT: 2 2 0.67 adcq $665536, %rax -# CHECK-NEXT: 2 2 0.67 adcq $665536, %rdi -# CHECK-NEXT: 6 9 1.00 * * adcq $665536, (%rax) -# CHECK-NEXT: 2 2 0.67 adcq $7, %rdi -# CHECK-NEXT: 6 9 1.00 * * adcq $7, (%rax) -# CHECK-NEXT: 2 2 0.67 adcq %rdi, %rdi -# CHECK-NEXT: 6 9 1.00 * * adcq %rdi, (%rax) -# CHECK-NEXT: 3 7 0.67 * adcq (%rax), %rdi -# CHECK-NEXT: 1 1 0.33 addb $7, %al -# CHECK-NEXT: 1 1 0.33 addb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) -# CHECK-NEXT: 1 1 0.33 addb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil -# CHECK-NEXT: 1 1 0.33 addw $511, %ax -# CHECK-NEXT: 1 1 0.33 addw $511, %di -# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) -# CHECK-NEXT: 1 1 0.33 addw $7, %di -# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) -# CHECK-NEXT: 1 1 0.33 addw %di, %di -# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di -# CHECK-NEXT: 1 1 0.33 addl $665536, %eax -# CHECK-NEXT: 1 1 0.33 addl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 addl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) -# CHECK-NEXT: 1 1 0.33 addl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi -# CHECK-NEXT: 1 1 0.33 addq $665536, %rax -# CHECK-NEXT: 1 1 0.33 addq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 addq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) -# CHECK-NEXT: 1 1 0.33 addq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi -# CHECK-NEXT: 1 1 0.33 andb $7, %al -# CHECK-NEXT: 1 1 0.33 andb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) -# CHECK-NEXT: 1 1 0.33 andb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil -# CHECK-NEXT: 1 1 0.33 andw $511, %ax -# CHECK-NEXT: 1 1 0.33 andw $511, %di -# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) -# CHECK-NEXT: 1 1 0.33 andw $7, %di -# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) -# CHECK-NEXT: 1 1 0.33 andw %di, %di -# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di -# CHECK-NEXT: 1 1 0.33 andl $665536, %eax -# CHECK-NEXT: 1 1 0.33 andl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 andl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) -# CHECK-NEXT: 1 1 0.33 andl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi -# CHECK-NEXT: 1 1 0.33 andq $665536, %rax -# CHECK-NEXT: 1 1 0.33 andq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 andq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) -# CHECK-NEXT: 1 1 0.33 andq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 btw %si, %di -# CHECK-NEXT: 1 1 0.50 btcw %si, %di -# CHECK-NEXT: 1 1 0.50 btrw %si, %di -# CHECK-NEXT: 1 1 0.50 btsw %si, %di -# CHECK-NEXT: 6 9 1.00 * btw %si, (%rax) -# CHECK-NEXT: 6 9 1.00 * * btcw %si, (%rax) -# CHECK-NEXT: 6 9 1.00 * * btrw %si, (%rax) -# CHECK-NEXT: 6 9 1.00 * * btsw %si, (%rax) -# CHECK-NEXT: 1 1 0.50 btw $7, %di -# CHECK-NEXT: 1 1 0.50 btcw $7, %di -# CHECK-NEXT: 1 1 0.50 btrw $7, %di -# CHECK-NEXT: 1 1 0.50 btsw $7, %di -# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btcw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btrw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btsw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi -# CHECK-NEXT: 6 9 1.00 * btl %esi, (%rax) -# CHECK-NEXT: 6 9 1.00 * * btcl %esi, (%rax) -# CHECK-NEXT: 6 9 1.00 * * btrl %esi, (%rax) -# CHECK-NEXT: 6 9 1.00 * * btsl %esi, (%rax) -# CHECK-NEXT: 1 1 0.50 btl $7, %edi -# CHECK-NEXT: 1 1 0.50 btcl $7, %edi -# CHECK-NEXT: 1 1 0.50 btrl $7, %edi -# CHECK-NEXT: 1 1 0.50 btsl $7, %edi -# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btcl $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btrl $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btsl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi -# CHECK-NEXT: 6 9 1.00 * btq %rsi, (%rax) -# CHECK-NEXT: 6 9 1.00 * * btcq %rsi, (%rax) -# CHECK-NEXT: 6 9 1.00 * * btrq %rsi, (%rax) -# CHECK-NEXT: 6 9 1.00 * * btsq %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 btq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi -# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 0.33 decb %dil -# CHECK-NEXT: 3 7 1.00 * * decb (%rax) -# CHECK-NEXT: 1 1 0.33 decw %di -# CHECK-NEXT: 3 7 1.00 * * decw (%rax) -# CHECK-NEXT: 1 1 0.33 decl %edi -# CHECK-NEXT: 3 7 1.00 * * decl (%rax) -# CHECK-NEXT: 1 1 0.33 decq %rdi -# CHECK-NEXT: 3 7 1.00 * * decq (%rax) -# CHECK-NEXT: 1 25 10.00 * divb %dil -# CHECK-NEXT: 2 30 10.00 * * divb (%rax) -# CHECK-NEXT: 1 25 10.00 * divw %si -# CHECK-NEXT: 2 30 10.00 * * divw (%rax) -# CHECK-NEXT: 1 25 10.00 * divl %edx -# CHECK-NEXT: 2 30 10.00 * * divl (%rax) -# CHECK-NEXT: 1 25 10.00 * divq %rcx -# CHECK-NEXT: 2 30 10.00 * * divq (%rax) -# CHECK-NEXT: 1 25 10.00 * idivb %dil -# CHECK-NEXT: 2 30 10.00 * * idivb (%rax) -# CHECK-NEXT: 1 25 10.00 * idivw %si -# CHECK-NEXT: 2 30 10.00 * * idivw (%rax) -# CHECK-NEXT: 1 25 10.00 * idivl %edx -# CHECK-NEXT: 2 30 10.00 * * idivl (%rax) -# CHECK-NEXT: 1 25 10.00 * idivq %rcx -# CHECK-NEXT: 2 30 10.00 * * idivq (%rax) -# CHECK-NEXT: 1 3 1.00 imulb %dil -# CHECK-NEXT: 2 8 1.00 * imulb (%rax) -# CHECK-NEXT: 4 4 1.33 imulw %di -# CHECK-NEXT: 5 9 1.33 * imulw (%rax) -# CHECK-NEXT: 1 3 1.00 imulw %di, %di -# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di -# CHECK-NEXT: 3 4 1.00 imull %edi -# CHECK-NEXT: 4 9 1.00 * imull (%rax) -# CHECK-NEXT: 1 3 1.00 imull %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi -# CHECK-NEXT: 2 4 1.00 imulq %rdi -# CHECK-NEXT: 3 9 1.00 * imulq (%rax) -# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi -# CHECK-NEXT: 1 1 0.33 incb %dil -# CHECK-NEXT: 3 7 1.00 * * incb (%rax) -# CHECK-NEXT: 1 1 0.33 incw %di -# CHECK-NEXT: 3 7 1.00 * * incw (%rax) -# CHECK-NEXT: 1 1 0.33 incl %edi -# CHECK-NEXT: 3 7 1.00 * * incl (%rax) -# CHECK-NEXT: 1 1 0.33 incq %rdi -# CHECK-NEXT: 3 7 1.00 * * incq (%rax) -# CHECK-NEXT: 1 3 1.00 mulb %dil -# CHECK-NEXT: 2 8 1.00 * mulb (%rax) -# CHECK-NEXT: 4 4 1.33 mulw %si -# CHECK-NEXT: 5 9 1.33 * mulw (%rax) -# CHECK-NEXT: 3 4 1.00 mull %edx -# CHECK-NEXT: 4 9 1.00 * mull (%rax) -# CHECK-NEXT: 2 4 1.00 mulq %rcx -# CHECK-NEXT: 3 9 1.00 * mulq (%rax) -# CHECK-NEXT: 1 1 0.33 negb %dil -# CHECK-NEXT: 3 7 1.00 * * negb (%r8) -# CHECK-NEXT: 1 1 0.33 negw %si -# CHECK-NEXT: 3 7 1.00 * * negw (%r9) -# CHECK-NEXT: 1 1 0.33 negl %edx -# CHECK-NEXT: 3 7 1.00 * * negl (%rax) -# CHECK-NEXT: 1 1 0.33 negq %rcx -# CHECK-NEXT: 3 7 1.00 * * negq (%r10) -# CHECK-NEXT: 1 1 - nop -# CHECK-NEXT: 1 1 - nopw %di -# CHECK-NEXT: 1 1 - nopw (%rcx) -# CHECK-NEXT: 1 1 - nopl %esi -# CHECK-NEXT: 1 1 - nopl (%r8) -# CHECK-NEXT: 1 1 - nopq %rdx -# CHECK-NEXT: 1 1 - nopq (%r9) -# CHECK-NEXT: 1 1 0.33 notb %dil -# CHECK-NEXT: 3 7 1.00 * * notb (%r8) -# CHECK-NEXT: 1 1 0.33 notw %si -# CHECK-NEXT: 3 7 1.00 * * notw (%r9) -# CHECK-NEXT: 1 1 0.33 notl %edx -# CHECK-NEXT: 3 7 1.00 * * notl (%rax) -# CHECK-NEXT: 1 1 0.33 notq %rcx -# CHECK-NEXT: 3 7 1.00 * * notq (%r10) -# CHECK-NEXT: 1 1 0.33 orb $7, %al -# CHECK-NEXT: 1 1 0.33 orb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) -# CHECK-NEXT: 1 1 0.33 orb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil -# CHECK-NEXT: 1 1 0.33 orw $511, %ax -# CHECK-NEXT: 1 1 0.33 orw $511, %di -# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) -# CHECK-NEXT: 1 1 0.33 orw $7, %di -# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) -# CHECK-NEXT: 1 1 0.33 orw %di, %di -# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di -# CHECK-NEXT: 1 1 0.33 orl $665536, %eax -# CHECK-NEXT: 1 1 0.33 orl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 orl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) -# CHECK-NEXT: 1 1 0.33 orl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi -# CHECK-NEXT: 1 1 0.33 orq $665536, %rax -# CHECK-NEXT: 1 1 0.33 orq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 orq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) -# CHECK-NEXT: 1 1 0.33 orq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 rclb %dil -# CHECK-NEXT: 1 1 0.50 rcrb %dil -# CHECK-NEXT: 3 6 1.00 * rclb (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrb (%rax) -# CHECK-NEXT: 1 1 0.50 rclb $7, %dil -# CHECK-NEXT: 1 1 0.50 rcrb $7, %dil -# CHECK-NEXT: 3 6 1.00 * rclb $7, (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rclb %cl, %dil -# CHECK-NEXT: 1 1 0.50 rcrb %cl, %dil -# CHECK-NEXT: 3 6 1.00 * rclb %cl, (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 rclw %di -# CHECK-NEXT: 1 1 0.50 rcrw %di -# CHECK-NEXT: 3 6 1.00 * rclw (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrw (%rax) -# CHECK-NEXT: 1 1 0.50 rclw $7, %di -# CHECK-NEXT: 1 1 0.50 rcrw $7, %di -# CHECK-NEXT: 3 6 1.00 * rclw $7, (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rclw %cl, %di -# CHECK-NEXT: 1 1 0.50 rcrw %cl, %di -# CHECK-NEXT: 3 6 1.00 * rclw %cl, (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 rcll %edi -# CHECK-NEXT: 1 1 0.50 rcrl %edi -# CHECK-NEXT: 3 6 1.00 * rcll (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrl (%rax) -# CHECK-NEXT: 1 1 0.50 rcll $7, %edi -# CHECK-NEXT: 1 1 0.50 rcrl $7, %edi -# CHECK-NEXT: 3 6 1.00 * rcll $7, (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rcll %cl, %edi -# CHECK-NEXT: 1 1 0.50 rcrl %cl, %edi -# CHECK-NEXT: 3 6 1.00 * rcll %cl, (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 rclq %rdi -# CHECK-NEXT: 1 1 0.50 rcrq %rdi -# CHECK-NEXT: 3 6 1.00 * rclq (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrq (%rax) -# CHECK-NEXT: 1 1 0.50 rclq $7, %rdi -# CHECK-NEXT: 1 1 0.50 rcrq $7, %rdi -# CHECK-NEXT: 3 6 1.00 * rclq $7, (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 rclq %cl, %rdi -# CHECK-NEXT: 1 1 0.50 rcrq %cl, %rdi -# CHECK-NEXT: 3 6 1.00 * rclq %cl, (%rax) -# CHECK-NEXT: 3 6 1.00 * rcrq %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolb %dil -# CHECK-NEXT: 2 2 1.00 rorb %dil -# CHECK-NEXT: 5 8 1.00 * * rolb (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorb (%rax) -# CHECK-NEXT: 2 2 1.00 rolb $7, %dil -# CHECK-NEXT: 2 2 1.00 rorb $7, %dil -# CHECK-NEXT: 5 8 1.00 * * rolb $7, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorb $7, (%rax) -# CHECK-NEXT: 3 3 1.50 rolb %cl, %dil -# CHECK-NEXT: 3 3 1.50 rorb %cl, %dil -# CHECK-NEXT: 6 9 1.50 * * rolb %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * rorb %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolw %di -# CHECK-NEXT: 2 2 1.00 rorw %di -# CHECK-NEXT: 5 8 1.00 * * rolw (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorw (%rax) -# CHECK-NEXT: 2 2 1.00 rolw $7, %di -# CHECK-NEXT: 2 2 1.00 rorw $7, %di -# CHECK-NEXT: 5 8 1.00 * * rolw $7, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorw $7, (%rax) -# CHECK-NEXT: 3 3 1.50 rolw %cl, %di -# CHECK-NEXT: 3 3 1.50 rorw %cl, %di -# CHECK-NEXT: 6 9 1.50 * * rolw %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * rorw %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 roll %edi -# CHECK-NEXT: 2 2 1.00 rorl %edi -# CHECK-NEXT: 5 8 1.00 * * roll (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorl (%rax) -# CHECK-NEXT: 2 2 1.00 roll $7, %edi -# CHECK-NEXT: 2 2 1.00 rorl $7, %edi -# CHECK-NEXT: 5 8 1.00 * * roll $7, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorl $7, (%rax) -# CHECK-NEXT: 3 3 1.50 roll %cl, %edi -# CHECK-NEXT: 3 3 1.50 rorl %cl, %edi -# CHECK-NEXT: 6 9 1.50 * * roll %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * rorl %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolq %rdi -# CHECK-NEXT: 2 2 1.00 rorq %rdi -# CHECK-NEXT: 5 8 1.00 * * rolq (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorq (%rax) -# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi -# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi -# CHECK-NEXT: 5 8 1.00 * * rolq $7, (%rax) -# CHECK-NEXT: 5 8 1.00 * * rorq $7, (%rax) -# CHECK-NEXT: 3 3 1.50 rolq %cl, %rdi -# CHECK-NEXT: 3 3 1.50 rorq %cl, %rdi -# CHECK-NEXT: 6 9 1.50 * * rolq %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * rorq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarb %dil -# CHECK-NEXT: 1 1 0.50 shlb %dil -# CHECK-NEXT: 1 1 0.50 shrb %dil -# CHECK-NEXT: 4 7 1.00 * * sarb (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlb (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrb (%rax) -# CHECK-NEXT: 1 1 0.50 sarb $7, %dil -# CHECK-NEXT: 1 1 0.50 shlb $7, %dil -# CHECK-NEXT: 1 1 0.50 shrb $7, %dil -# CHECK-NEXT: 4 7 1.00 * * sarb $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlb $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrb $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarb %cl, %dil -# CHECK-NEXT: 3 3 1.50 shlb %cl, %dil -# CHECK-NEXT: 3 3 1.50 shrb %cl, %dil -# CHECK-NEXT: 6 9 1.50 * * sarb %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * shlb %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * shrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarw %di -# CHECK-NEXT: 1 1 0.50 shlw %di -# CHECK-NEXT: 1 1 0.50 shrw %di -# CHECK-NEXT: 4 7 1.00 * * sarw (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlw (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrw (%rax) -# CHECK-NEXT: 1 1 0.50 sarw $7, %di -# CHECK-NEXT: 1 1 0.50 shlw $7, %di -# CHECK-NEXT: 1 1 0.50 shrw $7, %di -# CHECK-NEXT: 4 7 1.00 * * sarw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlw $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrw $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarw %cl, %di -# CHECK-NEXT: 3 3 1.50 shlw %cl, %di -# CHECK-NEXT: 3 3 1.50 shrw %cl, %di -# CHECK-NEXT: 6 9 1.50 * * sarw %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * shlw %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * shrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarl %edi -# CHECK-NEXT: 1 1 0.50 shll %edi -# CHECK-NEXT: 1 1 0.50 shrl %edi -# CHECK-NEXT: 4 7 1.00 * * sarl (%rax) -# CHECK-NEXT: 4 7 1.00 * * shll (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrl (%rax) -# CHECK-NEXT: 1 1 0.50 sarl $7, %edi -# CHECK-NEXT: 1 1 0.50 shll $7, %edi -# CHECK-NEXT: 1 1 0.50 shrl $7, %edi -# CHECK-NEXT: 4 7 1.00 * * sarl $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shll $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrl $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarl %cl, %edi -# CHECK-NEXT: 3 3 1.50 shll %cl, %edi -# CHECK-NEXT: 3 3 1.50 shrl %cl, %edi -# CHECK-NEXT: 6 9 1.50 * * sarl %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * shll %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * shrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarq %rdi -# CHECK-NEXT: 1 1 0.50 shlq %rdi -# CHECK-NEXT: 1 1 0.50 shrq %rdi -# CHECK-NEXT: 4 7 1.00 * * sarq (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlq (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrq (%rax) -# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi -# CHECK-NEXT: 4 7 1.00 * * sarq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shlq $7, (%rax) -# CHECK-NEXT: 4 7 1.00 * * shrq $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarq %cl, %rdi -# CHECK-NEXT: 3 3 1.50 shlq %cl, %rdi -# CHECK-NEXT: 3 3 1.50 shrq %cl, %rdi -# CHECK-NEXT: 6 9 1.50 * * sarq %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * shlq %cl, (%rax) -# CHECK-NEXT: 6 9 1.50 * * shrq %cl, (%rax) -# CHECK-NEXT: 2 2 0.67 sbbb $7, %al -# CHECK-NEXT: 2 2 0.67 sbbb $7, %dil -# CHECK-NEXT: 6 9 1.00 * * sbbb $7, (%rax) -# CHECK-NEXT: 2 2 0.67 sbbb %dil, %dil -# CHECK-NEXT: 6 9 1.00 * * sbbb %dil, (%rax) -# CHECK-NEXT: 3 7 0.67 * sbbb (%rax), %dil -# CHECK-NEXT: 2 2 0.67 sbbw $511, %ax -# CHECK-NEXT: 2 2 0.67 sbbw $511, %di -# CHECK-NEXT: 6 9 1.00 * * sbbw $511, (%rax) -# CHECK-NEXT: 2 2 0.67 sbbw $7, %di -# CHECK-NEXT: 6 9 1.00 * * sbbw $7, (%rax) -# CHECK-NEXT: 2 2 0.67 sbbw %di, %di -# CHECK-NEXT: 6 9 1.00 * * sbbw %di, (%rax) -# CHECK-NEXT: 3 7 0.67 * sbbw (%rax), %di -# CHECK-NEXT: 2 2 0.67 sbbl $665536, %eax -# CHECK-NEXT: 2 2 0.67 sbbl $665536, %edi -# CHECK-NEXT: 6 9 1.00 * * sbbl $665536, (%rax) -# CHECK-NEXT: 2 2 0.67 sbbl $7, %edi -# CHECK-NEXT: 6 9 1.00 * * sbbl $7, (%rax) -# CHECK-NEXT: 2 2 0.67 sbbl %edi, %edi -# CHECK-NEXT: 6 9 1.00 * * sbbl %edi, (%rax) -# CHECK-NEXT: 3 7 0.67 * sbbl (%rax), %edi -# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rax -# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rdi -# CHECK-NEXT: 6 9 1.00 * * sbbq $665536, (%rax) -# CHECK-NEXT: 2 2 0.67 sbbq $7, %rdi -# CHECK-NEXT: 6 9 1.00 * * sbbq $7, (%rax) -# CHECK-NEXT: 2 2 0.67 sbbq %rdi, %rdi -# CHECK-NEXT: 6 9 1.00 * * sbbq %rdi, (%rax) -# CHECK-NEXT: 3 7 0.67 * sbbq (%rax), %rdi -# CHECK-NEXT: 4 4 1.50 shldw %cl, %si, %di -# CHECK-NEXT: 4 4 1.50 shrdw %cl, %si, %di -# CHECK-NEXT: 7 10 1.50 * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 7 10 1.50 * * shrdw %cl, %si, (%rax) -# CHECK-NEXT: 2 2 0.67 shldw $7, %si, %di -# CHECK-NEXT: 2 2 0.67 shrdw $7, %si, %di -# CHECK-NEXT: 5 8 1.00 * * shldw $7, %si, (%rax) -# CHECK-NEXT: 5 8 1.00 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 4 4 1.50 shldl %cl, %esi, %edi -# CHECK-NEXT: 4 4 1.50 shrdl %cl, %esi, %edi -# CHECK-NEXT: 7 10 1.50 * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 7 10 1.50 * * shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 2 2 0.67 shldl $7, %esi, %edi -# CHECK-NEXT: 2 2 0.67 shrdl $7, %esi, %edi -# CHECK-NEXT: 5 8 1.00 * * shldl $7, %esi, (%rax) -# CHECK-NEXT: 5 8 1.00 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 4 4 1.50 shldq %cl, %rsi, %rdi -# CHECK-NEXT: 4 4 1.50 shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 7 10 1.50 * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 7 10 1.50 * * shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 2 2 0.67 shldq $7, %rsi, %rdi -# CHECK-NEXT: 2 2 0.67 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 5 8 1.00 * * shldq $7, %rsi, (%rax) -# CHECK-NEXT: 5 8 1.00 * * shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.33 subb $7, %al -# CHECK-NEXT: 1 1 0.33 subb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) -# CHECK-NEXT: 1 1 0.33 subb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil -# CHECK-NEXT: 1 1 0.33 subw $511, %ax -# CHECK-NEXT: 1 1 0.33 subw $511, %di -# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) -# CHECK-NEXT: 1 1 0.33 subw $7, %di -# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) -# CHECK-NEXT: 1 1 0.33 subw %di, %di -# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di -# CHECK-NEXT: 1 1 0.33 subl $665536, %eax -# CHECK-NEXT: 1 1 0.33 subl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 subl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) -# CHECK-NEXT: 1 1 0.33 subl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi -# CHECK-NEXT: 1 1 0.33 subq $665536, %rax -# CHECK-NEXT: 1 1 0.33 subq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 subq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) -# CHECK-NEXT: 1 1 0.33 subq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi -# CHECK-NEXT: 1 1 0.33 xorb $7, %al -# CHECK-NEXT: 1 1 0.33 xorb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) -# CHECK-NEXT: 1 1 0.33 xorb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil -# CHECK-NEXT: 1 1 0.33 xorw $511, %ax -# CHECK-NEXT: 1 1 0.33 xorw $511, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) -# CHECK-NEXT: 1 1 0.33 xorw $7, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) -# CHECK-NEXT: 1 1 0.33 xorw %di, %di -# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di -# CHECK-NEXT: 1 1 0.33 xorl $665536, %eax -# CHECK-NEXT: 1 1 0.33 xorl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 xorl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) -# CHECK-NEXT: 1 1 0.33 xorl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi -# CHECK-NEXT: 1 1 0.33 xorq $665536, %rax -# CHECK-NEXT: 1 1 0.33 xorq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) -# CHECK-NEXT: 1 1 0.33 xorq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) -# CHECK-NEXT: 1 1 0.33 xorq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorq (%rax), %rdi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 2 0.67 adcb $7, %al +# CHECK-NEXT: 2 2 0.67 adcb $7, %dil +# CHECK-NEXT: 6 9 1.00 * * adcb $7, (%rax) +# CHECK-NEXT: 2 2 0.67 adcb %dil, %dil +# CHECK-NEXT: 6 9 1.00 * * adcb %dil, (%rax) +# CHECK-NEXT: 3 7 0.67 * adcb (%rax), %dil +# CHECK-NEXT: 2 2 0.67 adcw $511, %ax +# CHECK-NEXT: 2 2 0.67 adcw $511, %di +# CHECK-NEXT: 6 9 1.00 * * adcw $511, (%rax) +# CHECK-NEXT: 2 2 0.67 adcw $7, %di +# CHECK-NEXT: 6 9 1.00 * * adcw $7, (%rax) +# CHECK-NEXT: 2 2 0.67 adcw %di, %di +# CHECK-NEXT: 6 9 1.00 * * adcw %di, (%rax) +# CHECK-NEXT: 3 7 0.67 * adcw (%rax), %di +# CHECK-NEXT: 2 2 0.67 adcl $665536, %eax +# CHECK-NEXT: 2 2 0.67 adcl $665536, %edi +# CHECK-NEXT: 6 9 1.00 * * adcl $665536, (%rax) +# CHECK-NEXT: 2 2 0.67 adcl $7, %edi +# CHECK-NEXT: 6 9 1.00 * * adcl $7, (%rax) +# CHECK-NEXT: 2 2 0.67 adcl %edi, %edi +# CHECK-NEXT: 6 9 1.00 * * adcl %edi, (%rax) +# CHECK-NEXT: 3 7 0.67 * adcl (%rax), %edi +# CHECK-NEXT: 2 2 0.67 adcq $665536, %rax +# CHECK-NEXT: 2 2 0.67 adcq $665536, %rdi +# CHECK-NEXT: 6 9 1.00 * * adcq $665536, (%rax) +# CHECK-NEXT: 2 2 0.67 adcq $7, %rdi +# CHECK-NEXT: 6 9 1.00 * * adcq $7, (%rax) +# CHECK-NEXT: 2 2 0.67 adcq %rdi, %rdi +# CHECK-NEXT: 6 9 1.00 * * adcq %rdi, (%rax) +# CHECK-NEXT: 3 7 0.67 * adcq (%rax), %rdi +# CHECK-NEXT: 1 1 0.33 addb $7, %al +# CHECK-NEXT: 1 1 0.33 addb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) +# CHECK-NEXT: 1 1 0.33 addb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil +# CHECK-NEXT: 1 1 0.33 addw $511, %ax +# CHECK-NEXT: 1 1 0.33 addw $511, %di +# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) +# CHECK-NEXT: 1 1 0.33 addw $7, %di +# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) +# CHECK-NEXT: 1 1 0.33 addw %di, %di +# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di +# CHECK-NEXT: 1 1 0.33 addl $665536, %eax +# CHECK-NEXT: 1 1 0.33 addl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 addl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) +# CHECK-NEXT: 1 1 0.33 addl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi +# CHECK-NEXT: 1 1 0.33 addq $665536, %rax +# CHECK-NEXT: 1 1 0.33 addq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 addq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) +# CHECK-NEXT: 1 1 0.33 addq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi +# CHECK-NEXT: 1 1 0.33 andb $7, %al +# CHECK-NEXT: 1 1 0.33 andb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) +# CHECK-NEXT: 1 1 0.33 andb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil +# CHECK-NEXT: 1 1 0.33 andw $511, %ax +# CHECK-NEXT: 1 1 0.33 andw $511, %di +# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) +# CHECK-NEXT: 1 1 0.33 andw $7, %di +# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) +# CHECK-NEXT: 1 1 0.33 andw %di, %di +# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di +# CHECK-NEXT: 1 1 0.33 andl $665536, %eax +# CHECK-NEXT: 1 1 0.33 andl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 andl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) +# CHECK-NEXT: 1 1 0.33 andl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi +# CHECK-NEXT: 1 1 0.33 andq $665536, %rax +# CHECK-NEXT: 1 1 0.33 andq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 andq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) +# CHECK-NEXT: 1 1 0.33 andq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 btw %si, %di +# CHECK-NEXT: 1 1 0.50 btcw %si, %di +# CHECK-NEXT: 1 1 0.50 btrw %si, %di +# CHECK-NEXT: 1 1 0.50 btsw %si, %di +# CHECK-NEXT: 6 9 1.00 * btw %si, (%rax) +# CHECK-NEXT: 6 9 1.00 * * btcw %si, (%rax) +# CHECK-NEXT: 6 9 1.00 * * btrw %si, (%rax) +# CHECK-NEXT: 6 9 1.00 * * btsw %si, (%rax) +# CHECK-NEXT: 1 1 0.50 btw $7, %di +# CHECK-NEXT: 1 1 0.50 btcw $7, %di +# CHECK-NEXT: 1 1 0.50 btrw $7, %di +# CHECK-NEXT: 1 1 0.50 btsw $7, %di +# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btcw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btrw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btsw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi +# CHECK-NEXT: 6 9 1.00 * btl %esi, (%rax) +# CHECK-NEXT: 6 9 1.00 * * btcl %esi, (%rax) +# CHECK-NEXT: 6 9 1.00 * * btrl %esi, (%rax) +# CHECK-NEXT: 6 9 1.00 * * btsl %esi, (%rax) +# CHECK-NEXT: 1 1 0.50 btl $7, %edi +# CHECK-NEXT: 1 1 0.50 btcl $7, %edi +# CHECK-NEXT: 1 1 0.50 btrl $7, %edi +# CHECK-NEXT: 1 1 0.50 btsl $7, %edi +# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btcl $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btrl $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btsl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi +# CHECK-NEXT: 6 9 1.00 * btq %rsi, (%rax) +# CHECK-NEXT: 6 9 1.00 * * btcq %rsi, (%rax) +# CHECK-NEXT: 6 9 1.00 * * btrq %rsi, (%rax) +# CHECK-NEXT: 6 9 1.00 * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 btq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi +# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax) +# CHECK-NEXT: 1 1 0.33 decb %dil +# CHECK-NEXT: 3 7 1.00 * * decb (%rax) +# CHECK-NEXT: 1 1 0.33 decw %di +# CHECK-NEXT: 3 7 1.00 * * decw (%rax) +# CHECK-NEXT: 1 1 0.33 decl %edi +# CHECK-NEXT: 3 7 1.00 * * decl (%rax) +# CHECK-NEXT: 1 1 0.33 decq %rdi +# CHECK-NEXT: 3 7 1.00 * * decq (%rax) +# CHECK-NEXT: 1 25 10.00 * divb %dil +# CHECK-NEXT: 2 30 10.00 * * divb (%rax) +# CHECK-NEXT: 1 25 10.00 * divw %si +# CHECK-NEXT: 2 30 10.00 * * divw (%rax) +# CHECK-NEXT: 1 25 10.00 * divl %edx +# CHECK-NEXT: 2 30 10.00 * * divl (%rax) +# CHECK-NEXT: 1 25 10.00 * divq %rcx +# CHECK-NEXT: 2 30 10.00 * * divq (%rax) +# CHECK-NEXT: 1 25 10.00 * idivb %dil +# CHECK-NEXT: 2 30 10.00 * * idivb (%rax) +# CHECK-NEXT: 1 25 10.00 * idivw %si +# CHECK-NEXT: 2 30 10.00 * * idivw (%rax) +# CHECK-NEXT: 1 25 10.00 * idivl %edx +# CHECK-NEXT: 2 30 10.00 * * idivl (%rax) +# CHECK-NEXT: 1 25 10.00 * idivq %rcx +# CHECK-NEXT: 2 30 10.00 * * idivq (%rax) +# CHECK-NEXT: 1 3 1.00 imulb %dil +# CHECK-NEXT: 2 8 1.00 * imulb (%rax) +# CHECK-NEXT: 4 4 1.33 imulw %di +# CHECK-NEXT: 5 9 1.33 * imulw (%rax) +# CHECK-NEXT: 1 3 1.00 imulw %di, %di +# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di +# CHECK-NEXT: 3 4 1.00 imull %edi +# CHECK-NEXT: 4 9 1.00 * imull (%rax) +# CHECK-NEXT: 1 3 1.00 imull %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi +# CHECK-NEXT: 2 4 1.00 imulq %rdi +# CHECK-NEXT: 3 9 1.00 * imulq (%rax) +# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi +# CHECK-NEXT: 1 1 0.33 incb %dil +# CHECK-NEXT: 3 7 1.00 * * incb (%rax) +# CHECK-NEXT: 1 1 0.33 incw %di +# CHECK-NEXT: 3 7 1.00 * * incw (%rax) +# CHECK-NEXT: 1 1 0.33 incl %edi +# CHECK-NEXT: 3 7 1.00 * * incl (%rax) +# CHECK-NEXT: 1 1 0.33 incq %rdi +# CHECK-NEXT: 3 7 1.00 * * incq (%rax) +# CHECK-NEXT: 1 3 1.00 mulb %dil +# CHECK-NEXT: 2 8 1.00 * mulb (%rax) +# CHECK-NEXT: 4 4 1.33 mulw %si +# CHECK-NEXT: 5 9 1.33 * mulw (%rax) +# CHECK-NEXT: 3 4 1.00 mull %edx +# CHECK-NEXT: 4 9 1.00 * mull (%rax) +# CHECK-NEXT: 2 4 1.00 mulq %rcx +# CHECK-NEXT: 3 9 1.00 * mulq (%rax) +# CHECK-NEXT: 1 1 0.33 negb %dil +# CHECK-NEXT: 3 7 1.00 * * negb (%r8) +# CHECK-NEXT: 1 1 0.33 negw %si +# CHECK-NEXT: 3 7 1.00 * * negw (%r9) +# CHECK-NEXT: 1 1 0.33 negl %edx +# CHECK-NEXT: 3 7 1.00 * * negl (%rax) +# CHECK-NEXT: 1 1 0.33 negq %rcx +# CHECK-NEXT: 3 7 1.00 * * negq (%r10) +# CHECK-NEXT: 1 1 - nop +# CHECK-NEXT: 1 1 - nopw %di +# CHECK-NEXT: 1 1 - nopw (%rcx) +# CHECK-NEXT: 1 1 - nopl %esi +# CHECK-NEXT: 1 1 - nopl (%r8) +# CHECK-NEXT: 1 1 - nopq %rdx +# CHECK-NEXT: 1 1 - nopq (%r9) +# CHECK-NEXT: 1 1 0.33 notb %dil +# CHECK-NEXT: 3 7 1.00 * * notb (%r8) +# CHECK-NEXT: 1 1 0.33 notw %si +# CHECK-NEXT: 3 7 1.00 * * notw (%r9) +# CHECK-NEXT: 1 1 0.33 notl %edx +# CHECK-NEXT: 3 7 1.00 * * notl (%rax) +# CHECK-NEXT: 1 1 0.33 notq %rcx +# CHECK-NEXT: 3 7 1.00 * * notq (%r10) +# CHECK-NEXT: 1 1 0.33 orb $7, %al +# CHECK-NEXT: 1 1 0.33 orb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) +# CHECK-NEXT: 1 1 0.33 orb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil +# CHECK-NEXT: 1 1 0.33 orw $511, %ax +# CHECK-NEXT: 1 1 0.33 orw $511, %di +# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) +# CHECK-NEXT: 1 1 0.33 orw $7, %di +# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) +# CHECK-NEXT: 1 1 0.33 orw %di, %di +# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di +# CHECK-NEXT: 1 1 0.33 orl $665536, %eax +# CHECK-NEXT: 1 1 0.33 orl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 orl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) +# CHECK-NEXT: 1 1 0.33 orl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi +# CHECK-NEXT: 1 1 0.33 orq $665536, %rax +# CHECK-NEXT: 1 1 0.33 orq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 orq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) +# CHECK-NEXT: 1 1 0.33 orq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 rclb %dil +# CHECK-NEXT: 1 1 0.50 rcrb %dil +# CHECK-NEXT: 3 6 1.00 * rclb (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrb (%rax) +# CHECK-NEXT: 1 1 0.50 rclb $7, %dil +# CHECK-NEXT: 1 1 0.50 rcrb $7, %dil +# CHECK-NEXT: 3 6 1.00 * rclb $7, (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rclb %cl, %dil +# CHECK-NEXT: 1 1 0.50 rcrb %cl, %dil +# CHECK-NEXT: 3 6 1.00 * rclb %cl, (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 rclw %di +# CHECK-NEXT: 1 1 0.50 rcrw %di +# CHECK-NEXT: 3 6 1.00 * rclw (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrw (%rax) +# CHECK-NEXT: 1 1 0.50 rclw $7, %di +# CHECK-NEXT: 1 1 0.50 rcrw $7, %di +# CHECK-NEXT: 3 6 1.00 * rclw $7, (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rclw %cl, %di +# CHECK-NEXT: 1 1 0.50 rcrw %cl, %di +# CHECK-NEXT: 3 6 1.00 * rclw %cl, (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 rcll %edi +# CHECK-NEXT: 1 1 0.50 rcrl %edi +# CHECK-NEXT: 3 6 1.00 * rcll (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrl (%rax) +# CHECK-NEXT: 1 1 0.50 rcll $7, %edi +# CHECK-NEXT: 1 1 0.50 rcrl $7, %edi +# CHECK-NEXT: 3 6 1.00 * rcll $7, (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rcll %cl, %edi +# CHECK-NEXT: 1 1 0.50 rcrl %cl, %edi +# CHECK-NEXT: 3 6 1.00 * rcll %cl, (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 rclq %rdi +# CHECK-NEXT: 1 1 0.50 rcrq %rdi +# CHECK-NEXT: 3 6 1.00 * rclq (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrq (%rax) +# CHECK-NEXT: 1 1 0.50 rclq $7, %rdi +# CHECK-NEXT: 1 1 0.50 rcrq $7, %rdi +# CHECK-NEXT: 3 6 1.00 * rclq $7, (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 rclq %cl, %rdi +# CHECK-NEXT: 1 1 0.50 rcrq %cl, %rdi +# CHECK-NEXT: 3 6 1.00 * rclq %cl, (%rax) +# CHECK-NEXT: 3 6 1.00 * rcrq %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolb %dil +# CHECK-NEXT: 2 2 1.00 rorb %dil +# CHECK-NEXT: 5 8 1.00 * * rolb (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorb (%rax) +# CHECK-NEXT: 2 2 1.00 rolb $7, %dil +# CHECK-NEXT: 2 2 1.00 rorb $7, %dil +# CHECK-NEXT: 5 8 1.00 * * rolb $7, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorb $7, (%rax) +# CHECK-NEXT: 3 3 1.50 rolb %cl, %dil +# CHECK-NEXT: 3 3 1.50 rorb %cl, %dil +# CHECK-NEXT: 6 9 1.50 * * rolb %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * rorb %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolw %di +# CHECK-NEXT: 2 2 1.00 rorw %di +# CHECK-NEXT: 5 8 1.00 * * rolw (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorw (%rax) +# CHECK-NEXT: 2 2 1.00 rolw $7, %di +# CHECK-NEXT: 2 2 1.00 rorw $7, %di +# CHECK-NEXT: 5 8 1.00 * * rolw $7, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorw $7, (%rax) +# CHECK-NEXT: 3 3 1.50 rolw %cl, %di +# CHECK-NEXT: 3 3 1.50 rorw %cl, %di +# CHECK-NEXT: 6 9 1.50 * * rolw %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * rorw %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 roll %edi +# CHECK-NEXT: 2 2 1.00 rorl %edi +# CHECK-NEXT: 5 8 1.00 * * roll (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorl (%rax) +# CHECK-NEXT: 2 2 1.00 roll $7, %edi +# CHECK-NEXT: 2 2 1.00 rorl $7, %edi +# CHECK-NEXT: 5 8 1.00 * * roll $7, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorl $7, (%rax) +# CHECK-NEXT: 3 3 1.50 roll %cl, %edi +# CHECK-NEXT: 3 3 1.50 rorl %cl, %edi +# CHECK-NEXT: 6 9 1.50 * * roll %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * rorl %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolq %rdi +# CHECK-NEXT: 2 2 1.00 rorq %rdi +# CHECK-NEXT: 5 8 1.00 * * rolq (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorq (%rax) +# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi +# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi +# CHECK-NEXT: 5 8 1.00 * * rolq $7, (%rax) +# CHECK-NEXT: 5 8 1.00 * * rorq $7, (%rax) +# CHECK-NEXT: 3 3 1.50 rolq %cl, %rdi +# CHECK-NEXT: 3 3 1.50 rorq %cl, %rdi +# CHECK-NEXT: 6 9 1.50 * * rolq %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarb %dil +# CHECK-NEXT: 1 1 0.50 shlb %dil +# CHECK-NEXT: 1 1 0.50 shrb %dil +# CHECK-NEXT: 4 7 1.00 * * sarb (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlb (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrb (%rax) +# CHECK-NEXT: 1 1 0.50 sarb $7, %dil +# CHECK-NEXT: 1 1 0.50 shlb $7, %dil +# CHECK-NEXT: 1 1 0.50 shrb $7, %dil +# CHECK-NEXT: 4 7 1.00 * * sarb $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlb $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrb $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarb %cl, %dil +# CHECK-NEXT: 3 3 1.50 shlb %cl, %dil +# CHECK-NEXT: 3 3 1.50 shrb %cl, %dil +# CHECK-NEXT: 6 9 1.50 * * sarb %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * shlb %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarw %di +# CHECK-NEXT: 1 1 0.50 shlw %di +# CHECK-NEXT: 1 1 0.50 shrw %di +# CHECK-NEXT: 4 7 1.00 * * sarw (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlw (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrw (%rax) +# CHECK-NEXT: 1 1 0.50 sarw $7, %di +# CHECK-NEXT: 1 1 0.50 shlw $7, %di +# CHECK-NEXT: 1 1 0.50 shrw $7, %di +# CHECK-NEXT: 4 7 1.00 * * sarw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlw $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrw $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarw %cl, %di +# CHECK-NEXT: 3 3 1.50 shlw %cl, %di +# CHECK-NEXT: 3 3 1.50 shrw %cl, %di +# CHECK-NEXT: 6 9 1.50 * * sarw %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * shlw %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarl %edi +# CHECK-NEXT: 1 1 0.50 shll %edi +# CHECK-NEXT: 1 1 0.50 shrl %edi +# CHECK-NEXT: 4 7 1.00 * * sarl (%rax) +# CHECK-NEXT: 4 7 1.00 * * shll (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrl (%rax) +# CHECK-NEXT: 1 1 0.50 sarl $7, %edi +# CHECK-NEXT: 1 1 0.50 shll $7, %edi +# CHECK-NEXT: 1 1 0.50 shrl $7, %edi +# CHECK-NEXT: 4 7 1.00 * * sarl $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shll $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrl $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarl %cl, %edi +# CHECK-NEXT: 3 3 1.50 shll %cl, %edi +# CHECK-NEXT: 3 3 1.50 shrl %cl, %edi +# CHECK-NEXT: 6 9 1.50 * * sarl %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * shll %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarq %rdi +# CHECK-NEXT: 1 1 0.50 shlq %rdi +# CHECK-NEXT: 1 1 0.50 shrq %rdi +# CHECK-NEXT: 4 7 1.00 * * sarq (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlq (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrq (%rax) +# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi +# CHECK-NEXT: 4 7 1.00 * * sarq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shlq $7, (%rax) +# CHECK-NEXT: 4 7 1.00 * * shrq $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarq %cl, %rdi +# CHECK-NEXT: 3 3 1.50 shlq %cl, %rdi +# CHECK-NEXT: 3 3 1.50 shrq %cl, %rdi +# CHECK-NEXT: 6 9 1.50 * * sarq %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * shlq %cl, (%rax) +# CHECK-NEXT: 6 9 1.50 * * shrq %cl, (%rax) +# CHECK-NEXT: 2 2 0.67 sbbb $7, %al +# CHECK-NEXT: 2 2 0.67 sbbb $7, %dil +# CHECK-NEXT: 6 9 1.00 * * sbbb $7, (%rax) +# CHECK-NEXT: 2 2 0.67 sbbb %dil, %dil +# CHECK-NEXT: 6 9 1.00 * * sbbb %dil, (%rax) +# CHECK-NEXT: 3 7 0.67 * sbbb (%rax), %dil +# CHECK-NEXT: 2 2 0.67 sbbw $511, %ax +# CHECK-NEXT: 2 2 0.67 sbbw $511, %di +# CHECK-NEXT: 6 9 1.00 * * sbbw $511, (%rax) +# CHECK-NEXT: 2 2 0.67 sbbw $7, %di +# CHECK-NEXT: 6 9 1.00 * * sbbw $7, (%rax) +# CHECK-NEXT: 2 2 0.67 sbbw %di, %di +# CHECK-NEXT: 6 9 1.00 * * sbbw %di, (%rax) +# CHECK-NEXT: 3 7 0.67 * sbbw (%rax), %di +# CHECK-NEXT: 2 2 0.67 sbbl $665536, %eax +# CHECK-NEXT: 2 2 0.67 sbbl $665536, %edi +# CHECK-NEXT: 6 9 1.00 * * sbbl $665536, (%rax) +# CHECK-NEXT: 2 2 0.67 sbbl $7, %edi +# CHECK-NEXT: 6 9 1.00 * * sbbl $7, (%rax) +# CHECK-NEXT: 2 2 0.67 sbbl %edi, %edi +# CHECK-NEXT: 6 9 1.00 * * sbbl %edi, (%rax) +# CHECK-NEXT: 3 7 0.67 * sbbl (%rax), %edi +# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rax +# CHECK-NEXT: 2 2 0.67 sbbq $665536, %rdi +# CHECK-NEXT: 6 9 1.00 * * sbbq $665536, (%rax) +# CHECK-NEXT: 2 2 0.67 sbbq $7, %rdi +# CHECK-NEXT: 6 9 1.00 * * sbbq $7, (%rax) +# CHECK-NEXT: 2 2 0.67 sbbq %rdi, %rdi +# CHECK-NEXT: 6 9 1.00 * * sbbq %rdi, (%rax) +# CHECK-NEXT: 3 7 0.67 * sbbq (%rax), %rdi +# CHECK-NEXT: 4 4 1.50 shldw %cl, %si, %di +# CHECK-NEXT: 4 4 1.50 shrdw %cl, %si, %di +# CHECK-NEXT: 7 10 1.50 * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 7 10 1.50 * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 2 2 0.67 shldw $7, %si, %di +# CHECK-NEXT: 2 2 0.67 shrdw $7, %si, %di +# CHECK-NEXT: 5 8 1.00 * * shldw $7, %si, (%rax) +# CHECK-NEXT: 5 8 1.00 * * shrdw $7, %si, (%rax) +# CHECK-NEXT: 4 4 1.50 shldl %cl, %esi, %edi +# CHECK-NEXT: 4 4 1.50 shrdl %cl, %esi, %edi +# CHECK-NEXT: 7 10 1.50 * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 7 10 1.50 * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 2 2 0.67 shldl $7, %esi, %edi +# CHECK-NEXT: 2 2 0.67 shrdl $7, %esi, %edi +# CHECK-NEXT: 5 8 1.00 * * shldl $7, %esi, (%rax) +# CHECK-NEXT: 5 8 1.00 * * shrdl $7, %esi, (%rax) +# CHECK-NEXT: 4 4 1.50 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 4 4 1.50 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 7 10 1.50 * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 7 10 1.50 * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 2 2 0.67 shldq $7, %rsi, %rdi +# CHECK-NEXT: 2 2 0.67 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 5 8 1.00 * * shldq $7, %rsi, (%rax) +# CHECK-NEXT: 5 8 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.33 subb $7, %al +# CHECK-NEXT: 1 1 0.33 subb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) +# CHECK-NEXT: 1 1 0.33 subb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil +# CHECK-NEXT: 1 1 0.33 subw $511, %ax +# CHECK-NEXT: 1 1 0.33 subw $511, %di +# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) +# CHECK-NEXT: 1 1 0.33 subw $7, %di +# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) +# CHECK-NEXT: 1 1 0.33 subw %di, %di +# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di +# CHECK-NEXT: 1 1 0.33 subl $665536, %eax +# CHECK-NEXT: 1 1 0.33 subl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 subl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) +# CHECK-NEXT: 1 1 0.33 subl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi +# CHECK-NEXT: 1 1 0.33 subq $665536, %rax +# CHECK-NEXT: 1 1 0.33 subq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 subq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) +# CHECK-NEXT: 1 1 0.33 subq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi +# CHECK-NEXT: 1 1 0.33 xorb $7, %al +# CHECK-NEXT: 1 1 0.33 xorb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) +# CHECK-NEXT: 1 1 0.33 xorb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil +# CHECK-NEXT: 1 1 0.33 xorw $511, %ax +# CHECK-NEXT: 1 1 0.33 xorw $511, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) +# CHECK-NEXT: 1 1 0.33 xorw $7, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) +# CHECK-NEXT: 1 1 0.33 xorw %di, %di +# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di +# CHECK-NEXT: 1 1 0.33 xorl $665536, %eax +# CHECK-NEXT: 1 1 0.33 xorl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 xorl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) +# CHECK-NEXT: 1 1 0.33 xorl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi +# CHECK-NEXT: 1 1 0.33 xorq $665536, %rax +# CHECK-NEXT: 1 1 0.33 xorq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 1 0.33 xorq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) +# CHECK-NEXT: 1 1 0.33 xorq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorq (%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: [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 @@ -1162,544 +1162,544 @@ xorq (%rax), %rdi # CHECK-NEXT: 160.00 - 346.33 141.33 210.00 338.33 238.00 238.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 - - adcb $7, %al -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcb $7, %dil -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcb $7, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcb %dil, %dil -# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 adcb %dil, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 adcb (%rax), %dil -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcw $511, %ax -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcw $511, %di -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcw $511, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcw $7, %di -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcw $7, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcw %di, %di -# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 adcw %di, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 adcw (%rax), %di -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcl $665536, %eax -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcl $665536, %edi -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcl $665536, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcl $7, %edi -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcl $7, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcl %edi, %edi -# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 adcl %edi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 adcl (%rax), %edi -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcq $665536, %rax -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcq $665536, %rdi -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcq $665536, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcq $7, %rdi -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcq $7, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcq %rdi, %rdi -# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 adcq %rdi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 adcq (%rax), %rdi -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addb $7, %al -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addb $7, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addb $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addb %dil, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addb %dil, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 addb (%rax), %dil -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addw $511, %ax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addw $511, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addw $511, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addw $7, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addw $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addw %di, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addw %di, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 addw (%rax), %di -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addl $665536, %eax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addl $665536, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addl $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addl $7, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addl $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addl %edi, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addl %edi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 addl (%rax), %edi -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addq $665536, %rax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addq $665536, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addq $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addq $7, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addq $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addq %rdi, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addq %rdi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 addq (%rax), %rdi -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andb $7, %al -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andb $7, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andb $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andb %dil, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andb %dil, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 andb (%rax), %dil -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andw $511, %ax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andw $511, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andw $511, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andw $7, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andw $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andw %di, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andw %di, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 andw (%rax), %di -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andl $665536, %eax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andl $665536, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andl $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andl $7, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andl $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andl %edi, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andl %edi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 andl (%rax), %edi -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andq $665536, %rax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andq $665536, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andq $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andq $7, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andq $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andq %rdi, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andq %rdi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 andq (%rax), %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btw %si, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - btcw %si, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - btrw %si, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - btsw %si, %di -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btw %si, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btcw %si, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btrw %si, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btsw %si, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - btw $7, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - btcw $7, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - btrw $7, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - btsw $7, %di -# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 btw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btcw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btrw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btsw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - btl %esi, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btcl %esi, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btrl %esi, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btsl %esi, %edi -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btl %esi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btcl %esi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btrl %esi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btsl %esi, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - btl $7, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btcl $7, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btrl $7, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btsl $7, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 btl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btcl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btrl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btsl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - btq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btcq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btrq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btsq %rsi, %rdi -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btq %rsi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btcq %rsi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btrq %rsi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btsq %rsi, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - btq $7, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btcq $7, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btrq $7, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - btsq $7, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 btq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btcq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btrq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btsq $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decb %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decb (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decw %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decw (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decl %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decl (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decq %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decq (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - divb %dil -# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divb (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - divw %si -# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divw (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - divl %edx -# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divl (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - divq %rcx -# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divq (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - idivb %dil -# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivb (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - idivw %si -# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivw (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - idivl %edx -# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivl (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - idivq %rcx -# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - imulb %dil -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulb (%rax) -# CHECK-NEXT: - - 1.17 1.67 - 1.17 - - imulw %di -# CHECK-NEXT: - - 1.17 1.67 - 1.17 0.50 0.50 imulw (%rax) -# CHECK-NEXT: - - - 1.00 - - - - imulw %di, %di -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulw (%rax), %di -# CHECK-NEXT: - - 0.33 1.33 - 0.33 - - imulw $511, %di, %di -# CHECK-NEXT: - - 0.33 1.33 - 0.33 0.50 0.50 imulw $511, (%rax), %di -# CHECK-NEXT: - - 0.33 1.33 - 0.33 - - imulw $7, %di, %di -# CHECK-NEXT: - - 0.33 1.33 - 0.33 0.50 0.50 imulw $7, (%rax), %di -# CHECK-NEXT: - - 0.83 1.33 - 0.83 - - imull %edi -# CHECK-NEXT: - - 0.83 1.33 - 0.83 0.50 0.50 imull (%rax) -# CHECK-NEXT: - - - 1.00 - - - - imull %edi, %edi -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imull (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - imull $665536, %edi, %edi -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imull $665536, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - imull $7, %edi, %edi -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imull $7, (%rax), %edi -# CHECK-NEXT: - - 1.00 1.00 - - - - imulq %rdi -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 imulq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - imulq %rdi, %rdi -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulq (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - imulq $665536, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulq $665536, (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - imulq $7, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulq $7, (%rax), %rdi -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incb %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incb (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incw %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incw (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incl %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incl (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incq %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - mulb %dil -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 mulb (%rax) -# CHECK-NEXT: - - 1.17 1.67 - 1.17 - - mulw %si -# CHECK-NEXT: - - 1.17 1.67 - 1.17 0.50 0.50 mulw (%rax) -# CHECK-NEXT: - - 0.83 1.33 - 0.83 - - mull %edx -# CHECK-NEXT: - - 0.83 1.33 - 0.83 0.50 0.50 mull (%rax) -# CHECK-NEXT: - - 1.00 1.00 - - - - mulq %rcx -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 mulq (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negb %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negb (%r8) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negw %si -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negw (%r9) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negl %edx -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negl (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negq %rcx -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negq (%r10) -# CHECK-NEXT: - - - - - - - - nop -# CHECK-NEXT: - - - - - - - - nopw %di -# CHECK-NEXT: - - - - - - - - nopw (%rcx) -# CHECK-NEXT: - - - - - - - - nopl %esi -# CHECK-NEXT: - - - - - - - - nopl (%r8) -# CHECK-NEXT: - - - - - - - - nopq %rdx -# CHECK-NEXT: - - - - - - - - nopq (%r9) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - notb %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 notb (%r8) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - notw %si -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 notw (%r9) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - notl %edx -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 notl (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - notq %rcx -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 notq (%r10) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orb $7, %al -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orb $7, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orb $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orb %dil, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orb %dil, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 orb (%rax), %dil -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orw $511, %ax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orw $511, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orw $511, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orw $7, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orw $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orw %di, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orw %di, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 orw (%rax), %di -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orl $665536, %eax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orl $665536, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orl $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orl $7, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orl $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orl %edi, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orl %edi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 orl (%rax), %edi -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orq $665536, %rax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orq $665536, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orq $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orq $7, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orq $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orq %rdi, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orq %rdi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 orq (%rax), %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - rclb %dil -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrb %dil -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclb (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrb (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rclb $7, %dil -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrb $7, %dil -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrb $7, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rclb %cl, %dil -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrb %cl, %dil -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclb %cl, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrb %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rclw %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrw %di -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclw (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrw (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rclw $7, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrw $7, %di -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rclw %cl, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrw %cl, %di -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclw %cl, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrw %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcll %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrl %edi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcll (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrl (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcll $7, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrl $7, %edi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcll $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcll %cl, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrl %cl, %edi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcll %cl, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrl %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rclq %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrq %rdi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclq (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrq (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rclq $7, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrq $7, %rdi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrq $7, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - rclq %cl, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrq %cl, %rdi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclq %cl, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrq %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - 1.00 - - rolb %dil -# CHECK-NEXT: - - 1.00 - - 1.00 - - rorb %dil -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolb (%rax) -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorb (%rax) -# CHECK-NEXT: - - 1.00 - - 1.00 - - rolb $7, %dil -# CHECK-NEXT: - - 1.00 - - 1.00 - - rorb $7, %dil -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolb $7, (%rax) -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorb $7, (%rax) -# CHECK-NEXT: - - 1.50 - - 1.50 - - rolb %cl, %dil -# CHECK-NEXT: - - 1.50 - - 1.50 - - rorb %cl, %dil -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rolb %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rorb %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - 1.00 - - rolw %di -# CHECK-NEXT: - - 1.00 - - 1.00 - - rorw %di -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolw (%rax) -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorw (%rax) -# CHECK-NEXT: - - 1.00 - - 1.00 - - rolw $7, %di -# CHECK-NEXT: - - 1.00 - - 1.00 - - rorw $7, %di -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolw $7, (%rax) -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorw $7, (%rax) -# CHECK-NEXT: - - 1.50 - - 1.50 - - rolw %cl, %di -# CHECK-NEXT: - - 1.50 - - 1.50 - - rorw %cl, %di -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rolw %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rorw %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - 1.00 - - roll %edi -# CHECK-NEXT: - - 1.00 - - 1.00 - - rorl %edi -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 roll (%rax) -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorl (%rax) -# CHECK-NEXT: - - 1.00 - - 1.00 - - roll $7, %edi -# CHECK-NEXT: - - 1.00 - - 1.00 - - rorl $7, %edi -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 roll $7, (%rax) -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorl $7, (%rax) -# CHECK-NEXT: - - 1.50 - - 1.50 - - roll %cl, %edi -# CHECK-NEXT: - - 1.50 - - 1.50 - - rorl %cl, %edi -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 roll %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rorl %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - 1.00 - - rolq %rdi -# CHECK-NEXT: - - 1.00 - - 1.00 - - rorq %rdi -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolq (%rax) -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorq (%rax) -# CHECK-NEXT: - - 1.00 - - 1.00 - - rolq $7, %rdi -# CHECK-NEXT: - - 1.00 - - 1.00 - - rorq $7, %rdi -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolq $7, (%rax) -# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorq $7, (%rax) -# CHECK-NEXT: - - 1.50 - - 1.50 - - rolq %cl, %rdi -# CHECK-NEXT: - - 1.50 - - 1.50 - - rorq %cl, %rdi -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rolq %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rorq %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - sarb %dil -# CHECK-NEXT: - - 0.50 - - 0.50 - - shlb %dil -# CHECK-NEXT: - - 0.50 - - 0.50 - - shrb %dil -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarb (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlb (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrb (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - sarb $7, %dil -# CHECK-NEXT: - - 0.50 - - 0.50 - - shlb $7, %dil -# CHECK-NEXT: - - 0.50 - - 0.50 - - shrb $7, %dil -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrb $7, (%rax) -# CHECK-NEXT: - - 1.50 - - 1.50 - - sarb %cl, %dil -# CHECK-NEXT: - - 1.50 - - 1.50 - - shlb %cl, %dil -# CHECK-NEXT: - - 1.50 - - 1.50 - - shrb %cl, %dil -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 sarb %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shlb %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shrb %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - sarw %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - shlw %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - shrw %di -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarw (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlw (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrw (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - sarw $7, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - shlw $7, %di -# CHECK-NEXT: - - 0.50 - - 0.50 - - shrw $7, %di -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrw $7, (%rax) -# CHECK-NEXT: - - 1.50 - - 1.50 - - sarw %cl, %di -# CHECK-NEXT: - - 1.50 - - 1.50 - - shlw %cl, %di -# CHECK-NEXT: - - 1.50 - - 1.50 - - shrw %cl, %di -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 sarw %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shlw %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shrw %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - sarl %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - shll %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - shrl %edi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarl (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shll (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrl (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - sarl $7, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - shll $7, %edi -# CHECK-NEXT: - - 0.50 - - 0.50 - - shrl $7, %edi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shll $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrl $7, (%rax) -# CHECK-NEXT: - - 1.50 - - 1.50 - - sarl %cl, %edi -# CHECK-NEXT: - - 1.50 - - 1.50 - - shll %cl, %edi -# CHECK-NEXT: - - 1.50 - - 1.50 - - shrl %cl, %edi -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 sarl %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shll %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shrl %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - sarq %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - shlq %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - shrq %rdi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarq (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlq (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrq (%rax) -# CHECK-NEXT: - - 0.50 - - 0.50 - - sarq $7, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - shlq $7, %rdi -# CHECK-NEXT: - - 0.50 - - 0.50 - - shrq $7, %rdi -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrq $7, (%rax) -# CHECK-NEXT: - - 1.50 - - 1.50 - - sarq %cl, %rdi -# CHECK-NEXT: - - 1.50 - - 1.50 - - shlq %cl, %rdi -# CHECK-NEXT: - - 1.50 - - 1.50 - - shrq %cl, %rdi -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 sarq %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shlq %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shrq %cl, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbb $7, %al -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbb $7, %dil -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbb $7, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbb %dil, %dil -# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 sbbb %dil, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 sbbb (%rax), %dil -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbw $511, %ax -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbw $511, %di -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbw $511, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbw $7, %di -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbw $7, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbw %di, %di -# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 sbbw %di, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 sbbw (%rax), %di -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbl $665536, %eax -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbl $665536, %edi -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbl $665536, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbl $7, %edi -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbl $7, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbl %edi, %edi -# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 sbbl %edi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 sbbl (%rax), %edi -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbq $665536, %rax -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbq $665536, %rdi -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbq $665536, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbq $7, %rdi -# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbq $7, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbq %rdi, %rdi -# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 sbbq %rdi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 sbbq (%rax), %rdi -# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shldw %cl, %si, %di -# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shrdw %cl, %si, %di -# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shldw %cl, %si, (%rax) -# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shrdw %cl, %si, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shldw $7, %si, %di -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shrdw $7, %si, %di -# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shldw $7, %si, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdw $7, %si, (%rax) -# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shldl %cl, %esi, %edi -# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shrdl %cl, %esi, %edi -# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shldl %cl, %esi, (%rax) -# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shrdl %cl, %esi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shldl $7, %esi, %edi -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shrdl $7, %esi, %edi -# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shldl $7, %esi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdl $7, %esi, (%rax) -# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shldq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shldq %cl, %rsi, (%rax) -# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shldq $7, %rsi, %rdi -# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shrdq $7, %rsi, %rdi -# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shldq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %al -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subb $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb %dil, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subb %dil, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 subb (%rax), %dil -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subw $511, %ax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subw $511, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subw $511, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subw $7, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subw $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subw %di, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subw %di, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 subw (%rax), %di -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subl $665536, %eax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subl $665536, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subl $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subl $7, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subl $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subl %edi, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subl %edi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 subl (%rax), %edi -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subq $665536, %rax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subq $665536, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subq $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subq $7, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subq $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subq %rdi, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subq %rdi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 subq (%rax), %rdi -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorb $7, %al -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorb $7, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorb $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorb %dil, %dil -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorb %dil, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 xorb (%rax), %dil -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorw $511, %ax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorw $511, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorw $511, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorw $7, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorw $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorw %di, %di -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorw %di, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 xorw (%rax), %di -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorl $665536, %eax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorl $665536, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorl $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorl $7, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorl $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorl %edi, %edi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorl %edi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 xorl (%rax), %edi -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorq $665536, %rax -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorq $665536, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorq $665536, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorq $7, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorq $7, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorq %rdi, %rdi -# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorq %rdi, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 xorq (%rax), %rdi +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcb $7, %al +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcb $7, %dil +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcb $7, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcb %dil, %dil +# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 adcb %dil, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 adcb (%rax), %dil +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcw $511, %ax +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcw $511, %di +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcw $511, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcw $7, %di +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcw $7, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcw %di, %di +# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 adcw %di, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 adcw (%rax), %di +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcl $665536, %eax +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcl $665536, %edi +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcl $665536, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcl $7, %edi +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcl $7, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcl %edi, %edi +# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 adcl %edi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 adcl (%rax), %edi +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcq $665536, %rax +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcq $665536, %rdi +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcq $665536, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcq $7, %rdi +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 adcq $7, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - adcq %rdi, %rdi +# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 adcq %rdi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 adcq (%rax), %rdi +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addb $7, %al +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addb $7, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addb $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addb %dil, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addb %dil, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 addb (%rax), %dil +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addw $511, %ax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addw $511, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addw $511, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addw $7, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addw $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addw %di, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addw %di, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 addw (%rax), %di +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addl $665536, %eax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addl $665536, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addl $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addl $7, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addl $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addl %edi, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addl %edi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 addl (%rax), %edi +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addq $665536, %rax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addq $665536, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addq $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addq $7, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addq $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - addq %rdi, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 addq %rdi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 addq (%rax), %rdi +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andb $7, %al +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andb $7, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andb $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andb %dil, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andb %dil, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 andb (%rax), %dil +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andw $511, %ax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andw $511, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andw $511, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andw $7, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andw $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andw %di, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andw %di, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 andw (%rax), %di +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andl $665536, %eax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andl $665536, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andl $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andl $7, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andl $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andl %edi, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andl %edi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 andl (%rax), %edi +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andq $665536, %rax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andq $665536, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andq $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andq $7, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andq $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - andq %rdi, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 andq %rdi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 andq (%rax), %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btw %si, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - btcw %si, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - btrw %si, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - btsw %si, %di +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btw %si, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btcw %si, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btrw %si, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btsw %si, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - btw $7, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - btcw $7, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - btrw $7, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - btsw $7, %di +# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 btw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btcw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btrw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btsw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - btl %esi, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btcl %esi, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btrl %esi, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btsl %esi, %edi +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btl %esi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btcl %esi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btrl %esi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btsl %esi, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - btl $7, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btcl $7, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btrl $7, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btsl $7, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 btl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btcl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btrl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btsl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - btq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btcq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btrq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btsq %rsi, %rdi +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btq %rsi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btcq %rsi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btrq %rsi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 1.83 1.00 1.00 btsq %rsi, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - btq $7, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btcq $7, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btrq $7, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - btsq $7, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 0.50 0.50 btq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btcq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btrq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btsq $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decb %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decb (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decw %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decw (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decl %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decl (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decq %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decq (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - divb %dil +# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divb (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - divw %si +# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divw (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - divl %edx +# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divl (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - divq %rcx +# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 divq (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - idivb %dil +# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivb (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - idivw %si +# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivw (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - idivl %edx +# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivl (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - idivq %rcx +# CHECK-NEXT: 10.00 - 1.00 - - - 0.50 0.50 idivq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - imulb %dil +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulb (%rax) +# CHECK-NEXT: - - 1.17 1.67 - 1.17 - - imulw %di +# CHECK-NEXT: - - 1.17 1.67 - 1.17 0.50 0.50 imulw (%rax) +# CHECK-NEXT: - - - 1.00 - - - - imulw %di, %di +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulw (%rax), %di +# CHECK-NEXT: - - 0.33 1.33 - 0.33 - - imulw $511, %di, %di +# CHECK-NEXT: - - 0.33 1.33 - 0.33 0.50 0.50 imulw $511, (%rax), %di +# CHECK-NEXT: - - 0.33 1.33 - 0.33 - - imulw $7, %di, %di +# CHECK-NEXT: - - 0.33 1.33 - 0.33 0.50 0.50 imulw $7, (%rax), %di +# CHECK-NEXT: - - 0.83 1.33 - 0.83 - - imull %edi +# CHECK-NEXT: - - 0.83 1.33 - 0.83 0.50 0.50 imull (%rax) +# CHECK-NEXT: - - - 1.00 - - - - imull %edi, %edi +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imull (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - imull $665536, %edi, %edi +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imull $665536, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - imull $7, %edi, %edi +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imull $7, (%rax), %edi +# CHECK-NEXT: - - 1.00 1.00 - - - - imulq %rdi +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 imulq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - imulq %rdi, %rdi +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulq (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - imulq $665536, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulq $665536, (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - imulq $7, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 imulq $7, (%rax), %rdi +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incb %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incb (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incw %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incw (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incl %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incl (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incq %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - mulb %dil +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 mulb (%rax) +# CHECK-NEXT: - - 1.17 1.67 - 1.17 - - mulw %si +# CHECK-NEXT: - - 1.17 1.67 - 1.17 0.50 0.50 mulw (%rax) +# CHECK-NEXT: - - 0.83 1.33 - 0.83 - - mull %edx +# CHECK-NEXT: - - 0.83 1.33 - 0.83 0.50 0.50 mull (%rax) +# CHECK-NEXT: - - 1.00 1.00 - - - - mulq %rcx +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 mulq (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negb %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negb (%r8) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negw %si +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negw (%r9) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negl %edx +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negl (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - negq %rcx +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 negq (%r10) +# CHECK-NEXT: - - - - - - - - nop +# CHECK-NEXT: - - - - - - - - nopw %di +# CHECK-NEXT: - - - - - - - - nopw (%rcx) +# CHECK-NEXT: - - - - - - - - nopl %esi +# CHECK-NEXT: - - - - - - - - nopl (%r8) +# CHECK-NEXT: - - - - - - - - nopq %rdx +# CHECK-NEXT: - - - - - - - - nopq (%r9) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - notb %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 notb (%r8) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - notw %si +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 notw (%r9) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - notl %edx +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 notl (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - notq %rcx +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 notq (%r10) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orb $7, %al +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orb $7, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orb $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orb %dil, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orb %dil, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 orb (%rax), %dil +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orw $511, %ax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orw $511, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orw $511, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orw $7, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orw $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orw %di, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orw %di, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 orw (%rax), %di +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orl $665536, %eax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orl $665536, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orl $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orl $7, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orl $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orl %edi, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orl %edi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 orl (%rax), %edi +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orq $665536, %rax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orq $665536, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orq $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orq $7, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orq $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - orq %rdi, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 orq %rdi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 orq (%rax), %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - rclb %dil +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrb %dil +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclb (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrb (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rclb $7, %dil +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrb $7, %dil +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrb $7, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rclb %cl, %dil +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrb %cl, %dil +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclb %cl, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrb %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rclw %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrw %di +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclw (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrw (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rclw $7, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrw $7, %di +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rclw %cl, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrw %cl, %di +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclw %cl, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrw %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcll %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrl %edi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcll (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrl (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcll $7, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrl $7, %edi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcll $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcll %cl, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrl %cl, %edi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcll %cl, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrl %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rclq %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrq %rdi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclq (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrq (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rclq $7, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrq $7, %rdi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrq $7, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - rclq %cl, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - rcrq %cl, %rdi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rclq %cl, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 rcrq %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - 1.00 - - rolb %dil +# CHECK-NEXT: - - 1.00 - - 1.00 - - rorb %dil +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolb (%rax) +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorb (%rax) +# CHECK-NEXT: - - 1.00 - - 1.00 - - rolb $7, %dil +# CHECK-NEXT: - - 1.00 - - 1.00 - - rorb $7, %dil +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolb $7, (%rax) +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorb $7, (%rax) +# CHECK-NEXT: - - 1.50 - - 1.50 - - rolb %cl, %dil +# CHECK-NEXT: - - 1.50 - - 1.50 - - rorb %cl, %dil +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rolb %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rorb %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - 1.00 - - rolw %di +# CHECK-NEXT: - - 1.00 - - 1.00 - - rorw %di +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolw (%rax) +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorw (%rax) +# CHECK-NEXT: - - 1.00 - - 1.00 - - rolw $7, %di +# CHECK-NEXT: - - 1.00 - - 1.00 - - rorw $7, %di +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolw $7, (%rax) +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorw $7, (%rax) +# CHECK-NEXT: - - 1.50 - - 1.50 - - rolw %cl, %di +# CHECK-NEXT: - - 1.50 - - 1.50 - - rorw %cl, %di +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rolw %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rorw %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - 1.00 - - roll %edi +# CHECK-NEXT: - - 1.00 - - 1.00 - - rorl %edi +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 roll (%rax) +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorl (%rax) +# CHECK-NEXT: - - 1.00 - - 1.00 - - roll $7, %edi +# CHECK-NEXT: - - 1.00 - - 1.00 - - rorl $7, %edi +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 roll $7, (%rax) +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorl $7, (%rax) +# CHECK-NEXT: - - 1.50 - - 1.50 - - roll %cl, %edi +# CHECK-NEXT: - - 1.50 - - 1.50 - - rorl %cl, %edi +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 roll %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rorl %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - 1.00 - - rolq %rdi +# CHECK-NEXT: - - 1.00 - - 1.00 - - rorq %rdi +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolq (%rax) +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorq (%rax) +# CHECK-NEXT: - - 1.00 - - 1.00 - - rolq $7, %rdi +# CHECK-NEXT: - - 1.00 - - 1.00 - - rorq $7, %rdi +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rolq $7, (%rax) +# CHECK-NEXT: - - 1.00 - 1.00 1.00 1.00 1.00 rorq $7, (%rax) +# CHECK-NEXT: - - 1.50 - - 1.50 - - rolq %cl, %rdi +# CHECK-NEXT: - - 1.50 - - 1.50 - - rorq %cl, %rdi +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rolq %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rorq %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - sarb %dil +# CHECK-NEXT: - - 0.50 - - 0.50 - - shlb %dil +# CHECK-NEXT: - - 0.50 - - 0.50 - - shrb %dil +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarb (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlb (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrb (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - sarb $7, %dil +# CHECK-NEXT: - - 0.50 - - 0.50 - - shlb $7, %dil +# CHECK-NEXT: - - 0.50 - - 0.50 - - shrb $7, %dil +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrb $7, (%rax) +# CHECK-NEXT: - - 1.50 - - 1.50 - - sarb %cl, %dil +# CHECK-NEXT: - - 1.50 - - 1.50 - - shlb %cl, %dil +# CHECK-NEXT: - - 1.50 - - 1.50 - - shrb %cl, %dil +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 sarb %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shlb %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shrb %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - sarw %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - shlw %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - shrw %di +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarw (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlw (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrw (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - sarw $7, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - shlw $7, %di +# CHECK-NEXT: - - 0.50 - - 0.50 - - shrw $7, %di +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrw $7, (%rax) +# CHECK-NEXT: - - 1.50 - - 1.50 - - sarw %cl, %di +# CHECK-NEXT: - - 1.50 - - 1.50 - - shlw %cl, %di +# CHECK-NEXT: - - 1.50 - - 1.50 - - shrw %cl, %di +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 sarw %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shlw %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shrw %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - sarl %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - shll %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - shrl %edi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarl (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shll (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrl (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - sarl $7, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - shll $7, %edi +# CHECK-NEXT: - - 0.50 - - 0.50 - - shrl $7, %edi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shll $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrl $7, (%rax) +# CHECK-NEXT: - - 1.50 - - 1.50 - - sarl %cl, %edi +# CHECK-NEXT: - - 1.50 - - 1.50 - - shll %cl, %edi +# CHECK-NEXT: - - 1.50 - - 1.50 - - shrl %cl, %edi +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 sarl %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shll %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shrl %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - sarq %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - shlq %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - shrq %rdi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarq (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlq (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrq (%rax) +# CHECK-NEXT: - - 0.50 - - 0.50 - - sarq $7, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - shlq $7, %rdi +# CHECK-NEXT: - - 0.50 - - 0.50 - - shrq $7, %rdi +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 sarq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shlq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 shrq $7, (%rax) +# CHECK-NEXT: - - 1.50 - - 1.50 - - sarq %cl, %rdi +# CHECK-NEXT: - - 1.50 - - 1.50 - - shlq %cl, %rdi +# CHECK-NEXT: - - 1.50 - - 1.50 - - shrq %cl, %rdi +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 sarq %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shlq %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 shrq %cl, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbb $7, %al +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbb $7, %dil +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbb $7, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbb %dil, %dil +# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 sbbb %dil, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 sbbb (%rax), %dil +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbw $511, %ax +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbw $511, %di +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbw $511, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbw $7, %di +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbw $7, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbw %di, %di +# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 sbbw %di, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 sbbw (%rax), %di +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbl $665536, %eax +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbl $665536, %edi +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbl $665536, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbl $7, %edi +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbl $7, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbl %edi, %edi +# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 sbbl %edi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 sbbl (%rax), %edi +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbq $665536, %rax +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbq $665536, %rdi +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbq $665536, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbq $7, %rdi +# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 1.00 1.00 sbbq $7, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - sbbq %rdi, %rdi +# CHECK-NEXT: - - 1.33 0.33 1.00 1.33 1.00 1.00 sbbq %rdi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 0.50 0.50 sbbq (%rax), %rdi +# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shldw %cl, %si, %di +# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shrdw %cl, %si, %di +# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shldw %cl, %si, (%rax) +# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shrdw %cl, %si, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shldw $7, %si, %di +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shrdw $7, %si, %di +# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shldw $7, %si, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdw $7, %si, (%rax) +# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shldl %cl, %esi, %edi +# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shrdl %cl, %esi, %edi +# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shldl %cl, %esi, (%rax) +# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shrdl %cl, %esi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shldl $7, %esi, %edi +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shrdl $7, %esi, %edi +# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shldl $7, %esi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdl $7, %esi, (%rax) +# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shldq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.83 0.33 - 1.83 - - shrdq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shldq %cl, %rsi, (%rax) +# CHECK-NEXT: - - 1.83 0.33 1.00 1.83 1.00 1.00 shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shldq $7, %rsi, %rdi +# CHECK-NEXT: - - 0.83 0.33 - 0.83 - - shrdq $7, %rsi, %rdi +# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shldq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %al +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subb $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb %dil, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subb %dil, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 subb (%rax), %dil +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subw $511, %ax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subw $511, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subw $511, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subw $7, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subw $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subw %di, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subw %di, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 subw (%rax), %di +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subl $665536, %eax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subl $665536, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subl $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subl $7, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subl $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subl %edi, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subl %edi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 subl (%rax), %edi +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subq $665536, %rax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subq $665536, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subq $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subq $7, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subq $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subq %rdi, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subq %rdi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 subq (%rax), %rdi +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorb $7, %al +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorb $7, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorb $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorb %dil, %dil +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorb %dil, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 xorb (%rax), %dil +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorw $511, %ax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorw $511, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorw $511, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorw $7, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorw $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorw %di, %di +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorw %di, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 xorw (%rax), %di +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorl $665536, %eax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorl $665536, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorl $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorl $7, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorl $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorl %edi, %edi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorl %edi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 xorl (%rax), %edi +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorq $665536, %rax +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorq $665536, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorq $665536, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorq $7, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorq $7, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - xorq %rdi, %rdi +# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 xorq %rdi, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 xorq (%rax), %rdi diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s index e6e1404..1183c63 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s @@ -205,163 +205,163 @@ fyl2xp1 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 0.33 * f2xm1 -# CHECK-NEXT: 1 1 1.00 * fabs -# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fadd %st(2) -# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx) -# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 * faddp %st(1) -# CHECK-NEXT: 1 3 1.00 * faddp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx) -# CHECK-NEXT: 1 100 0.33 * fbld (%ecx) -# CHECK-NEXT: 1 100 0.33 * fbstp (%eax) -# CHECK-NEXT: 1 1 1.00 * fchs -# CHECK-NEXT: 1 100 0.33 * fnclex -# CHECK-NEXT: 3 3 2.00 * fcmovb %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 * fcmove %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 * fcmovne %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 * fcmovu %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 * fcom %st(1) -# CHECK-NEXT: 1 1 1.00 * fcom %st(3) -# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx) -# CHECK-NEXT: 2 8 1.00 * fcoml (%eax) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) -# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx) -# CHECK-NEXT: 2 8 1.00 * fcompl (%eax) -# CHECK-NEXT: 1 100 0.33 * fcompp -# CHECK-NEXT: 3 3 1.00 * fcomi %st(3) -# CHECK-NEXT: 3 3 1.00 * fcompi %st(3) -# CHECK-NEXT: 1 100 0.33 * fcos -# CHECK-NEXT: 1 1 1.00 * fdecstp -# CHECK-NEXT: 1 14 14.00 * fdiv %st(0), %st(1) -# CHECK-NEXT: 1 14 14.00 * fdiv %st(2) -# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx) -# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax) -# CHECK-NEXT: 1 14 14.00 * fdivp %st(1) -# CHECK-NEXT: 1 14 14.00 * fdivp %st(2) -# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx) -# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax) -# CHECK-NEXT: 1 14 14.00 * fdivr %st(0), %st(1) -# CHECK-NEXT: 1 14 14.00 * fdivr %st(2) -# CHECK-NEXT: 2 31 1.00 * * fdivrs (%ecx) -# CHECK-NEXT: 2 31 1.00 * * fdivrl (%eax) -# CHECK-NEXT: 1 14 14.00 * fdivrp %st(1) -# CHECK-NEXT: 1 14 14.00 * fdivrp %st(2) -# CHECK-NEXT: 3 34 1.00 * * fidivrs (%ecx) -# CHECK-NEXT: 3 34 1.00 * * fidivrl (%eax) -# CHECK-NEXT: 1 1 1.00 * ffree %st(0) -# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx) -# CHECK-NEXT: 3 11 2.00 * ficoml (%eax) -# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx) -# CHECK-NEXT: 3 11 2.00 * ficompl (%eax) -# CHECK-NEXT: 2 10 1.00 * * filds (%edx) -# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fildll (%eax) -# CHECK-NEXT: 1 1 1.00 * fincstp -# CHECK-NEXT: 4 5 1.33 * fninit -# CHECK-NEXT: 4 9 1.00 * * fists (%edx) -# CHECK-NEXT: 4 9 1.00 * * fistl (%ecx) -# CHECK-NEXT: 4 9 1.00 * * fistps (%edx) -# CHECK-NEXT: 4 9 1.00 * * fistpl (%ecx) -# CHECK-NEXT: 4 9 1.00 * * fistpll (%eax) -# CHECK-NEXT: 3 5 1.00 * * fisttps (%edx) -# CHECK-NEXT: 3 5 1.00 * * fisttpl (%ecx) -# CHECK-NEXT: 3 5 1.00 * * fisttpll (%eax) -# CHECK-NEXT: 1 1 1.00 * fld %st(0) -# CHECK-NEXT: 3 9 1.00 * * flds (%edx) -# CHECK-NEXT: 3 9 1.00 * * fldl (%ecx) -# CHECK-NEXT: 3 9 1.00 * * fldt (%eax) -# CHECK-NEXT: 5 8 2.00 * * fldcw (%eax) -# CHECK-NEXT: 1 100 0.33 * fldenv (%eax) -# CHECK-NEXT: 1 1 - * fld1 -# CHECK-NEXT: 1 100 0.33 * fldl2e -# CHECK-NEXT: 1 100 0.33 * fldl2t -# CHECK-NEXT: 1 100 0.33 * fldlg2 -# CHECK-NEXT: 1 100 0.33 * fldln2 -# CHECK-NEXT: 1 100 0.33 * fldpi -# CHECK-NEXT: 1 1 - * fldz -# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1) -# CHECK-NEXT: 1 5 1.00 * fmul %st(2) -# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx) -# CHECK-NEXT: 2 12 1.00 * * fmull (%eax) -# CHECK-NEXT: 1 5 1.00 * fmulp %st(1) -# CHECK-NEXT: 1 5 1.00 * fmulp %st(2) -# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx) -# CHECK-NEXT: 3 15 1.00 * * fimull (%eax) -# CHECK-NEXT: 1 1 1.00 * fnop -# CHECK-NEXT: 1 100 0.33 * fpatan -# CHECK-NEXT: 1 100 0.33 * fprem -# CHECK-NEXT: 1 100 0.33 * fprem1 -# CHECK-NEXT: 1 100 0.33 * fptan -# CHECK-NEXT: 1 100 0.33 * frndint -# CHECK-NEXT: 1 100 0.33 * frstor (%eax) -# CHECK-NEXT: 1 100 0.33 * fnsave (%eax) -# CHECK-NEXT: 1 100 0.33 * fscale -# CHECK-NEXT: 1 100 0.33 * fsin -# CHECK-NEXT: 1 100 0.33 * fsincos -# CHECK-NEXT: 1 24 24.00 * fsqrt -# CHECK-NEXT: 1 1 1.00 * fst %st(0) -# CHECK-NEXT: 3 6 1.00 * * fsts (%edx) -# CHECK-NEXT: 3 6 1.00 * * fstl (%ecx) -# CHECK-NEXT: 1 1 1.00 * fstp %st(0) -# CHECK-NEXT: 3 6 1.00 * * fstpl (%edx) -# CHECK-NEXT: 3 6 1.00 * * fstpl (%ecx) -# CHECK-NEXT: 3 6 1.00 * * fstpt (%eax) -# CHECK-NEXT: 4 7 1.00 * * fnstcw (%eax) -# CHECK-NEXT: 1 100 0.33 * fnstenv (%eax) -# CHECK-NEXT: 4 7 1.00 * fnstsw (%eax) -# CHECK-NEXT: 1 100 0.33 * frstor (%eax) -# CHECK-NEXT: 1 100 0.33 * wait -# CHECK-NEXT: 1 100 0.33 * fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsub %st(2) -# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) -# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * ftst -# CHECK-NEXT: 1 1 1.00 * fucom %st(1) -# CHECK-NEXT: 1 1 1.00 * fucom %st(3) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) -# CHECK-NEXT: 1 3 1.00 * fucompp -# CHECK-NEXT: 3 3 1.00 * fucomi %st(3) -# CHECK-NEXT: 3 3 1.00 * fucompi %st(3) -# CHECK-NEXT: 1 100 0.33 * wait -# CHECK-NEXT: 1 100 0.33 * fxam -# CHECK-NEXT: 1 1 0.33 * fxch %st(1) -# CHECK-NEXT: 1 1 0.33 * fxch %st(3) -# CHECK-NEXT: 5 5 2.00 * * * fxrstor (%eax) -# CHECK-NEXT: 1 100 0.33 * * * fxsave (%eax) -# CHECK-NEXT: 1 100 0.33 * fxtract -# CHECK-NEXT: 1 100 0.33 * fyl2x -# CHECK-NEXT: 1 100 0.33 * fyl2xp1 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 100 0.33 * f2xm1 +# CHECK-NEXT: 1 1 1.00 * fabs +# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fadd %st(2) +# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx) +# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx) +# CHECK-NEXT: 1 3 1.00 * faddp %st(1) +# CHECK-NEXT: 1 3 1.00 * faddp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx) +# CHECK-NEXT: 1 100 0.33 * fbld (%ecx) +# CHECK-NEXT: 1 100 0.33 * fbstp (%eax) +# CHECK-NEXT: 1 1 1.00 * fchs +# CHECK-NEXT: 1 100 0.33 * fnclex +# CHECK-NEXT: 3 3 2.00 * fcmovb %st(1), %st(0) +# CHECK-NEXT: 3 3 2.00 * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 3 3 2.00 * fcmove %st(1), %st(0) +# CHECK-NEXT: 3 3 2.00 * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 3 3 2.00 * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 3 3 2.00 * fcmovne %st(1), %st(0) +# CHECK-NEXT: 3 3 2.00 * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 3 3 2.00 * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 1 1.00 * fcom %st(1) +# CHECK-NEXT: 1 1 1.00 * fcom %st(3) +# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx) +# CHECK-NEXT: 2 8 1.00 * fcoml (%eax) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) +# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx) +# CHECK-NEXT: 2 8 1.00 * fcompl (%eax) +# CHECK-NEXT: 1 100 0.33 * fcompp +# CHECK-NEXT: 3 3 1.00 * fcomi %st(3) +# CHECK-NEXT: 3 3 1.00 * fcompi %st(3) +# CHECK-NEXT: 1 100 0.33 * fcos +# CHECK-NEXT: 1 1 1.00 * fdecstp +# CHECK-NEXT: 1 14 14.00 * fdiv %st(0), %st(1) +# CHECK-NEXT: 1 14 14.00 * fdiv %st(2) +# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx) +# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax) +# CHECK-NEXT: 1 14 14.00 * fdivp %st(1) +# CHECK-NEXT: 1 14 14.00 * fdivp %st(2) +# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx) +# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax) +# CHECK-NEXT: 1 14 14.00 * fdivr %st(0), %st(1) +# CHECK-NEXT: 1 14 14.00 * fdivr %st(2) +# CHECK-NEXT: 2 31 1.00 * * fdivrs (%ecx) +# CHECK-NEXT: 2 31 1.00 * * fdivrl (%eax) +# CHECK-NEXT: 1 14 14.00 * fdivrp %st(1) +# CHECK-NEXT: 1 14 14.00 * fdivrp %st(2) +# CHECK-NEXT: 3 34 1.00 * * fidivrs (%ecx) +# CHECK-NEXT: 3 34 1.00 * * fidivrl (%eax) +# CHECK-NEXT: 1 1 1.00 * ffree %st(0) +# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx) +# CHECK-NEXT: 3 11 2.00 * ficoml (%eax) +# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx) +# CHECK-NEXT: 3 11 2.00 * ficompl (%eax) +# CHECK-NEXT: 2 10 1.00 * * filds (%edx) +# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fildll (%eax) +# CHECK-NEXT: 1 1 1.00 * fincstp +# CHECK-NEXT: 4 5 1.33 * fninit +# CHECK-NEXT: 4 9 1.00 * * fists (%edx) +# CHECK-NEXT: 4 9 1.00 * * fistl (%ecx) +# CHECK-NEXT: 4 9 1.00 * * fistps (%edx) +# CHECK-NEXT: 4 9 1.00 * * fistpl (%ecx) +# CHECK-NEXT: 4 9 1.00 * * fistpll (%eax) +# CHECK-NEXT: 3 5 1.00 * * fisttps (%edx) +# CHECK-NEXT: 3 5 1.00 * * fisttpl (%ecx) +# CHECK-NEXT: 3 5 1.00 * * fisttpll (%eax) +# CHECK-NEXT: 1 1 1.00 * fld %st(0) +# CHECK-NEXT: 3 9 1.00 * * flds (%edx) +# CHECK-NEXT: 3 9 1.00 * * fldl (%ecx) +# CHECK-NEXT: 3 9 1.00 * * fldt (%eax) +# CHECK-NEXT: 5 8 2.00 * * fldcw (%eax) +# CHECK-NEXT: 1 100 0.33 * fldenv (%eax) +# CHECK-NEXT: 1 1 - * fld1 +# CHECK-NEXT: 1 100 0.33 * fldl2e +# CHECK-NEXT: 1 100 0.33 * fldl2t +# CHECK-NEXT: 1 100 0.33 * fldlg2 +# CHECK-NEXT: 1 100 0.33 * fldln2 +# CHECK-NEXT: 1 100 0.33 * fldpi +# CHECK-NEXT: 1 1 - * fldz +# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 * fmul %st(2) +# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx) +# CHECK-NEXT: 2 12 1.00 * * fmull (%eax) +# CHECK-NEXT: 1 5 1.00 * fmulp %st(1) +# CHECK-NEXT: 1 5 1.00 * fmulp %st(2) +# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx) +# CHECK-NEXT: 3 15 1.00 * * fimull (%eax) +# CHECK-NEXT: 1 1 1.00 * fnop +# CHECK-NEXT: 1 100 0.33 * fpatan +# CHECK-NEXT: 1 100 0.33 * fprem +# CHECK-NEXT: 1 100 0.33 * fprem1 +# CHECK-NEXT: 1 100 0.33 * fptan +# CHECK-NEXT: 1 100 0.33 * frndint +# CHECK-NEXT: 1 100 0.33 * frstor (%eax) +# CHECK-NEXT: 1 100 0.33 * fnsave (%eax) +# CHECK-NEXT: 1 100 0.33 * fscale +# CHECK-NEXT: 1 100 0.33 * fsin +# CHECK-NEXT: 1 100 0.33 * fsincos +# CHECK-NEXT: 1 24 24.00 * fsqrt +# CHECK-NEXT: 1 1 1.00 * fst %st(0) +# CHECK-NEXT: 3 6 1.00 * * fsts (%edx) +# CHECK-NEXT: 3 6 1.00 * * fstl (%ecx) +# CHECK-NEXT: 1 1 1.00 * fstp %st(0) +# CHECK-NEXT: 3 6 1.00 * * fstpl (%edx) +# CHECK-NEXT: 3 6 1.00 * * fstpl (%ecx) +# CHECK-NEXT: 3 6 1.00 * * fstpt (%eax) +# CHECK-NEXT: 4 7 1.00 * * fnstcw (%eax) +# CHECK-NEXT: 1 100 0.33 * fnstenv (%eax) +# CHECK-NEXT: 4 7 1.00 * fnstsw (%eax) +# CHECK-NEXT: 1 100 0.33 * frstor (%eax) +# CHECK-NEXT: 1 100 0.33 * wait +# CHECK-NEXT: 1 100 0.33 * fnsave (%eax) +# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsub %st(2) +# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) +# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * ftst +# CHECK-NEXT: 1 1 1.00 * fucom %st(1) +# CHECK-NEXT: 1 1 1.00 * fucom %st(3) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) +# CHECK-NEXT: 1 3 1.00 * fucompp +# CHECK-NEXT: 3 3 1.00 * fucomi %st(3) +# CHECK-NEXT: 3 3 1.00 * fucompi %st(3) +# CHECK-NEXT: 1 100 0.33 * wait +# CHECK-NEXT: 1 100 0.33 * fxam +# CHECK-NEXT: 1 1 0.33 * fxch %st(1) +# CHECK-NEXT: 1 1 0.33 * fxch %st(3) +# CHECK-NEXT: 5 5 2.00 * * * fxrstor (%eax) +# CHECK-NEXT: 1 100 0.33 * * * fxsave (%eax) +# CHECK-NEXT: 1 100 0.33 * fxtract +# CHECK-NEXT: 1 100 0.33 * fyl2x +# CHECK-NEXT: 1 100 0.33 * fyl2xp1 # 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: [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 @@ -370,153 +370,153 @@ fyl2xp1 # CHECK-NEXT: - 136.00 48.33 87.33 17.00 54.33 34.00 34.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 - - f2xm1 -# CHECK-NEXT: - - - - - 1.00 - - fabs -# CHECK-NEXT: - - - 1.00 - - - - fadd %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - - - - fadd %st(2) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fadds (%ecx) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 faddl (%ecx) -# CHECK-NEXT: - - - 1.00 - - - - faddp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - faddp %st(2) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fiadds (%ecx) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fiaddl (%ecx) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fbld (%ecx) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fbstp (%eax) -# CHECK-NEXT: - - - - - 1.00 - - fchs -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnclex -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - fcom %st(1) -# CHECK-NEXT: - - - 1.00 - - - - fcom %st(3) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcoms (%ecx) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcoml (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fcomp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - fcomp %st(3) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcomps (%ecx) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcompl (%eax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcompp -# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcomi %st(3) -# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcompi %st(3) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcos -# CHECK-NEXT: - - - - - 1.00 - - fdecstp -# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(0), %st(1) -# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(2) -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivs (%ecx) -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivl (%eax) -# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(1) -# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(2) -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivs (%ecx) -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivl (%eax) -# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(0), %st(1) -# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(2) -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrs (%ecx) -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrl (%eax) -# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(1) -# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(2) -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrs (%ecx) -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrl (%eax) -# CHECK-NEXT: - - - - - 1.00 - - ffree %st(0) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficoms (%ecx) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficoml (%eax) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficomps (%ecx) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficompl (%eax) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 filds (%edx) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fildl (%ecx) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fildll (%eax) -# CHECK-NEXT: - - - - - 1.00 - - fincstp -# CHECK-NEXT: - - 1.00 1.00 - 2.00 - - fninit -# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fists (%edx) -# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fistl (%ecx) -# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fistps (%edx) -# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fistpl (%ecx) -# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fistpll (%eax) -# CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttps (%edx) -# CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttpl (%ecx) -# CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttpll (%eax) -# CHECK-NEXT: - - - - - 1.00 - - fld %st(0) -# CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 flds (%edx) -# CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 fldl (%ecx) -# CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 fldt (%eax) -# CHECK-NEXT: - - - - 1.00 2.00 1.00 1.00 fldcw (%eax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldenv (%eax) -# CHECK-NEXT: - - - - - - - - fld1 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldl2e -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldl2t -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldlg2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldln2 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldpi -# CHECK-NEXT: - - - - - - - - fldz -# CHECK-NEXT: - - 1.00 - - - - - fmul %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - fmul %st(2) -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmuls (%ecx) -# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmull (%eax) -# CHECK-NEXT: - - 1.00 - - - - - fmulp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - fmulp %st(2) -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fimuls (%ecx) -# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fimull (%eax) -# CHECK-NEXT: - - - - - 1.00 - - fnop -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fpatan -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fprem -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fprem1 -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fptan -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - frndint -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - frstor (%eax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnsave (%eax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fscale -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fsin -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fsincos -# CHECK-NEXT: - 24.00 1.00 - - - - - fsqrt -# CHECK-NEXT: - - - - - 1.00 - - fst %st(0) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fsts (%edx) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstl (%ecx) -# CHECK-NEXT: - - - - - 1.00 - - fstp %st(0) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpl (%edx) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpl (%ecx) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpt (%eax) -# CHECK-NEXT: - - - - 1.00 1.00 1.00 1.00 fnstcw (%eax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnstenv (%eax) -# CHECK-NEXT: - - 1.00 - 1.00 - 1.00 1.00 fnstsw (%eax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - frstor (%eax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fsub %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - - - - fsub %st(2) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubs (%ecx) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fsubp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - fsubp %st(2) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubs (%ecx) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(0), %st(1) -# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(2) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrs (%ecx) -# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st(2) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubrs (%ecx) -# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubrl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - ftst -# CHECK-NEXT: - - - 1.00 - - - - fucom %st(1) -# CHECK-NEXT: - - - 1.00 - - - - fucom %st(3) -# CHECK-NEXT: - - - 1.00 - - - - fucomp %st(1) -# CHECK-NEXT: - - - 1.00 - - - - fucomp %st(3) -# CHECK-NEXT: - - - 1.00 - - - - fucompp -# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucomi %st(3) -# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucompi %st(3) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxam -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(1) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(3) -# CHECK-NEXT: - - 0.50 0.50 1.00 2.00 0.50 0.50 fxrstor (%eax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxsave (%eax) -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxtract -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fyl2x -# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fyl2xp1 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - f2xm1 +# CHECK-NEXT: - - - - - 1.00 - - fabs +# CHECK-NEXT: - - - 1.00 - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fadd %st(2) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fadds (%ecx) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 faddl (%ecx) +# CHECK-NEXT: - - - 1.00 - - - - faddp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - faddp %st(2) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fiadds (%ecx) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fiaddl (%ecx) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fbld (%ecx) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fbstp (%eax) +# CHECK-NEXT: - - - - - 1.00 - - fchs +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnclex +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovb %st(1), %st(0) +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovbe %st(1), %st(0) +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmove %st(1), %st(0) +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnb %st(1), %st(0) +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnbe %st(1), %st(0) +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovne %st(1), %st(0) +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnu %st(1), %st(0) +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - fcom %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fcom %st(3) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcoms (%ecx) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcoml (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fcomp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fcomp %st(3) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcomps (%ecx) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcompl (%eax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcompp +# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcomi %st(3) +# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcompi %st(3) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcos +# CHECK-NEXT: - - - - - 1.00 - - fdecstp +# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(2) +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivs (%ecx) +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivl (%eax) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(1) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(2) +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivs (%ecx) +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivl (%eax) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(2) +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrs (%ecx) +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrl (%eax) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(1) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(2) +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrs (%ecx) +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrl (%eax) +# CHECK-NEXT: - - - - - 1.00 - - ffree %st(0) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficoms (%ecx) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficoml (%eax) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficomps (%ecx) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficompl (%eax) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 filds (%edx) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fildl (%ecx) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fildll (%eax) +# CHECK-NEXT: - - - - - 1.00 - - fincstp +# CHECK-NEXT: - - 1.00 1.00 - 2.00 - - fninit +# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fists (%edx) +# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fistl (%ecx) +# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fistps (%edx) +# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fistpl (%ecx) +# CHECK-NEXT: - - - 1.00 1.00 - 1.00 1.00 fistpll (%eax) +# CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttps (%edx) +# CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttpl (%ecx) +# CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttpll (%eax) +# CHECK-NEXT: - - - - - 1.00 - - fld %st(0) +# CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 flds (%edx) +# CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 fldl (%ecx) +# CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 fldt (%eax) +# CHECK-NEXT: - - - - 1.00 2.00 1.00 1.00 fldcw (%eax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldenv (%eax) +# CHECK-NEXT: - - - - - - - - fld1 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldl2e +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldl2t +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldlg2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldln2 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fldpi +# CHECK-NEXT: - - - - - - - - fldz +# CHECK-NEXT: - - 1.00 - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - fmul %st(2) +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmuls (%ecx) +# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmull (%eax) +# CHECK-NEXT: - - 1.00 - - - - - fmulp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - fmulp %st(2) +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fimuls (%ecx) +# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fimull (%eax) +# CHECK-NEXT: - - - - - 1.00 - - fnop +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fpatan +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fprem +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fprem1 +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fptan +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - frndint +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - frstor (%eax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnsave (%eax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fscale +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fsin +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fsincos +# CHECK-NEXT: - 24.00 1.00 - - - - - fsqrt +# CHECK-NEXT: - - - - - 1.00 - - fst %st(0) +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fsts (%edx) +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstl (%ecx) +# CHECK-NEXT: - - - - - 1.00 - - fstp %st(0) +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpl (%edx) +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpl (%ecx) +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpt (%eax) +# CHECK-NEXT: - - - - 1.00 1.00 1.00 1.00 fnstcw (%eax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnstenv (%eax) +# CHECK-NEXT: - - 1.00 - 1.00 - 1.00 1.00 fnstsw (%eax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - frstor (%eax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnsave (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fsub %st(2) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubs (%ecx) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fsubp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fsubp %st(2) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubs (%ecx) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(2) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrs (%ecx) +# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st(2) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubrs (%ecx) +# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubrl (%eax) +# CHECK-NEXT: - - - 1.00 - - - - ftst +# CHECK-NEXT: - - - 1.00 - - - - fucom %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fucom %st(3) +# CHECK-NEXT: - - - 1.00 - - - - fucomp %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fucomp %st(3) +# CHECK-NEXT: - - - 1.00 - - - - fucompp +# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucomi %st(3) +# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucompi %st(3) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxam +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(1) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(3) +# CHECK-NEXT: - - 0.50 0.50 1.00 2.00 0.50 0.50 fxrstor (%eax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxsave (%eax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxtract +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fyl2x +# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fyl2xp1 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s index 9b0e41d..379b837 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s @@ -1017,1390 +1017,1390 @@ vzeroupper # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.50 vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vaddsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 8 2.00 vaesimc %xmm0, %xmm2 -# CHECK-NEXT: 3 14 2.00 * vaesimc (%rax), %xmm2 -# CHECK-NEXT: 11 20 6.00 vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: 11 25 6.00 * vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 0.67 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 8 0.67 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 0.67 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 9 0.67 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 0.67 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 8 0.67 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 0.67 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 9 0.67 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 7 0.50 * 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 4 0.50 vcmppd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcmppd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vcmppd $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcmppd $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vcmpps $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcmpps $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vcmpps $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcmpps $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vcmpsd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vcmpsd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vcmpss $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vcmpss $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vcomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * vcomisd (%rax), %xmm1 -# CHECK-NEXT: 1 2 1.00 vcomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * vcomiss (%rax), %xmm1 -# CHECK-NEXT: 2 5 1.00 vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: 3 13 1.00 * vcvtdq2pd (%rax), %ymm2 -# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: 2 5 1.00 vcvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2psy (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: 2 5 1.00 vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: 2 6 1.00 vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * vcvtsd2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * vcvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 5 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 10 1.00 * vcvtsd2ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 5 1.00 vcvtsi2sdl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 2 5 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: 2 5 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 3 6 2.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: 2 5 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 vcvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 vcvtss2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * vcvtss2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * vcvtss2si (%rax), %rcx -# CHECK-NEXT: 2 5 1.00 vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax), %ymm2 -# CHECK-NEXT: 2 6 1.00 vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * vcvttsd2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * vcvttsd2si (%rax), %rcx -# CHECK-NEXT: 3 7 1.00 vcvttss2si %xmm0, %ecx -# CHECK-NEXT: 3 7 1.00 vcvttss2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * vcvttss2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * vcvttss2si (%rax), %rcx -# CHECK-NEXT: 1 14 3.00 vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 20 4.00 * vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 14 5.00 vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 21 8.00 * vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 11 3.00 vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 17 5.00 * vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 11 5.00 vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 18 5.00 * vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 14 3.00 vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 19 4.00 * vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 11 3.00 vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 16 3.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 13 1.50 vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 5 19 1.50 * vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 4 13 1.50 vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 5 20 1.50 * vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: 2 3 1.00 vextractps $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: 3 6 2.00 vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 12 2.00 * vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 6 2.00 vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 13 2.00 * vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 6 2.00 vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 12 2.00 * vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 6 2.00 vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 13 2.00 * vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 6 2.00 vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 12 2.00 * vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 6 2.00 vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 13 2.00 * vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 6 2.00 vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 12 2.00 * vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 6 2.00 vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 13 2.00 * vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 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: 3 7 1.00 * * * vldmxcsr (%rax) -# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 2 7 0.50 * vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 4 0.50 vmaxpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vmaxps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vmaxss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vmaxss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vminpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vminps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vminss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vminss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovapd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovapd %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm0, (%rax) -# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.33 vmovaps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovaps %ymm0, %ymm2 -# CHECK-NEXT: 2 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 5 0.50 * vmovd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 vmovd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * vmovd %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 vmovddup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovdqa %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: 2 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: 2 1 1.00 * vmovdqu %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovdqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: 2 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: 2 1 1.00 * vmovhpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovhps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax) -# CHECK-NEXT: 2 6 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: 2 1 1.00 * vmovntdq %xmm0, (%rax) -# CHECK-NEXT: 2 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: 2 1 1.00 * vmovntpd %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * vmovntpd %ymm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * vmovntps %xmm0, (%rax) -# CHECK-NEXT: 2 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 5 0.50 * vmovq (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 vmovq %xmm0, %rcx -# CHECK-NEXT: 2 1 1.00 * vmovq %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovss %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovupd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovupd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovupd %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm0, (%rax) -# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.33 vmovups %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovups %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovups (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovups %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovups %ymm0, (%rax) -# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %ymm2 -# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 10 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * 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 1.00 vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpackuswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpaddb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpaddb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 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.33 vpaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 0.67 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 8 0.67 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 12 1.00 * 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 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 3 1.00 vpcmpgtq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 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: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 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 2 1.00 * vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 3 3 2.00 vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vphminposuw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vphminposuw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vpmaddubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmaddubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vpmaddwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * 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 1.00 vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 vpmuldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmuldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vpmulhrsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmulhrsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vpmulhuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmulhuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vpmulhw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmulhw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vpmullw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmullw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vpmuludq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * 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 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 1.00 * vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 0.50 vpslld $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrlw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpsubb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 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.33 vpsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 1.00 vptest %xmm0, %xmm1 -# CHECK-NEXT: 3 9 1.00 * vptest (%rax), %xmm1 -# CHECK-NEXT: 2 3 1.00 vptest %ymm0, %ymm1 -# CHECK-NEXT: 3 10 1.00 * vptest (%rax), %ymm1 -# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 4 1.00 vrcpps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vrcpps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 vrcpps %ymm0, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vrcpps (%rax), %ymm2 -# CHECK-NEXT: 1 4 1.00 vrcpss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 1.00 * vrcpss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 1.00 * vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 1.00 vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 3 15 1.00 * vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: 2 8 1.00 vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 1.00 * vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 1.00 vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: 3 15 1.00 * vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: 2 8 1.00 vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 14 1.00 * vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 14 1.00 * vroundss $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vrsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vrsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vrsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 4 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 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 18 6.00 vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 18 12.00 vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: 1 12 3.00 vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 12 6.00 vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 18 6.00 vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax) -# CHECK-NEXT: 1 4 0.50 vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vsubss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vtestpd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vtestpd (%rax), %xmm1 -# CHECK-NEXT: 1 2 1.00 vtestpd %ymm0, %ymm1 -# CHECK-NEXT: 2 9 1.00 * vtestpd (%rax), %ymm1 -# CHECK-NEXT: 1 2 1.00 vtestps %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vtestps (%rax), %xmm1 -# CHECK-NEXT: 1 2 1.00 vtestps %ymm0, %ymm1 -# CHECK-NEXT: 2 9 1.00 * vtestps (%rax), %ymm1 -# CHECK-NEXT: 1 2 1.00 vucomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * vucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 2 1.00 vucomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 7 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 0.33 vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 16 16 4.00 * * * vzeroall -# CHECK-NEXT: 4 4 1.00 * * * vzeroupper +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.50 vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 1.00 vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 8 2.00 vaesimc %xmm0, %xmm2 +# CHECK-NEXT: 3 14 2.00 * vaesimc (%rax), %xmm2 +# CHECK-NEXT: 11 20 6.00 vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: 11 25 6.00 * vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 0.67 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 8 0.67 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 0.67 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 9 0.67 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 0.67 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 8 0.67 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 0.67 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 9 0.67 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 7 0.50 * 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 4 0.50 vcmppd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcmppd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vcmppd $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcmppd $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vcmpps $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcmpps $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vcmpps $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcmpps $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vcmpsd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vcmpsd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vcmpss $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vcmpss $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vcomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * vcomisd (%rax), %xmm1 +# CHECK-NEXT: 1 2 1.00 vcomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * vcomiss (%rax), %xmm1 +# CHECK-NEXT: 2 5 1.00 vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: 3 13 1.00 * vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: 2 5 1.00 vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 vcvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: 2 5 1.00 vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: 2 6 1.00 vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * vcvtsd2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * vcvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 5 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 10 1.00 * vcvtsd2ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 5 1.00 vcvtsi2sdl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 2 5 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: 2 5 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 3 6 2.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: 2 5 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 vcvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 vcvtss2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * vcvtss2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * vcvtss2si (%rax), %rcx +# CHECK-NEXT: 2 5 1.00 vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: 2 6 1.00 vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * vcvttsd2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * vcvttsd2si (%rax), %rcx +# CHECK-NEXT: 3 7 1.00 vcvttss2si %xmm0, %ecx +# CHECK-NEXT: 3 7 1.00 vcvttss2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * vcvttss2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * vcvttss2si (%rax), %rcx +# CHECK-NEXT: 1 14 3.00 vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 20 4.00 * vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 14 5.00 vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 21 8.00 * vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 11 3.00 vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 17 5.00 * vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 11 5.00 vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 18 5.00 * vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 14 3.00 vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 19 4.00 * vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 11 3.00 vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 16 3.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 13 1.50 vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 5 19 1.50 * vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 4 13 1.50 vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 5 20 1.50 * vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: 2 3 1.00 vextractps $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: 3 6 2.00 vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 12 2.00 * vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 6 2.00 vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 13 2.00 * vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 6 2.00 vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 12 2.00 * vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 6 2.00 vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 13 2.00 * vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 6 2.00 vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 12 2.00 * vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 6 2.00 vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 13 2.00 * vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 6 2.00 vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 12 2.00 * vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 6 2.00 vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 13 2.00 * vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 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: 3 7 1.00 * * * vldmxcsr (%rax) +# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 2 7 0.50 * vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 4 0.50 vmaxpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vmaxps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vmaxss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vmaxss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vminpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vminpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vminps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vminps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vminss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vminss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovapd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovapd %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm0, (%rax) +# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.33 vmovaps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovaps %ymm0, %ymm2 +# CHECK-NEXT: 2 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 5 0.50 * vmovd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 vmovd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * vmovd %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 vmovddup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovdqa %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: 2 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: 2 1 1.00 * vmovdqu %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovdqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: 2 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: 2 1 1.00 * vmovhpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovhps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax) +# CHECK-NEXT: 2 6 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: 2 1 1.00 * vmovntdq %xmm0, (%rax) +# CHECK-NEXT: 2 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: 2 1 1.00 * vmovntpd %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * vmovntpd %ymm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * vmovntps %xmm0, (%rax) +# CHECK-NEXT: 2 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 5 0.50 * vmovq (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 vmovq %xmm0, %rcx +# CHECK-NEXT: 2 1 1.00 * vmovq %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovss %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovupd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovupd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovupd %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm0, (%rax) +# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.33 vmovups %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovups %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovups (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovups %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovups %ymm0, (%rax) +# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %ymm2 +# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 10 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * 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 1.00 vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 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.33 vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 0.67 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 8 0.67 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 12 1.00 * 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 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 3 1.00 vpcmpgtq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 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: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 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 2 1.00 * vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 3 3 2.00 vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vphminposuw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vphminposuw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vpmaddubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmaddubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vpmaddwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * 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 1.00 vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 vpmuldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmuldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vpmulhrsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmulhrsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vpmulhuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmulhuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vpmulhw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmulhw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vpmullw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmullw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vpmuludq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * 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 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 1.00 * vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 0.50 vpslld $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 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.33 vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vptest %xmm0, %xmm1 +# CHECK-NEXT: 3 9 1.00 * vptest (%rax), %xmm1 +# CHECK-NEXT: 2 3 1.00 vptest %ymm0, %ymm1 +# CHECK-NEXT: 3 10 1.00 * vptest (%rax), %ymm1 +# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 4 1.00 vrcpps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vrcpps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 vrcpps %ymm0, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vrcpps (%rax), %ymm2 +# CHECK-NEXT: 1 4 1.00 vrcpss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 1.00 * vrcpss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 1.00 * vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 1.00 vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 3 15 1.00 * vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: 2 8 1.00 vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 1.00 * vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 1.00 vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: 3 15 1.00 * vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: 2 8 1.00 vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 14 1.00 * vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 14 1.00 * vroundss $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vrsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vrsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vrsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 4 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 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 18 6.00 vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 18 12.00 vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: 1 12 3.00 vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 12 6.00 vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 18 6.00 vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax) +# CHECK-NEXT: 1 4 0.50 vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vtestpd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vtestpd (%rax), %xmm1 +# CHECK-NEXT: 1 2 1.00 vtestpd %ymm0, %ymm1 +# CHECK-NEXT: 2 9 1.00 * vtestpd (%rax), %ymm1 +# CHECK-NEXT: 1 2 1.00 vtestps %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vtestps (%rax), %xmm1 +# CHECK-NEXT: 1 2 1.00 vtestps %ymm0, %ymm1 +# CHECK-NEXT: 2 9 1.00 * vtestps (%rax), %ymm1 +# CHECK-NEXT: 1 2 1.00 vucomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * vucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 2 1.00 vucomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 7 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 0.33 vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 16 16 4.00 * * * vzeroall +# CHECK-NEXT: 4 4 1.00 * * * vzeroupper # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 123.00 303.50 202.50 171.17 171.17 34.00 311.00 5.00 12.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 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 0.67 - - - 6.67 - - vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.33 0.33 0.50 0.50 - 6.33 - - vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 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: - - 0.50 0.50 - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmppd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmppd $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpps $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpps $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpsd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpss $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vcomisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomisd (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - - - - vcomiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomiss (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psy (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtsd2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtsd2ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtsi2sdl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - 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: - - 0.33 0.33 - - - 1.33 - - vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vcvtsi2ssq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvtss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvtss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtss2si (%rax), %ecx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtss2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvttpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2dq (%rax), %ymm2 -# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttsd2si (%rax), %rcx -# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - vcvttss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - vcvttss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttss2si (%rax), %ecx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttss2si (%rax), %rcx -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 3.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 0.50 0.50 - 1.00 - - vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.50 1.50 - - - 1.00 - - vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.50 1.50 - - - 1.00 - - vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vextractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinsertps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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.25 0.25 0.50 0.50 - 0.25 0.25 - vldmxcsr (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovps %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovaps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqa (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqu (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovhps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovss %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vpaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - 0.67 0.67 - - - 0.67 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 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: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vphminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vphminposuw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 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: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhrsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhrsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmullw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmullw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuludq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 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.50 0.50 - 0.33 - - vpor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 0.50 0.50 - - - - - - vpslld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vpsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %ymm0, %ymm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %ymm1 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vrcpps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vrcpps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vrcpps %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 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 1.00 - - - - - - vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 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: - - 1.00 - - - - - - - vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 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: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufpd $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 12.00 1.00 - - - - - - - vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %ymm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vstmxcsr (%rax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - - vucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vucomisd (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - - - - vucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 4.00 4.00 - - - 4.00 4.00 - vzeroall -# CHECK-NEXT: - - 1.08 1.08 - - - 1.08 0.75 - vzeroupper +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 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 0.67 - - - 6.67 - - vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.33 0.33 0.50 0.50 - 6.33 - - vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 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: - - 0.50 0.50 - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmppd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmppd $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpps $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpps $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpsd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpss $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vcomisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomisd (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - - - - vcomiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomiss (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtsd2si (%rax), %rcx +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - vcvtsd2ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtsi2sdl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - 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: - - 0.33 0.33 - - - 1.33 - - vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vcvtsi2ssq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvtss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvtss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtss2si (%rax), %ecx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtss2si (%rax), %rcx +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.50 0.50 - - - - - - vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttsd2si (%rax), %rcx +# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - vcvttss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - vcvttss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttss2si (%rax), %ecx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttss2si (%rax), %rcx +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 3.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 0.50 0.50 - 1.00 - - vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.50 1.50 - - - 1.00 - - vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.50 1.50 - - - 1.00 - - vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - 1.00 - - vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vextractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinsertps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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.25 0.25 0.50 0.50 - 0.25 0.25 - vldmxcsr (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovps %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmaxss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmaxss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vminss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vminss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovaps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqa (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqu (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovhpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovhps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovss %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - 0.67 0.67 - - - 0.67 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 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: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vphminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vphminposuw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 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: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhrsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhrsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmullw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmullw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuludq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 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.50 0.50 - 0.33 - - vpor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 0.50 0.50 - - - - - - vpslld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %ymm0, %ymm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %ymm1 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vrcpps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vrcpps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vrcpps %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 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 1.00 - - - - - - vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 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: - - 1.00 - - - - - - - vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 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: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufpd $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 12.00 1.00 - - - - - - - vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %ymm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vstmxcsr (%rax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - - vucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vucomisd (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - - - - vucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 4.00 4.00 - - - 4.00 4.00 - vzeroall +# CHECK-NEXT: - - 1.08 1.08 - - - 1.08 0.75 - vzeroupper diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s index 7b87bfd..3095a2e 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s @@ -456,622 +456,622 @@ vpxor (%rax), %ymm1, %ymm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: 5 22 1.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 11 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 0.67 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 8 0.67 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: 2 7 1.00 * vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: 2 7 1.00 * vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpmovmskb %ymm0, %ecx -# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: 1 4 0.50 vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: 5 22 1.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 11 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 0.67 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 8 0.67 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: 2 7 1.00 * vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: 2 7 1.00 * vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpmovmskb %ymm0, %ecx +# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: 1 4 0.50 vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 110.33 89.33 85.17 85.17 1.00 162.33 - 1.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsb (%rax), %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsd %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsd (%rax), %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsw %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsb (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsd %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsd (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsw %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s index 2adaa9d..5d1d26b 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s @@ -45,72 +45,72 @@ tzcnt (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * andnl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * andnq (%rax), %rbx, %rcx -# CHECK-NEXT: 2 2 0.50 bextrl %eax, %ebx, %ecx -# CHECK-NEXT: 3 7 0.50 * bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: 2 2 0.50 bextrq %rax, %rbx, %rcx -# CHECK-NEXT: 3 7 0.50 * bextrq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsil (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * blsiq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsmskl (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * blsmskq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx -# CHECK-NEXT: 1 1 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: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * andnl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * andnq (%rax), %rbx, %rcx +# CHECK-NEXT: 2 2 0.50 bextrl %eax, %ebx, %ecx +# CHECK-NEXT: 3 7 0.50 * bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: 2 2 0.50 bextrq %rax, %rbx, %rcx +# CHECK-NEXT: 3 7 0.50 * bextrq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsil (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * blsiq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsmskl (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * blsmskq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx +# CHECK-NEXT: 1 1 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: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 2.00 14.00 6.00 6.00 - 10.00 2.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 - - - 0.50 0.50 - bextrl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - bextrq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 - - - 0.50 0.50 - bextrl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - bextrq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - 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 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi2.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi2.s index 8f11d60..1e02380 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi2.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi2.s @@ -57,88 +57,88 @@ shrx %rax, (%rbx), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: 3 4 1.00 mulxl %eax, %ebx, %ecx -# CHECK-NEXT: 4 9 1.00 * mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rbx, %rcx -# CHECK-NEXT: 3 9 1.00 * mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 3 1.00 pdepl %eax, %ebx, %ecx -# CHECK-NEXT: 2 8 1.00 * pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 3 1.00 pdepq %rax, %rbx, %rcx -# CHECK-NEXT: 2 8 1.00 * pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 3 1.00 pextl %eax, %ebx, %ecx -# CHECK-NEXT: 2 8 1.00 * pextl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 3 1.00 pextq %rax, %rbx, %rcx -# CHECK-NEXT: 2 8 1.00 * pextq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 1 0.50 rorxl $1, %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * rorxl $1, (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 rorxq $1, %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * rorxq $1, (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 sarxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 sarxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 shlxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 shlxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 shrxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 shrxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * shrxq %rax, (%rbx), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: 3 4 1.00 mulxl %eax, %ebx, %ecx +# CHECK-NEXT: 4 9 1.00 * mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rbx, %rcx +# CHECK-NEXT: 3 9 1.00 * mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 3 1.00 pdepl %eax, %ebx, %ecx +# CHECK-NEXT: 2 8 1.00 * pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 3 1.00 pdepq %rax, %rbx, %rcx +# CHECK-NEXT: 2 8 1.00 * pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 3 1.00 pextl %eax, %ebx, %ecx +# CHECK-NEXT: 2 8 1.00 * pextl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 3 1.00 pextq %rax, %rbx, %rcx +# CHECK-NEXT: 2 8 1.00 * pextq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 1 0.50 rorxl $1, %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * rorxl $1, (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 rorxq $1, %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * rorxq $1, (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 sarxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 sarxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 shlxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 shlxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 shrxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 shrxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * shrxq %rax, (%rbx), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 9.50 14.50 8.00 8.00 - 4.50 9.50 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhil %eax, %ebx, %ecx -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mulxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulxq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - pdepl %eax, %ebx, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - pdepq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - pextl %eax, %ebx, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - pextq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextq (%rax), %rbx, %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxl $1, %eax, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxl $1, (%rax), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxq $1, %rax, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxq $1, (%rax), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxq %rax, (%rbx), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhil %eax, %ebx, %ecx +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mulxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulxq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - pdepl %eax, %ebx, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - pdepq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - pextl %eax, %ebx, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - pextq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextq (%rax), %rbx, %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxl $1, %eax, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxl $1, (%rax), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxq $1, %rax, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxq $1, (%rax), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxq %rax, (%rbx), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-f16c.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-f16c.s index 1d2117f..0aa8a85 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-f16c.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-f16c.s @@ -21,40 +21,40 @@ vcvtps2ph $0, %ymm0, (%rax) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 5 1.00 vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: 2 10 0.50 * vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: 2 5 1.00 vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: 4 6 1.00 * vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: 2 7 1.00 vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: 4 8 1.00 * vcvtps2ph $0, %ymm0, (%rax) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 5 1.00 vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: 2 10 0.50 * vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: 2 5 1.00 vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: 4 6 1.00 * vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: 2 7 1.00 vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: 4 8 1.00 * vcvtps2ph $0, %ymm0, (%rax) # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 3.67 3.67 1.67 1.67 2.00 6.67 - 0.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.33 0.33 1.00 1.00 - 0.33 vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.33 0.33 1.00 1.00 - 0.33 vcvtps2ph $0, %ymm0, (%rax) +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.33 0.33 1.00 1.00 - 0.33 vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.33 0.33 1.00 1.00 - 0.33 vcvtps2ph $0, %ymm0, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-fma.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-fma.s index dcf0871..cd22f31 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-fma.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-fma.s @@ -297,408 +297,408 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmadd132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmaddsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsub132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfmsubadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vfnmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub231ss (%rax), %xmm1, %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmadd132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmaddsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfmsubadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vfnmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 96.00 96.00 48.00 48.00 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-lzcnt.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-lzcnt.s index 64ce951..9c57856 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-lzcnt.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-lzcnt.s @@ -18,36 +18,36 @@ lzcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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: [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: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 6.00 1.50 1.50 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s index 27e8c6e..cab7340 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s @@ -163,234 +163,234 @@ pxor (%rax), %mm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 10 10 4.50 * * * emms -# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx -# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx -# CHECK-NEXT: 2 1 1.00 * movq %mm0, (%rax) -# CHECK-NEXT: 3 3 2.00 packsswb %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packsswb (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 packssdw %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packssdw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 packuswb %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packuswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 paddsb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * paddsb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 paddsw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * paddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 paddusb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * paddusb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 paddusw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * paddusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pand (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pandn (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpeqb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpeqd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpeqw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpgtb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpgtd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpgtw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmaddwd (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmulhw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmullw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 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 1 0.50 psubb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 psubsb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * psubsb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 psubsw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * psubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 psubusb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * psubusb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 psubusw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * psubusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * 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.50 pxor %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pxor (%rax), %mm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 10 10 4.50 * * * emms +# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx +# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx +# CHECK-NEXT: 2 1 1.00 * movq %mm0, (%rax) +# CHECK-NEXT: 3 3 2.00 packsswb %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packsswb (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 packssdw %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packssdw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 packuswb %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packuswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 paddsb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * paddsb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 paddsw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * paddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 paddusb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * paddusb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 paddusw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * paddusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pand (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pandn (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpeqb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpeqd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpeqw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpgtb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpgtd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpgtw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmaddwd (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmulhw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmullw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 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 1 0.50 psubb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 psubsb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * psubsb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 psubsw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * psubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 psubusb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * psubusb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 psubusw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * psubusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * 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.50 pxor %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pxor (%rax), %mm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 75.50 1.00 23.67 23.67 2.00 41.50 1.00 0.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 4.75 0.25 - - - 4.75 0.25 - 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 movq %mm0, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packsswb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packsswb (%rax), %mm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packssdw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packssdw (%rax), %mm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packuswb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packuswb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddb %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - paddw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pand %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pand (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pandn %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 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.50 - - - - 0.50 - - por %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - psubb %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psubd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - psubw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pxor %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pxor (%rax), %mm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 4.75 0.25 - - - 4.75 0.25 - 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 movq %mm0, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packsswb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packsswb (%rax), %mm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packssdw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packssdw (%rax), %mm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packuswb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packuswb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddb %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - paddw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pand %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pand (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pandn %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 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.50 - - - - 0.50 - - por %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - psubb %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psubd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - psubw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pxor %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pxor (%rax), %mm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-popcnt.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-popcnt.s index 9f340da..87e715a 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-popcnt.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-popcnt.s @@ -18,36 +18,36 @@ popcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx -# CHECK-NEXT: 2 8 1.00 * popcntw (%rax), %cx -# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx -# CHECK-NEXT: 2 8 1.00 * popcntl (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx -# CHECK-NEXT: 2 8 1.00 * popcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx +# CHECK-NEXT: 2 8 1.00 * popcntw (%rax), %cx +# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx +# CHECK-NEXT: 2 8 1.00 * popcntl (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx +# CHECK-NEXT: 2 8 1.00 * popcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 6.00 1.50 1.50 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s index 3b41820..1e30000 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s @@ -193,272 +193,272 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.50 addps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 addss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * addss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 andnps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * andnps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 andps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * andps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 comiss %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * comiss (%rax), %xmm1 -# CHECK-NEXT: 2 6 2.00 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 9 0.50 * cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 2 5 1.00 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 3 6 2.00 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * cvtss2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * cvtss2si (%rax), %rcx -# CHECK-NEXT: 2 5 1.00 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 9 0.50 * cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 3 7 1.00 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 3 7 1.00 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * cvttss2si (%rax), %ecx -# CHECK-NEXT: 4 12 1.00 * cvttss2si (%rax), %rcx -# CHECK-NEXT: 1 11 3.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 2 17 5.00 * divps (%rax), %xmm2 -# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 2 16 3.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 4 0.50 maxps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * maxps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 maxss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 minps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * minps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 minss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * minss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movaps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movaps %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movups %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movups %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movups (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 mulps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 mulss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * mulss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 orps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * orps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pavgb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pavgb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pavgw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pavgw (%rax), %mm2 -# CHECK-NEXT: 2 3 1.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pmaxsw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pmaxub %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pmaxub (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pminsw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pminsw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pminub %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pminub (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) -# CHECK-NEXT: 1 3 1.00 psadbw %mm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * psadbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rcpps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 rcpss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * rcpss (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.33 * * * sfence -# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 12 3.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 18 3.00 * sqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 12 3.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 17 3.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax) -# CHECK-NEXT: 1 4 0.50 subps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * subps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 subss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * subss (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpcklps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 xorps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * xorps (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.50 addps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 addss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 andnps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * andnps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 andps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * andps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 comiss %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * comiss (%rax), %xmm1 +# CHECK-NEXT: 2 6 2.00 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 9 0.50 * cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 2 5 1.00 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 3 6 2.00 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * cvtss2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * cvtss2si (%rax), %rcx +# CHECK-NEXT: 2 5 1.00 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 9 0.50 * cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 3 7 1.00 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 3 7 1.00 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * cvttss2si (%rax), %ecx +# CHECK-NEXT: 4 12 1.00 * cvttss2si (%rax), %rcx +# CHECK-NEXT: 1 11 3.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 2 17 5.00 * divps (%rax), %xmm2 +# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 2 16 3.00 * divss (%rax), %xmm2 +# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 4 0.50 maxps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 maxss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * maxss (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 minps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 minss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * minss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movaps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movaps %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movups %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movups %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movups (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 mulps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 mulss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * mulss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 orps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * orps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pavgb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pavgb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pavgw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pavgw (%rax), %mm2 +# CHECK-NEXT: 2 3 1.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pmaxsw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pmaxub %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pmaxub (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pminsw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pminsw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pminub %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pminub (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) +# CHECK-NEXT: 1 3 1.00 psadbw %mm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * psadbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rcpps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 rcpss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * rcpss (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.33 * * * sfence +# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 12 3.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 18 3.00 * sqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 12 3.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 17 3.00 * sqrtss (%rax), %xmm2 +# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax) +# CHECK-NEXT: 1 4 0.50 subps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 subss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpcklps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 xorps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * xorps (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 26.00 71.33 24.33 32.00 32.00 8.00 33.83 0.50 3.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.50 0.50 - - - - - - addps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - addss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andnps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - comiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comiss (%rax), %xmm1 -# CHECK-NEXT: - - 2.00 - - - - - - - cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtps2pi (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvtss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvtss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvtss2si (%rax), %ecx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvtss2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvttps2pi (%rax), %mm2 -# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - cvttss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - cvttss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvttss2si (%rax), %ecx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - 1.00 - - cvttss2si (%rax), %rcx -# CHECK-NEXT: - 3.00 1.00 - - - - - - - divps %xmm0, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - divps (%rax), %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - divss %xmm0, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - divss (%rax), %xmm2 -# CHECK-NEXT: - - 1.25 0.25 0.50 0.50 - 0.25 0.25 - ldmxcsr (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - maskmovq %mm0, %mm1 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxss (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - minps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - minss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movaps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movaps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movhlps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movlhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhps (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movmskps %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntq %mm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - movss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movss %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movups %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movups %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movups (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - orps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - orps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pavgb %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pavgb (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pavgw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pavgw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %mm0, %ecx -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrw $1, %eax, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaxsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaxsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaxub %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaxub (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pminsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pminsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pminub %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pminub (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht0 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht1 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht2 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetchnta (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - psadbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - psadbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufw $1, %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufw $1, (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rcpps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rcpss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtss (%rax), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 - 0.25 0.25 0.33 sfence -# CHECK-NEXT: - - - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufps $1, (%rax), %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - sqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - sqrtps (%rax), %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - sqrtss %xmm0, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - sqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 stmxcsr (%rax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - subps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - subss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - ucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - ucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - unpckhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - unpcklps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - xorps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - xorps (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.50 0.50 - - - - - - addps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - addss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andnps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - comiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comiss (%rax), %xmm1 +# CHECK-NEXT: - - 2.00 - - - - - - - cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtps2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvtss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvtss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvtss2si (%rax), %ecx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvtss2si (%rax), %rcx +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvttps2pi (%rax), %mm2 +# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - cvttss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - cvttss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvttss2si (%rax), %ecx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - 1.00 - - cvttss2si (%rax), %rcx +# CHECK-NEXT: - 3.00 1.00 - - - - - - - divps %xmm0, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - divps (%rax), %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - divss %xmm0, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - divss (%rax), %xmm2 +# CHECK-NEXT: - - 1.25 0.25 0.50 0.50 - 0.25 0.25 - ldmxcsr (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - maskmovq %mm0, %mm1 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxss (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - minps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - minss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movaps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movhlps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movlhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhps (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movmskps %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntq %mm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - movss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movss %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movups %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movups %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movups (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - orps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - orps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pavgb %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pavgb (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pavgw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pavgw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %mm0, %ecx +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrw $1, %eax, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaxsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaxsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaxub %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaxub (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pminsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pminsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pminub %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pminub (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht0 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht1 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht2 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetchnta (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - psadbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - psadbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufw $1, %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufw $1, (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rcpps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rcpss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtss (%rax), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 - 0.25 0.25 0.33 sfence +# CHECK-NEXT: - - - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufps $1, (%rax), %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - sqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - sqrtps (%rax), %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - sqrtss %xmm0, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - sqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 stmxcsr (%rax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - subps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - subss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - ucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - ucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - unpckhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - unpcklps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - xorps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - xorps (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s index 371642c..66fa93b 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s @@ -401,552 +401,552 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.50 addpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 addsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * addsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * andnpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax) -# CHECK-NEXT: 1 4 0.50 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 comisd %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * comisd (%rax), %xmm1 -# CHECK-NEXT: 2 5 1.00 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 11 1.00 * cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 2 5 1.00 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 5 1.00 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 11 1.00 * cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 4 0.50 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 14 3.00 divpd %xmm0, %xmm2 -# CHECK-NEXT: 2 20 4.00 * divpd (%rax), %xmm2 -# CHECK-NEXT: 1 14 3.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.50 * * * lfence -# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 4 0.50 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 maxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * maxsd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 minpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * minpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 minsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * minsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movapd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movapd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movdqa %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movdqu %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 2 1 1.00 * movhpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movq (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movq %xmm0, %rcx -# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax) -# CHECK-NEXT: 2 2 2.00 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movupd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 mulsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * mulsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 orpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * orpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packssdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packsswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packuswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 paddb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 paddd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.33 paddq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 paddw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pand (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pandn (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pavgb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pavgw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 4 0.50 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxub (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 4 0.50 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmulhw (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 pmullw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmullw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmuludq (%rax), %mm2 -# CHECK-NEXT: 1 4 0.50 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmuludq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * psadbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pslld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pslld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psllq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psllq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psllw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psllw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrad $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psrad (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psraw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psraw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psrld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psrlq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psrlw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 psubb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 psubd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.33 psubq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 psubw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pxor (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 18 6.00 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 2 24 6.00 * sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 18 6.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 2 23 6.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 subpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 subsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * subsd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * xorpd (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.50 addpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 addsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * andnpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax) +# CHECK-NEXT: 1 4 0.50 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 comisd %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * comisd (%rax), %xmm1 +# CHECK-NEXT: 2 5 1.00 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 11 1.00 * cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 2 5 1.00 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 5 1.00 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 11 1.00 * cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 4 0.50 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 14 3.00 divpd %xmm0, %xmm2 +# CHECK-NEXT: 2 20 4.00 * divpd (%rax), %xmm2 +# CHECK-NEXT: 1 14 3.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.50 * * * lfence +# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 4 0.50 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 maxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * maxsd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 minpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 minsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * minsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movapd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movapd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movdqa %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movdqu %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 2 1 1.00 * movhpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movq (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movq %xmm0, %rcx +# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax) +# CHECK-NEXT: 2 2 2.00 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movupd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 mulsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * mulsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 orpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * orpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packssdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packsswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packuswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 paddb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 paddd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.33 paddq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 paddw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pand (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pandn (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pavgb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pavgw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 4 0.50 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxub (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 4 0.50 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmulhw (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 pmullw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmullw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmuludq (%rax), %mm2 +# CHECK-NEXT: 1 4 0.50 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmuludq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * psadbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pslld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pslld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psllq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psllq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psllw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psllw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrad $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psrad (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psraw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psraw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psrld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psrlq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psrlw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 psubb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 psubd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.33 psubq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 psubw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pxor (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 18 6.00 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 2 24 6.00 * sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 18 6.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 2 23 6.00 * sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 subpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 subsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * xorpd (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 38.00 110.42 78.42 62.67 62.67 14.00 93.42 1.75 4.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.50 0.50 - - - - - - addpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - addsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andnpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - comisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comisd (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvtsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvtsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvtsd2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvttsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvttsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvttsd2si (%rax), %rcx -# CHECK-NEXT: - 3.00 1.00 - - - - - - - divpd %xmm0, %xmm2 -# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divpd (%rax), %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - divsd %xmm0, %xmm2 -# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - lfence -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - minpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - minsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movapd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movd %eax, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movd %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqa %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqa (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqu %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqu (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - movdq2q %xmm0, %mm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movq %rax, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movq %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 2.00 - - movq2dq %mm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movsd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movupd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movupd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - orpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - orpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packssdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packssdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packsswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packsswb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packuswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packuswb (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddb (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddq %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddq (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pand %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pand (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaddwd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxub %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxub (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminub %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminub (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmulhuw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmulhw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmulhw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmullw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmullw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmuludq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmuludq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - por %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - por (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - psadbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - psadbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pslld $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - pslld %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pslld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pslldq $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllq $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllw $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrad $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrad %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrad (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psraw $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psraw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psraw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrld $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrld %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - psrldq $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlq $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlw $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubb (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psubq %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubq (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - subpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - subsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subsd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - ucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - ucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - xorpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - xorpd (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.50 0.50 - - - - - - addpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - addsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andnpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - comisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comisd (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvtsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvtsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvtsd2si (%rax), %rcx +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.50 0.50 - - - - - - cvttsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvttsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - cvttsd2si (%rax), %rcx +# CHECK-NEXT: - 3.00 1.00 - - - - - - - divpd %xmm0, %xmm2 +# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divpd (%rax), %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - divsd %xmm0, %xmm2 +# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - lfence +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - maxsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - maxsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - minpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - minsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - minsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movapd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movd %eax, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movd %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqa %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqa (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqu %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqu (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - movdq2q %xmm0, %mm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movq %rax, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movq %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 2.00 - - movq2dq %mm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movsd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movupd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movupd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - mulsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - mulsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - orpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - orpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packssdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packssdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packsswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packsswb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packuswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packuswb (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddb (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddq %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddq (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pand %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pand (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaddwd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxub %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxub (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminub %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminub (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmulhuw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmulhw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmulhw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmullw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmullw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmuludq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmuludq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - por %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - por (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - psadbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - psadbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pslld $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - pslld %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pslld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pslldq $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllq $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllw $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrad $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrad %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrad (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psraw $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psraw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psraw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrld $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrld %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - psrldq $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlq $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlw $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubb (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psubq %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubq (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - subpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - subsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - subsd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - ucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - ucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - xorpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - xorpd (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s index cc83e46..a7f6402 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s @@ -38,62 +38,62 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.50 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * addsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 addsubps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 haddpd %xmm0, %xmm2 -# CHECK-NEXT: 4 12 2.00 * haddpd (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 haddps %xmm0, %xmm2 -# CHECK-NEXT: 4 12 2.00 * haddps (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 4 12 2.00 * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 hsubps %xmm0, %xmm2 -# CHECK-NEXT: 4 12 2.00 * hsubps (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.50 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * addsubps (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 4 12 2.00 * haddpd (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 haddps %xmm0, %xmm2 +# CHECK-NEXT: 4 12 2.00 * haddps (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 4 12 2.00 * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 4 12 2.00 * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 6.00 6.00 5.00 5.00 - 19.00 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.50 0.50 - - - - - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addsubps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - haddpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - haddpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - haddps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - haddps (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - hsubpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - hsubps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.50 0.50 - - - - - - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - addsubps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - addsubps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - haddpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - haddpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - haddps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - haddps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - hsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - hsubpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - hsubps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s index 99a971f..f4f86ae 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s @@ -154,216 +154,216 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * blendps $11, (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.67 blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 0.67 * blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.67 blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 0.67 * blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: 4 15 1.00 * dppd $22, (%rax), %xmm2 -# CHECK-NEXT: 4 13 1.50 dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: 5 19 1.50 * dpps $22, (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 extractps $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * extractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * insertps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 2 4 2.00 mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 10 2.00 * mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packusdw (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.67 pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 0.67 * pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 pextrb $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 pextrd $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 pextrq $1, %xmm0, %rcx -# CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 4 0.50 phminposuw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * phminposuw (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 2.00 pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 pmuldq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmuldq (%rax), %xmm2 -# CHECK-NEXT: 2 10 1.00 pmulld %xmm0, %xmm2 -# CHECK-NEXT: 3 16 1.00 * pmulld (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 ptest %xmm0, %xmm1 -# CHECK-NEXT: 3 9 1.00 * ptest (%rax), %xmm1 -# CHECK-NEXT: 2 8 1.00 roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 1.00 * roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 1.00 roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 1.00 * roundps $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 1.00 roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 1.00 * roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 1.00 roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 1.00 * roundss $1, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * blendps $11, (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.67 blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 0.67 * blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.67 blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 0.67 * blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: 4 15 1.00 * dppd $22, (%rax), %xmm2 +# CHECK-NEXT: 4 13 1.50 dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: 5 19 1.50 * dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 extractps $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * extractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * insertps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * movntdqa (%rax), %xmm2 +# CHECK-NEXT: 2 4 2.00 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 10 2.00 * mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packusdw (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.67 pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 0.67 * pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 pextrb $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 pextrd $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 pextrq $1, %xmm0, %rcx +# CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 4 0.50 phminposuw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * phminposuw (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 2.00 pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 pmuldq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmuldq (%rax), %xmm2 +# CHECK-NEXT: 2 10 1.00 pmulld %xmm0, %xmm2 +# CHECK-NEXT: 3 16 1.00 * pmulld (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 ptest %xmm0, %xmm1 +# CHECK-NEXT: 3 9 1.00 * ptest (%rax), %xmm1 +# CHECK-NEXT: 2 8 1.00 roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 1.00 * roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 1.00 roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 1.00 * roundps $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 1.00 roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 1.00 * roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 1.00 roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 1.00 * roundss $1, (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 37.33 31.33 23.67 23.67 5.00 63.33 - 1.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendps $11, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 - - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - dppd $22, (%rax), %xmm2 -# CHECK-NEXT: - - 1.50 1.50 - - - 1.00 - - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - 1.00 - - dpps $22, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - extractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 extractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - insertps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packusdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packusdw (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - phminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - phminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxud %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxud (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxuw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminud %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminud (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmuldq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmuldq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - pmulld %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - pmulld (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - - - - roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundss $1, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendps $11, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 - - dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - dppd $22, (%rax), %xmm2 +# CHECK-NEXT: - - 1.50 1.50 - - - 1.00 - - dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - 1.00 - - dpps $22, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - extractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 extractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - insertps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packusdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packusdw (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - phminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - phminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxud %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxud (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxuw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminud %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminud (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmuldq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmuldq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - pmulld %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - pmulld (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - - - - roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundss $1, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse42.s index 2dce320..67af6f0 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse42.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse42.s @@ -39,64 +39,64 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx -# CHECK-NEXT: 8 18 4.00 pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 9 24 4.00 * pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 9 19 4.00 pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 10 25 4.00 * pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 3 10 3.00 pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 16 3.00 * pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 3 10 3.00 pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 16 3.00 * pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * pcmpgtq (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx +# CHECK-NEXT: 8 18 4.00 pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 24 4.00 * pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 19 4.00 pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 10 25 4.00 * pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 3 10 3.00 pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 10 3.00 pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * pcmpgtq (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 29.67 11.67 5.00 5.00 - 15.67 1.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32l %eax, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32l (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32w %ax, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32w (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32q %rax, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32q (%rax), %rcx -# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pcmpgtq (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32l %eax, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32l (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32w %ax, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32w (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32q %rax, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32q (%rax), %rcx +# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pcmpgtq (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s index b0e5067..d1314d6 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s @@ -105,152 +105,152 @@ psignw (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddd %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddd %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phaddd (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddsw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phaddw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubd %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubd %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phsubd (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubsw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phsubw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 1 4 0.50 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 1 4 0.50 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshufb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignw (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddd %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phaddd (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddsw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phaddw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubd %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phsubd (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubsw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 1 4 0.50 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 1 4 0.50 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignw (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 30.67 12.67 16.00 16.00 - 68.67 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsb %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsd (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phaddd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phaddd (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phaddd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phaddd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - phaddsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - phaddsw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - phaddsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phaddw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phaddw (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phaddw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phaddw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phsubd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phsubd (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phsubd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phsubd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - phsubsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - phsubsw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - phsubsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phsubw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phsubw (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phsubw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phsubw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignb %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignd (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignw (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsb %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsd (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phaddd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phaddd (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phaddd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phaddd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - phaddsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - phaddsw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - phaddsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phaddw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phaddw (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phaddw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phaddw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phsubd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phsubd (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phsubd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phsubd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - phsubsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - phsubsw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - phsubsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phsubw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phsubw (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phsubw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phsubw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignb %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignd (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignw (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s index 99f7c97..7c643a2 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s @@ -606,1102 +606,1102 @@ xorq (%rax), %rdi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 2 0.50 adcb $7, %al -# CHECK-NEXT: 2 2 0.50 adcb $7, %dil -# CHECK-NEXT: 6 8 1.00 * * adcb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil -# CHECK-NEXT: 6 8 1.00 * * adcb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 adcw $511, %ax -# CHECK-NEXT: 1 1 0.50 adcw $511, %di -# CHECK-NEXT: 6 8 1.00 * * adcw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw $7, %di -# CHECK-NEXT: 6 8 1.00 * * adcw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw %di, %di -# CHECK-NEXT: 6 8 1.00 * * adcw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax -# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi -# CHECK-NEXT: 6 8 1.00 * * adcl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl $7, %edi -# CHECK-NEXT: 6 8 1.00 * * adcl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi -# CHECK-NEXT: 6 8 1.00 * * adcl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi -# CHECK-NEXT: 6 8 1.00 * * adcq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi -# CHECK-NEXT: 6 8 1.00 * * adcq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi -# CHECK-NEXT: 6 8 1.00 * * adcq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 addb $7, %al -# CHECK-NEXT: 1 1 0.25 addb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 addw $511, %ax -# CHECK-NEXT: 1 1 0.25 addw $511, %di -# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 addw $7, %di -# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addw %di, %di -# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di -# CHECK-NEXT: 1 1 0.25 addl $665536, %eax -# CHECK-NEXT: 1 1 0.25 addl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 addq $665536, %rax -# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 andb $7, %al -# CHECK-NEXT: 1 1 0.25 andb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 andw $511, %ax -# CHECK-NEXT: 1 1 0.25 andw $511, %di -# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 andw $7, %di -# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andw %di, %di -# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di -# CHECK-NEXT: 1 1 0.25 andl $665536, %eax -# CHECK-NEXT: 1 1 0.25 andl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 andq $665536, %rax -# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 btw %si, %di -# CHECK-NEXT: 1 1 0.50 btcw %si, %di -# CHECK-NEXT: 1 1 0.50 btrw %si, %di -# CHECK-NEXT: 1 1 0.50 btsw %si, %di -# CHECK-NEXT: 2 6 0.50 * btw %si, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btcw %si, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btrw %si, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btsw %si, (%rax) -# CHECK-NEXT: 1 1 0.50 btw $7, %di -# CHECK-NEXT: 1 1 0.50 btcw $7, %di -# CHECK-NEXT: 1 1 0.50 btrw $7, %di -# CHECK-NEXT: 1 1 0.50 btsw $7, %di -# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btcw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btrw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btsw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi -# CHECK-NEXT: 2 6 0.50 * btl %esi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btcl %esi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btrl %esi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btsl %esi, (%rax) -# CHECK-NEXT: 1 1 0.50 btl $7, %edi -# CHECK-NEXT: 1 1 0.50 btcl $7, %edi -# CHECK-NEXT: 1 1 0.50 btrl $7, %edi -# CHECK-NEXT: 1 1 0.50 btsl $7, %edi -# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btcl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btrl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btsl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi -# CHECK-NEXT: 2 6 0.50 * btq %rsi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btcq %rsi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btrq %rsi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btsq %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 btq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi -# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 decb %dil -# CHECK-NEXT: 3 7 1.00 * * decb (%rax) -# CHECK-NEXT: 1 1 0.25 decw %di -# CHECK-NEXT: 3 7 1.00 * * decw (%rax) -# CHECK-NEXT: 1 1 0.25 decl %edi -# CHECK-NEXT: 3 7 1.00 * * decl (%rax) -# CHECK-NEXT: 1 1 0.25 decq %rdi -# CHECK-NEXT: 3 7 1.00 * * decq (%rax) -# CHECK-NEXT: 1 25 10.00 * divb %dil -# CHECK-NEXT: 2 29 10.00 * * divb (%rax) -# CHECK-NEXT: 32 76 8.00 * divw %si -# CHECK-NEXT: 2 29 10.00 * * divw (%rax) -# CHECK-NEXT: 32 76 8.00 * divl %edx -# CHECK-NEXT: 2 29 10.00 * * divl (%rax) -# CHECK-NEXT: 32 76 8.00 * divq %rcx -# CHECK-NEXT: 2 29 10.00 * * divq (%rax) -# CHECK-NEXT: 1 25 10.00 * idivb %dil -# CHECK-NEXT: 8 28 4.00 * * idivb (%rax) -# CHECK-NEXT: 66 102 16.50 * idivw %si -# CHECK-NEXT: 8 28 4.00 * * idivw (%rax) -# CHECK-NEXT: 66 102 16.50 * idivl %edx -# CHECK-NEXT: 8 28 4.00 * * idivl (%rax) -# CHECK-NEXT: 66 102 16.50 * idivq %rcx -# CHECK-NEXT: 8 28 4.00 * * idivq (%rax) -# CHECK-NEXT: 1 3 1.00 imulb %dil -# CHECK-NEXT: 2 8 1.00 * imulb (%rax) -# CHECK-NEXT: 4 4 1.00 imulw %di -# CHECK-NEXT: 5 9 1.00 * imulw (%rax) -# CHECK-NEXT: 1 3 1.00 imulw %di, %di -# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di -# CHECK-NEXT: 3 4 1.00 imull %edi -# CHECK-NEXT: 4 9 1.00 * imull (%rax) -# CHECK-NEXT: 1 3 1.00 imull %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi -# CHECK-NEXT: 2 4 1.00 imulq %rdi -# CHECK-NEXT: 3 9 1.00 * imulq (%rax) -# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 incb %dil -# CHECK-NEXT: 3 7 1.00 * * incb (%rax) -# CHECK-NEXT: 1 1 0.25 incw %di -# CHECK-NEXT: 3 7 1.00 * * incw (%rax) -# CHECK-NEXT: 1 1 0.25 incl %edi -# CHECK-NEXT: 3 7 1.00 * * incl (%rax) -# CHECK-NEXT: 1 1 0.25 incq %rdi -# CHECK-NEXT: 3 7 1.00 * * incq (%rax) -# CHECK-NEXT: 1 3 1.00 mulb %dil -# CHECK-NEXT: 2 8 1.00 * mulb (%rax) -# CHECK-NEXT: 4 4 1.00 mulw %si -# CHECK-NEXT: 5 9 1.00 * mulw (%rax) -# CHECK-NEXT: 3 4 1.00 mull %edx -# CHECK-NEXT: 4 9 1.00 * mull (%rax) -# CHECK-NEXT: 2 4 1.00 mulq %rcx -# CHECK-NEXT: 3 9 1.00 * mulq (%rax) -# CHECK-NEXT: 1 1 0.25 negb %dil -# CHECK-NEXT: 3 7 1.00 * * negb (%r8) -# CHECK-NEXT: 1 1 0.25 negw %si -# CHECK-NEXT: 3 7 1.00 * * negw (%r9) -# CHECK-NEXT: 1 1 0.25 negl %edx -# CHECK-NEXT: 3 7 1.00 * * negl (%rax) -# CHECK-NEXT: 1 1 0.25 negq %rcx -# CHECK-NEXT: 3 7 1.00 * * negq (%r10) -# CHECK-NEXT: 1 1 0.25 nop -# CHECK-NEXT: 1 1 0.25 nopw %di -# CHECK-NEXT: 1 1 0.25 nopw (%rcx) -# CHECK-NEXT: 1 1 0.25 nopl %esi -# CHECK-NEXT: 1 1 0.25 nopl (%r8) -# CHECK-NEXT: 1 1 0.25 nopq %rdx -# CHECK-NEXT: 1 1 0.25 nopq (%r9) -# CHECK-NEXT: 1 1 0.25 notb %dil -# CHECK-NEXT: 3 7 1.00 * * notb (%r8) -# CHECK-NEXT: 1 1 0.25 notw %si -# CHECK-NEXT: 3 7 1.00 * * notw (%r9) -# CHECK-NEXT: 1 1 0.25 notl %edx -# CHECK-NEXT: 3 7 1.00 * * notl (%rax) -# CHECK-NEXT: 1 1 0.25 notq %rcx -# CHECK-NEXT: 3 7 1.00 * * notq (%r10) -# CHECK-NEXT: 1 1 0.25 orb $7, %al -# CHECK-NEXT: 1 1 0.25 orb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 orw $511, %ax -# CHECK-NEXT: 1 1 0.25 orw $511, %di -# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 orw $7, %di -# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orw %di, %di -# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di -# CHECK-NEXT: 1 1 0.25 orl $665536, %eax -# CHECK-NEXT: 1 1 0.25 orl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 orq $665536, %rax -# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi -# CHECK-NEXT: 3 3 0.75 rclb %dil -# CHECK-NEXT: 3 3 0.75 rcrb %dil -# CHECK-NEXT: 5 8 0.75 * rclb (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrb (%rax) -# CHECK-NEXT: 3 3 0.75 rclb $7, %dil -# CHECK-NEXT: 3 3 0.75 rcrb $7, %dil -# CHECK-NEXT: 5 8 0.75 * rclb $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrb $7, (%rax) -# CHECK-NEXT: 9 11 2.50 rclb %cl, %dil -# CHECK-NEXT: 10 14 2.50 rcrb %cl, %dil -# CHECK-NEXT: 10 15 2.50 * rclb %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrb %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rclw %di -# CHECK-NEXT: 3 3 0.75 rcrw %di -# CHECK-NEXT: 5 8 0.75 * rclw (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrw (%rax) -# CHECK-NEXT: 3 3 0.75 rclw $7, %di -# CHECK-NEXT: 3 3 0.75 rcrw $7, %di -# CHECK-NEXT: 5 8 0.75 * rclw $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrw $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rclw %cl, %di -# CHECK-NEXT: 7 11 2.00 rcrw %cl, %di -# CHECK-NEXT: 10 15 2.50 * rclw %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrw %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rcll %edi -# CHECK-NEXT: 3 3 0.75 rcrl %edi -# CHECK-NEXT: 5 8 0.75 * rcll (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrl (%rax) -# CHECK-NEXT: 3 3 0.75 rcll $7, %edi -# CHECK-NEXT: 3 3 0.75 rcrl $7, %edi -# CHECK-NEXT: 5 8 0.75 * rcll $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrl $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rcll %cl, %edi -# CHECK-NEXT: 7 11 2.00 rcrl %cl, %edi -# CHECK-NEXT: 10 15 2.50 * rcll %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrl %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rclq %rdi -# CHECK-NEXT: 3 3 0.75 rcrq %rdi -# CHECK-NEXT: 5 8 0.75 * rclq (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrq (%rax) -# CHECK-NEXT: 3 3 0.75 rclq $7, %rdi -# CHECK-NEXT: 3 3 0.75 rcrq $7, %rdi -# CHECK-NEXT: 5 8 0.75 * rclq $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrq $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rclq %cl, %rdi -# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi -# CHECK-NEXT: 10 15 2.50 * rclq %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrq %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolb %dil -# CHECK-NEXT: 2 2 1.00 rorb %dil -# CHECK-NEXT: 5 7 1.00 * * rolb (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorb (%rax) -# CHECK-NEXT: 2 2 1.00 rolb $7, %dil -# CHECK-NEXT: 2 2 1.00 rorb $7, %dil -# CHECK-NEXT: 5 7 1.00 * * rolb $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorb $7, (%rax) -# CHECK-NEXT: 3 3 1.50 rolb %cl, %dil -# CHECK-NEXT: 3 3 1.50 rorb %cl, %dil -# CHECK-NEXT: 6 8 1.50 * * rolb %cl, (%rax) -# CHECK-NEXT: 5 8 1.50 * * rorb %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolw %di -# CHECK-NEXT: 2 2 1.00 rorw %di -# CHECK-NEXT: 5 7 1.00 * * rolw (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorw (%rax) -# CHECK-NEXT: 2 2 1.00 rolw $7, %di -# CHECK-NEXT: 2 2 1.00 rorw $7, %di -# CHECK-NEXT: 5 7 1.00 * * rolw $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorw $7, (%rax) -# CHECK-NEXT: 3 3 1.50 rolw %cl, %di -# CHECK-NEXT: 3 3 1.50 rorw %cl, %di -# CHECK-NEXT: 6 8 1.50 * * rolw %cl, (%rax) -# CHECK-NEXT: 5 8 1.50 * * rorw %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 roll %edi -# CHECK-NEXT: 2 2 1.00 rorl %edi -# CHECK-NEXT: 5 7 1.00 * * roll (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorl (%rax) -# CHECK-NEXT: 2 2 1.00 roll $7, %edi -# CHECK-NEXT: 2 2 1.00 rorl $7, %edi -# CHECK-NEXT: 5 7 1.00 * * roll $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorl $7, (%rax) -# CHECK-NEXT: 3 3 1.50 roll %cl, %edi -# CHECK-NEXT: 3 3 1.50 rorl %cl, %edi -# CHECK-NEXT: 6 8 1.50 * * roll %cl, (%rax) -# CHECK-NEXT: 5 8 1.50 * * rorl %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolq %rdi -# CHECK-NEXT: 2 2 1.00 rorq %rdi -# CHECK-NEXT: 5 7 1.00 * * rolq (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorq (%rax) -# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi -# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi -# CHECK-NEXT: 5 7 1.00 * * rolq $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorq $7, (%rax) -# CHECK-NEXT: 3 3 1.50 rolq %cl, %rdi -# CHECK-NEXT: 3 3 1.50 rorq %cl, %rdi -# CHECK-NEXT: 6 8 1.50 * * rolq %cl, (%rax) -# CHECK-NEXT: 5 8 1.50 * * rorq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarb %dil -# CHECK-NEXT: 1 1 0.50 shlb %dil -# CHECK-NEXT: 1 1 0.50 shrb %dil -# CHECK-NEXT: 4 6 1.00 * * sarb (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlb (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrb (%rax) -# CHECK-NEXT: 1 1 0.50 sarb $7, %dil -# CHECK-NEXT: 1 1 0.50 shlb $7, %dil -# CHECK-NEXT: 1 1 0.50 shrb $7, %dil -# CHECK-NEXT: 4 6 1.00 * * sarb $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlb $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrb $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarb %cl, %dil -# CHECK-NEXT: 3 3 1.50 shlb %cl, %dil -# CHECK-NEXT: 3 3 1.50 shrb %cl, %dil -# CHECK-NEXT: 6 8 1.50 * * sarb %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shlb %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarw %di -# CHECK-NEXT: 1 1 0.50 shlw %di -# CHECK-NEXT: 1 1 0.50 shrw %di -# CHECK-NEXT: 4 6 1.00 * * sarw (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlw (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrw (%rax) -# CHECK-NEXT: 1 1 0.50 sarw $7, %di -# CHECK-NEXT: 1 1 0.50 shlw $7, %di -# CHECK-NEXT: 1 1 0.50 shrw $7, %di -# CHECK-NEXT: 4 6 1.00 * * sarw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrw $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarw %cl, %di -# CHECK-NEXT: 3 3 1.50 shlw %cl, %di -# CHECK-NEXT: 3 3 1.50 shrw %cl, %di -# CHECK-NEXT: 6 8 1.50 * * sarw %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shlw %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarl %edi -# CHECK-NEXT: 1 1 0.50 shll %edi -# CHECK-NEXT: 1 1 0.50 shrl %edi -# CHECK-NEXT: 4 6 1.00 * * sarl (%rax) -# CHECK-NEXT: 4 6 1.00 * * shll (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrl (%rax) -# CHECK-NEXT: 1 1 0.50 sarl $7, %edi -# CHECK-NEXT: 1 1 0.50 shll $7, %edi -# CHECK-NEXT: 1 1 0.50 shrl $7, %edi -# CHECK-NEXT: 4 6 1.00 * * sarl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shll $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrl $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarl %cl, %edi -# CHECK-NEXT: 3 3 1.50 shll %cl, %edi -# CHECK-NEXT: 3 3 1.50 shrl %cl, %edi -# CHECK-NEXT: 6 8 1.50 * * sarl %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shll %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarq %rdi -# CHECK-NEXT: 1 1 0.50 shlq %rdi -# CHECK-NEXT: 1 1 0.50 shrq %rdi -# CHECK-NEXT: 4 6 1.00 * * sarq (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlq (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrq (%rax) -# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi -# CHECK-NEXT: 4 6 1.00 * * sarq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrq $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarq %cl, %rdi -# CHECK-NEXT: 3 3 1.50 shlq %cl, %rdi -# CHECK-NEXT: 3 3 1.50 shrq %cl, %rdi -# CHECK-NEXT: 6 8 1.50 * * sarq %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shlq %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shrq %cl, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbb $7, %al -# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil -# CHECK-NEXT: 6 8 1.00 * * sbbb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil -# CHECK-NEXT: 6 8 1.00 * * sbbb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax -# CHECK-NEXT: 1 1 0.50 sbbw $511, %di -# CHECK-NEXT: 6 8 1.00 * * sbbw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw $7, %di -# CHECK-NEXT: 6 8 1.00 * * sbbw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw %di, %di -# CHECK-NEXT: 6 8 1.00 * * sbbw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi -# CHECK-NEXT: 6 8 1.00 * * sbbl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi -# CHECK-NEXT: 6 8 1.00 * * sbbl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi -# CHECK-NEXT: 6 8 1.00 * * sbbl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi -# CHECK-NEXT: 6 8 1.00 * * sbbq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi -# CHECK-NEXT: 6 8 1.00 * * sbbq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi -# CHECK-NEXT: 6 8 1.00 * * sbbq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbq (%rax), %rdi -# CHECK-NEXT: 4 6 1.00 shldw %cl, %si, %di -# CHECK-NEXT: 4 6 1.00 shrdw %cl, %si, %di -# CHECK-NEXT: 6 11 1.00 * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 6 11 1.00 * * shrdw %cl, %si, (%rax) -# CHECK-NEXT: 1 3 1.00 shldw $7, %si, %di -# CHECK-NEXT: 1 3 1.00 shrdw $7, %si, %di -# CHECK-NEXT: 4 9 1.00 * * shldw $7, %si, (%rax) -# CHECK-NEXT: 4 9 1.00 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 4 6 1.00 shldl %cl, %esi, %edi -# CHECK-NEXT: 4 6 1.00 shrdl %cl, %esi, %edi -# CHECK-NEXT: 6 11 1.00 * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 6 11 1.00 * * shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 1 3 1.00 shldl $7, %esi, %edi -# CHECK-NEXT: 1 3 1.00 shrdl $7, %esi, %edi -# CHECK-NEXT: 4 9 1.00 * * shldl $7, %esi, (%rax) -# CHECK-NEXT: 4 9 1.00 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 4 6 1.00 shldq %cl, %rsi, %rdi -# CHECK-NEXT: 4 6 1.00 shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 6 11 1.00 * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 6 11 1.00 * * shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 3 1.00 shldq $7, %rsi, %rdi -# CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 4 9 1.00 * * shldq $7, %rsi, (%rax) -# CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.25 subb $7, %al -# CHECK-NEXT: 1 1 0.25 subb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 subw $511, %ax -# CHECK-NEXT: 1 1 0.25 subw $511, %di -# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 subw $7, %di -# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subw %di, %di -# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di -# CHECK-NEXT: 1 1 0.25 subl $665536, %eax -# CHECK-NEXT: 1 1 0.25 subl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 subq $665536, %rax -# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 xorb $7, %al -# CHECK-NEXT: 1 1 0.25 xorb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 xorw $511, %ax -# CHECK-NEXT: 1 1 0.25 xorw $511, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw $7, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw %di, %di -# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di -# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax -# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorq (%rax), %rdi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 2 0.50 adcb $7, %al +# CHECK-NEXT: 2 2 0.50 adcb $7, %dil +# CHECK-NEXT: 6 8 1.00 * * adcb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil +# CHECK-NEXT: 6 8 1.00 * * adcb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 adcw $511, %ax +# CHECK-NEXT: 1 1 0.50 adcw $511, %di +# CHECK-NEXT: 6 8 1.00 * * adcw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw $7, %di +# CHECK-NEXT: 6 8 1.00 * * adcw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw %di, %di +# CHECK-NEXT: 6 8 1.00 * * adcw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcw (%rax), %di +# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax +# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi +# CHECK-NEXT: 6 8 1.00 * * adcl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl $7, %edi +# CHECK-NEXT: 6 8 1.00 * * adcl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi +# CHECK-NEXT: 6 8 1.00 * * adcl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi +# CHECK-NEXT: 6 8 1.00 * * adcq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi +# CHECK-NEXT: 6 8 1.00 * * adcq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi +# CHECK-NEXT: 6 8 1.00 * * adcq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 addb $7, %al +# CHECK-NEXT: 1 1 0.25 addb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 addw $511, %ax +# CHECK-NEXT: 1 1 0.25 addw $511, %di +# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 addw $7, %di +# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addw %di, %di +# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di +# CHECK-NEXT: 1 1 0.25 addl $665536, %eax +# CHECK-NEXT: 1 1 0.25 addl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 addq $665536, %rax +# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 andb $7, %al +# CHECK-NEXT: 1 1 0.25 andb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 andw $511, %ax +# CHECK-NEXT: 1 1 0.25 andw $511, %di +# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 andw $7, %di +# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andw %di, %di +# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di +# CHECK-NEXT: 1 1 0.25 andl $665536, %eax +# CHECK-NEXT: 1 1 0.25 andl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 andq $665536, %rax +# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 btw %si, %di +# CHECK-NEXT: 1 1 0.50 btcw %si, %di +# CHECK-NEXT: 1 1 0.50 btrw %si, %di +# CHECK-NEXT: 1 1 0.50 btsw %si, %di +# CHECK-NEXT: 2 6 0.50 * btw %si, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btcw %si, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btrw %si, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btsw %si, (%rax) +# CHECK-NEXT: 1 1 0.50 btw $7, %di +# CHECK-NEXT: 1 1 0.50 btcw $7, %di +# CHECK-NEXT: 1 1 0.50 btrw $7, %di +# CHECK-NEXT: 1 1 0.50 btsw $7, %di +# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btcw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btrw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btsw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi +# CHECK-NEXT: 2 6 0.50 * btl %esi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btcl %esi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btrl %esi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btsl %esi, (%rax) +# CHECK-NEXT: 1 1 0.50 btl $7, %edi +# CHECK-NEXT: 1 1 0.50 btcl $7, %edi +# CHECK-NEXT: 1 1 0.50 btrl $7, %edi +# CHECK-NEXT: 1 1 0.50 btsl $7, %edi +# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btcl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btrl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btsl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi +# CHECK-NEXT: 2 6 0.50 * btq %rsi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btcq %rsi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btrq %rsi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 btq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi +# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 decb %dil +# CHECK-NEXT: 3 7 1.00 * * decb (%rax) +# CHECK-NEXT: 1 1 0.25 decw %di +# CHECK-NEXT: 3 7 1.00 * * decw (%rax) +# CHECK-NEXT: 1 1 0.25 decl %edi +# CHECK-NEXT: 3 7 1.00 * * decl (%rax) +# CHECK-NEXT: 1 1 0.25 decq %rdi +# CHECK-NEXT: 3 7 1.00 * * decq (%rax) +# CHECK-NEXT: 1 25 10.00 * divb %dil +# CHECK-NEXT: 2 29 10.00 * * divb (%rax) +# CHECK-NEXT: 32 76 8.00 * divw %si +# CHECK-NEXT: 2 29 10.00 * * divw (%rax) +# CHECK-NEXT: 32 76 8.00 * divl %edx +# CHECK-NEXT: 2 29 10.00 * * divl (%rax) +# CHECK-NEXT: 32 76 8.00 * divq %rcx +# CHECK-NEXT: 2 29 10.00 * * divq (%rax) +# CHECK-NEXT: 1 25 10.00 * idivb %dil +# CHECK-NEXT: 8 28 4.00 * * idivb (%rax) +# CHECK-NEXT: 66 102 16.50 * idivw %si +# CHECK-NEXT: 8 28 4.00 * * idivw (%rax) +# CHECK-NEXT: 66 102 16.50 * idivl %edx +# CHECK-NEXT: 8 28 4.00 * * idivl (%rax) +# CHECK-NEXT: 66 102 16.50 * idivq %rcx +# CHECK-NEXT: 8 28 4.00 * * idivq (%rax) +# CHECK-NEXT: 1 3 1.00 imulb %dil +# CHECK-NEXT: 2 8 1.00 * imulb (%rax) +# CHECK-NEXT: 4 4 1.00 imulw %di +# CHECK-NEXT: 5 9 1.00 * imulw (%rax) +# CHECK-NEXT: 1 3 1.00 imulw %di, %di +# CHECK-NEXT: 2 8 1.00 * imulw (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di +# CHECK-NEXT: 3 4 1.00 imull %edi +# CHECK-NEXT: 4 9 1.00 * imull (%rax) +# CHECK-NEXT: 1 3 1.00 imull %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi +# CHECK-NEXT: 2 4 1.00 imulq %rdi +# CHECK-NEXT: 3 9 1.00 * imulq (%rax) +# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 incb %dil +# CHECK-NEXT: 3 7 1.00 * * incb (%rax) +# CHECK-NEXT: 1 1 0.25 incw %di +# CHECK-NEXT: 3 7 1.00 * * incw (%rax) +# CHECK-NEXT: 1 1 0.25 incl %edi +# CHECK-NEXT: 3 7 1.00 * * incl (%rax) +# CHECK-NEXT: 1 1 0.25 incq %rdi +# CHECK-NEXT: 3 7 1.00 * * incq (%rax) +# CHECK-NEXT: 1 3 1.00 mulb %dil +# CHECK-NEXT: 2 8 1.00 * mulb (%rax) +# CHECK-NEXT: 4 4 1.00 mulw %si +# CHECK-NEXT: 5 9 1.00 * mulw (%rax) +# CHECK-NEXT: 3 4 1.00 mull %edx +# CHECK-NEXT: 4 9 1.00 * mull (%rax) +# CHECK-NEXT: 2 4 1.00 mulq %rcx +# CHECK-NEXT: 3 9 1.00 * mulq (%rax) +# CHECK-NEXT: 1 1 0.25 negb %dil +# CHECK-NEXT: 3 7 1.00 * * negb (%r8) +# CHECK-NEXT: 1 1 0.25 negw %si +# CHECK-NEXT: 3 7 1.00 * * negw (%r9) +# CHECK-NEXT: 1 1 0.25 negl %edx +# CHECK-NEXT: 3 7 1.00 * * negl (%rax) +# CHECK-NEXT: 1 1 0.25 negq %rcx +# CHECK-NEXT: 3 7 1.00 * * negq (%r10) +# CHECK-NEXT: 1 1 0.25 nop +# CHECK-NEXT: 1 1 0.25 nopw %di +# CHECK-NEXT: 1 1 0.25 nopw (%rcx) +# CHECK-NEXT: 1 1 0.25 nopl %esi +# CHECK-NEXT: 1 1 0.25 nopl (%r8) +# CHECK-NEXT: 1 1 0.25 nopq %rdx +# CHECK-NEXT: 1 1 0.25 nopq (%r9) +# CHECK-NEXT: 1 1 0.25 notb %dil +# CHECK-NEXT: 3 7 1.00 * * notb (%r8) +# CHECK-NEXT: 1 1 0.25 notw %si +# CHECK-NEXT: 3 7 1.00 * * notw (%r9) +# CHECK-NEXT: 1 1 0.25 notl %edx +# CHECK-NEXT: 3 7 1.00 * * notl (%rax) +# CHECK-NEXT: 1 1 0.25 notq %rcx +# CHECK-NEXT: 3 7 1.00 * * notq (%r10) +# CHECK-NEXT: 1 1 0.25 orb $7, %al +# CHECK-NEXT: 1 1 0.25 orb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 orw $511, %ax +# CHECK-NEXT: 1 1 0.25 orw $511, %di +# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 orw $7, %di +# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orw %di, %di +# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di +# CHECK-NEXT: 1 1 0.25 orl $665536, %eax +# CHECK-NEXT: 1 1 0.25 orl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 orq $665536, %rax +# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi +# CHECK-NEXT: 3 3 0.75 rclb %dil +# CHECK-NEXT: 3 3 0.75 rcrb %dil +# CHECK-NEXT: 5 8 0.75 * rclb (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrb (%rax) +# CHECK-NEXT: 3 3 0.75 rclb $7, %dil +# CHECK-NEXT: 3 3 0.75 rcrb $7, %dil +# CHECK-NEXT: 5 8 0.75 * rclb $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrb $7, (%rax) +# CHECK-NEXT: 9 11 2.50 rclb %cl, %dil +# CHECK-NEXT: 10 14 2.50 rcrb %cl, %dil +# CHECK-NEXT: 10 15 2.50 * rclb %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrb %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rclw %di +# CHECK-NEXT: 3 3 0.75 rcrw %di +# CHECK-NEXT: 5 8 0.75 * rclw (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrw (%rax) +# CHECK-NEXT: 3 3 0.75 rclw $7, %di +# CHECK-NEXT: 3 3 0.75 rcrw $7, %di +# CHECK-NEXT: 5 8 0.75 * rclw $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrw $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rclw %cl, %di +# CHECK-NEXT: 7 11 2.00 rcrw %cl, %di +# CHECK-NEXT: 10 15 2.50 * rclw %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrw %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rcll %edi +# CHECK-NEXT: 3 3 0.75 rcrl %edi +# CHECK-NEXT: 5 8 0.75 * rcll (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrl (%rax) +# CHECK-NEXT: 3 3 0.75 rcll $7, %edi +# CHECK-NEXT: 3 3 0.75 rcrl $7, %edi +# CHECK-NEXT: 5 8 0.75 * rcll $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrl $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rcll %cl, %edi +# CHECK-NEXT: 7 11 2.00 rcrl %cl, %edi +# CHECK-NEXT: 10 15 2.50 * rcll %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrl %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rclq %rdi +# CHECK-NEXT: 3 3 0.75 rcrq %rdi +# CHECK-NEXT: 5 8 0.75 * rclq (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrq (%rax) +# CHECK-NEXT: 3 3 0.75 rclq $7, %rdi +# CHECK-NEXT: 3 3 0.75 rcrq $7, %rdi +# CHECK-NEXT: 5 8 0.75 * rclq $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrq $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rclq %cl, %rdi +# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi +# CHECK-NEXT: 10 15 2.50 * rclq %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrq %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolb %dil +# CHECK-NEXT: 2 2 1.00 rorb %dil +# CHECK-NEXT: 5 7 1.00 * * rolb (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorb (%rax) +# CHECK-NEXT: 2 2 1.00 rolb $7, %dil +# CHECK-NEXT: 2 2 1.00 rorb $7, %dil +# CHECK-NEXT: 5 7 1.00 * * rolb $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorb $7, (%rax) +# CHECK-NEXT: 3 3 1.50 rolb %cl, %dil +# CHECK-NEXT: 3 3 1.50 rorb %cl, %dil +# CHECK-NEXT: 6 8 1.50 * * rolb %cl, (%rax) +# CHECK-NEXT: 5 8 1.50 * * rorb %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolw %di +# CHECK-NEXT: 2 2 1.00 rorw %di +# CHECK-NEXT: 5 7 1.00 * * rolw (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorw (%rax) +# CHECK-NEXT: 2 2 1.00 rolw $7, %di +# CHECK-NEXT: 2 2 1.00 rorw $7, %di +# CHECK-NEXT: 5 7 1.00 * * rolw $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorw $7, (%rax) +# CHECK-NEXT: 3 3 1.50 rolw %cl, %di +# CHECK-NEXT: 3 3 1.50 rorw %cl, %di +# CHECK-NEXT: 6 8 1.50 * * rolw %cl, (%rax) +# CHECK-NEXT: 5 8 1.50 * * rorw %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 roll %edi +# CHECK-NEXT: 2 2 1.00 rorl %edi +# CHECK-NEXT: 5 7 1.00 * * roll (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorl (%rax) +# CHECK-NEXT: 2 2 1.00 roll $7, %edi +# CHECK-NEXT: 2 2 1.00 rorl $7, %edi +# CHECK-NEXT: 5 7 1.00 * * roll $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorl $7, (%rax) +# CHECK-NEXT: 3 3 1.50 roll %cl, %edi +# CHECK-NEXT: 3 3 1.50 rorl %cl, %edi +# CHECK-NEXT: 6 8 1.50 * * roll %cl, (%rax) +# CHECK-NEXT: 5 8 1.50 * * rorl %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolq %rdi +# CHECK-NEXT: 2 2 1.00 rorq %rdi +# CHECK-NEXT: 5 7 1.00 * * rolq (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorq (%rax) +# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi +# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi +# CHECK-NEXT: 5 7 1.00 * * rolq $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorq $7, (%rax) +# CHECK-NEXT: 3 3 1.50 rolq %cl, %rdi +# CHECK-NEXT: 3 3 1.50 rorq %cl, %rdi +# CHECK-NEXT: 6 8 1.50 * * rolq %cl, (%rax) +# CHECK-NEXT: 5 8 1.50 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarb %dil +# CHECK-NEXT: 1 1 0.50 shlb %dil +# CHECK-NEXT: 1 1 0.50 shrb %dil +# CHECK-NEXT: 4 6 1.00 * * sarb (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlb (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrb (%rax) +# CHECK-NEXT: 1 1 0.50 sarb $7, %dil +# CHECK-NEXT: 1 1 0.50 shlb $7, %dil +# CHECK-NEXT: 1 1 0.50 shrb $7, %dil +# CHECK-NEXT: 4 6 1.00 * * sarb $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlb $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrb $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarb %cl, %dil +# CHECK-NEXT: 3 3 1.50 shlb %cl, %dil +# CHECK-NEXT: 3 3 1.50 shrb %cl, %dil +# CHECK-NEXT: 6 8 1.50 * * sarb %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shlb %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarw %di +# CHECK-NEXT: 1 1 0.50 shlw %di +# CHECK-NEXT: 1 1 0.50 shrw %di +# CHECK-NEXT: 4 6 1.00 * * sarw (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlw (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrw (%rax) +# CHECK-NEXT: 1 1 0.50 sarw $7, %di +# CHECK-NEXT: 1 1 0.50 shlw $7, %di +# CHECK-NEXT: 1 1 0.50 shrw $7, %di +# CHECK-NEXT: 4 6 1.00 * * sarw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrw $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarw %cl, %di +# CHECK-NEXT: 3 3 1.50 shlw %cl, %di +# CHECK-NEXT: 3 3 1.50 shrw %cl, %di +# CHECK-NEXT: 6 8 1.50 * * sarw %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shlw %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarl %edi +# CHECK-NEXT: 1 1 0.50 shll %edi +# CHECK-NEXT: 1 1 0.50 shrl %edi +# CHECK-NEXT: 4 6 1.00 * * sarl (%rax) +# CHECK-NEXT: 4 6 1.00 * * shll (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrl (%rax) +# CHECK-NEXT: 1 1 0.50 sarl $7, %edi +# CHECK-NEXT: 1 1 0.50 shll $7, %edi +# CHECK-NEXT: 1 1 0.50 shrl $7, %edi +# CHECK-NEXT: 4 6 1.00 * * sarl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shll $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrl $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarl %cl, %edi +# CHECK-NEXT: 3 3 1.50 shll %cl, %edi +# CHECK-NEXT: 3 3 1.50 shrl %cl, %edi +# CHECK-NEXT: 6 8 1.50 * * sarl %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shll %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarq %rdi +# CHECK-NEXT: 1 1 0.50 shlq %rdi +# CHECK-NEXT: 1 1 0.50 shrq %rdi +# CHECK-NEXT: 4 6 1.00 * * sarq (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlq (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrq (%rax) +# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi +# CHECK-NEXT: 4 6 1.00 * * sarq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrq $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarq %cl, %rdi +# CHECK-NEXT: 3 3 1.50 shlq %cl, %rdi +# CHECK-NEXT: 3 3 1.50 shrq %cl, %rdi +# CHECK-NEXT: 6 8 1.50 * * sarq %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shlq %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shrq %cl, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbb $7, %al +# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil +# CHECK-NEXT: 6 8 1.00 * * sbbb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil +# CHECK-NEXT: 6 8 1.00 * * sbbb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax +# CHECK-NEXT: 1 1 0.50 sbbw $511, %di +# CHECK-NEXT: 6 8 1.00 * * sbbw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw $7, %di +# CHECK-NEXT: 6 8 1.00 * * sbbw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw %di, %di +# CHECK-NEXT: 6 8 1.00 * * sbbw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbw (%rax), %di +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi +# CHECK-NEXT: 6 8 1.00 * * sbbl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi +# CHECK-NEXT: 6 8 1.00 * * sbbl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi +# CHECK-NEXT: 6 8 1.00 * * sbbl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi +# CHECK-NEXT: 6 8 1.00 * * sbbq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi +# CHECK-NEXT: 6 8 1.00 * * sbbq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi +# CHECK-NEXT: 6 8 1.00 * * sbbq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbq (%rax), %rdi +# CHECK-NEXT: 4 6 1.00 shldw %cl, %si, %di +# CHECK-NEXT: 4 6 1.00 shrdw %cl, %si, %di +# CHECK-NEXT: 6 11 1.00 * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 6 11 1.00 * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 1 3 1.00 shldw $7, %si, %di +# CHECK-NEXT: 1 3 1.00 shrdw $7, %si, %di +# CHECK-NEXT: 4 9 1.00 * * shldw $7, %si, (%rax) +# CHECK-NEXT: 4 9 1.00 * * shrdw $7, %si, (%rax) +# CHECK-NEXT: 4 6 1.00 shldl %cl, %esi, %edi +# CHECK-NEXT: 4 6 1.00 shrdl %cl, %esi, %edi +# CHECK-NEXT: 6 11 1.00 * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 6 11 1.00 * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 1 3 1.00 shldl $7, %esi, %edi +# CHECK-NEXT: 1 3 1.00 shrdl $7, %esi, %edi +# CHECK-NEXT: 4 9 1.00 * * shldl $7, %esi, (%rax) +# CHECK-NEXT: 4 9 1.00 * * shrdl $7, %esi, (%rax) +# CHECK-NEXT: 4 6 1.00 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 4 6 1.00 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 6 11 1.00 * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 6 11 1.00 * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 3 1.00 shldq $7, %rsi, %rdi +# CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 4 9 1.00 * * shldq $7, %rsi, (%rax) +# CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 subb $7, %al +# CHECK-NEXT: 1 1 0.25 subb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 subw $511, %ax +# CHECK-NEXT: 1 1 0.25 subw $511, %di +# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 subw $7, %di +# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subw %di, %di +# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di +# CHECK-NEXT: 1 1 0.25 subl $665536, %eax +# CHECK-NEXT: 1 1 0.25 subl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 subq $665536, %rax +# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 xorb $7, %al +# CHECK-NEXT: 1 1 0.25 xorb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 xorw $511, %ax +# CHECK-NEXT: 1 1 0.25 xorw $511, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw $7, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw %di, %di +# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di +# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax +# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorq (%rax), %rdi # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: 60.00 - 431.25 225.25 202.00 202.00 167.00 185.75 415.75 69.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb %dil, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %dil, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %ax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $7, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw %di, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %di, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %eax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $7, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl %edi, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %edi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $7, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq %rdi, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq %rdi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andq (%rax), %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw %si, %di -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsw %si, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw $7, %di -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl %esi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsl %esi, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl $7, %edi -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq %rsi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsq %rsi, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq $7, %rdi -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decw (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decl %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decq (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - - - divb %dil -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divb (%rax) -# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divw %si -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divw (%rax) -# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divl %edx -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax) -# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divq %rcx -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil -# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivb (%rax) -# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si -# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivw (%rax) -# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivl %edx -# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivl (%rax) -# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivq %rcx -# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di -# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulw (%rax), %di -# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di -# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di -# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di -# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - imulq %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - imulq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incb (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incw %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incw (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incl %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si -# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax) -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax) -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulq %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulq (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negb (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negw %si -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negw (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negl %edx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negq %rcx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negq (%r10) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nop -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notb (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notw %si -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notw (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notl %edx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notq %rcx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notq (%r10) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orq (%rax), %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb $7, %dil -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb $7, %dil -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb $7, (%rax) -# CHECK-NEXT: - - 3.00 2.00 - - - 1.00 3.00 - rclb %cl, %dil -# CHECK-NEXT: - - 2.75 3.25 - - - 1.25 2.75 - rcrb %cl, %dil -# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclb %cl, (%rax) -# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrb %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw %di -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw %di -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw $7, %di -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw $7, %di -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw $7, (%rax) -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rclw %cl, %di -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrw %cl, %di -# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclw %cl, (%rax) -# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrw %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll %edi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl %edi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll $7, %edi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl $7, %edi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl $7, (%rax) -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcll %cl, %edi -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrl %cl, %edi -# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rcll %cl, (%rax) -# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrl %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq %rdi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq $7, %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq $7, %rdi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq $7, (%rax) -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rclq %cl, %rdi -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrq %cl, %rdi -# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclq %cl, (%rax) -# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrq %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb $7, %dil -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb $7, %dil -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolb %cl, %dil -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorb %cl, %dil -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolb %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorb %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw %di -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw %di -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw $7, %di -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw $7, %di -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolw %cl, %di -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorw %cl, %di -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolw %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorw %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll %edi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl %edi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll $7, %edi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl $7, %edi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - roll %cl, %edi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorl %cl, %edi -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 roll %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorl %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq %rdi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq %rdi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq $7, %rdi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq $7, %rdi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolq %cl, %rdi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorq %cl, %rdi -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolq %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorq %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb $7, %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb $7, %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb $7, %dil -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarb %cl, %dil -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlb %cl, %dil -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrb %cl, %dil -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarb %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlb %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrb %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw %di -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw $7, %di -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarw %cl, %di -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlw %cl, %di -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrw %cl, %di -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarw %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlw %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrw %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl %edi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl $7, %edi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarl %cl, %edi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shll %cl, %edi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrl %cl, %edi -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarl %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shll %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrl %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq %rdi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq $7, %rdi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarq %cl, %rdi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlq %cl, %rdi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrq %cl, %rdi -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarq %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlq %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrq %cl, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb %dil, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %dil, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %ax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $7, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw %di, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %di, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %eax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $7, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl %edi, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %edi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $7, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq %rdi, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq %rdi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbq (%rax), %rdi -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldw %cl, %si, %di -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdw %cl, %si, %di -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldw %cl, %si, (%rax) -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdw %cl, %si, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldw $7, %si, %di -# CHECK-NEXT: - - - 1.00 - - - - - - shrdw $7, %si, %di -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldw $7, %si, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdw $7, %si, (%rax) -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldl %cl, %esi, %edi -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdl %cl, %esi, %edi -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldl %cl, %esi, (%rax) -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdl %cl, %esi, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldl $7, %esi, %edi -# CHECK-NEXT: - - - 1.00 - - - - - - shrdl $7, %esi, %edi -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldl $7, %esi, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdl $7, %esi, (%rax) -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldq %cl, %rsi, (%rax) -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldq $7, %rsi, %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorq (%rax), %rdi +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb %dil, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %dil, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcb (%rax), %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %ax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $7, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw %di, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %di, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcw (%rax), %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %eax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $7, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl %edi, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %edi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcl (%rax), %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $7, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq %rdi, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq %rdi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andq (%rax), %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw %si, %di +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsw %si, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw $7, %di +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl %esi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsl %esi, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl $7, %edi +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq %rsi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsq %rsi, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq $7, %rdi +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decw (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decl %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decq (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - - - divb %dil +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divb (%rax) +# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divw %si +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divw (%rax) +# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divl %edx +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax) +# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divq %rcx +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil +# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivb (%rax) +# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si +# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivw (%rax) +# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivl %edx +# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivl (%rax) +# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivq %rcx +# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di +# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulw (%rax), %di +# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di +# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di +# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di +# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - imulq %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - imulq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incb (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incw %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incw (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incl %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si +# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax) +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax) +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulq %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulq (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negb (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negw %si +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negw (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negl %edx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negq %rcx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negq (%r10) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nop +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notb (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notw %si +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notw (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notl %edx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notq %rcx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notq (%r10) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orq (%rax), %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb $7, %dil +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb $7, %dil +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb $7, (%rax) +# CHECK-NEXT: - - 3.00 2.00 - - - 1.00 3.00 - rclb %cl, %dil +# CHECK-NEXT: - - 2.75 3.25 - - - 1.25 2.75 - rcrb %cl, %dil +# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclb %cl, (%rax) +# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrb %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw %di +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw %di +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw $7, %di +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw $7, %di +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw $7, (%rax) +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rclw %cl, %di +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrw %cl, %di +# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclw %cl, (%rax) +# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrw %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll %edi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl %edi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll $7, %edi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl $7, %edi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl $7, (%rax) +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcll %cl, %edi +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrl %cl, %edi +# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rcll %cl, (%rax) +# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrl %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq %rdi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq $7, %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq $7, %rdi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq $7, (%rax) +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rclq %cl, %rdi +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrq %cl, %rdi +# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclq %cl, (%rax) +# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrq %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb $7, %dil +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb $7, %dil +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolb %cl, %dil +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorb %cl, %dil +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolb %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorb %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw %di +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw %di +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw $7, %di +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw $7, %di +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolw %cl, %di +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorw %cl, %di +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolw %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorw %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll %edi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl %edi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll $7, %edi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl $7, %edi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - roll %cl, %edi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorl %cl, %edi +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 roll %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorl %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq %rdi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq %rdi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq $7, %rdi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq $7, %rdi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolq %cl, %rdi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorq %cl, %rdi +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolq %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorq %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb $7, %dil +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarb %cl, %dil +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlb %cl, %dil +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrb %cl, %dil +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarb %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlb %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrb %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw %di +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw $7, %di +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarw %cl, %di +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlw %cl, %di +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrw %cl, %di +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarw %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlw %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrw %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl %edi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl $7, %edi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarl %cl, %edi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shll %cl, %edi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrl %cl, %edi +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarl %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shll %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrl %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq %rdi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq $7, %rdi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarq %cl, %rdi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlq %cl, %rdi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrq %cl, %rdi +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarq %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlq %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrq %cl, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb %dil, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %dil, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbb (%rax), %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %ax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $7, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw %di, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %di, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbw (%rax), %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %eax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $7, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl %edi, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %edi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbl (%rax), %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $7, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq %rdi, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq %rdi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbq (%rax), %rdi +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldw %cl, %si, %di +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdw %cl, %si, %di +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldw %cl, %si, (%rax) +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdw %cl, %si, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldw $7, %si, %di +# CHECK-NEXT: - - - 1.00 - - - - - - shrdw $7, %si, %di +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldw $7, %si, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdw $7, %si, (%rax) +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldl %cl, %esi, %edi +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdl %cl, %esi, %edi +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldl %cl, %esi, (%rax) +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdl %cl, %esi, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldl $7, %esi, %edi +# CHECK-NEXT: - - - 1.00 - - - - - - shrdl $7, %esi, %edi +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldl $7, %esi, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdl $7, %esi, (%rax) +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldq %cl, %rsi, (%rax) +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldq $7, %rsi, %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorq (%rax), %rdi diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s index 0f03372..a54d949 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s @@ -205,320 +205,320 @@ fyl2xp1 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 0.25 * f2xm1 -# CHECK-NEXT: 1 1 1.00 * fabs -# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fadd %st(2) -# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx) -# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 * faddp %st(1) -# CHECK-NEXT: 1 3 1.00 * faddp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx) -# CHECK-NEXT: 1 100 0.25 * fbld (%ecx) -# CHECK-NEXT: 2 1 1.00 * fbstp (%eax) -# CHECK-NEXT: 1 1 1.00 * fchs -# CHECK-NEXT: 4 4 1.00 * fnclex -# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 * fcom %st(1) -# CHECK-NEXT: 1 1 1.00 * fcom %st(3) -# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx) -# CHECK-NEXT: 2 8 1.00 * fcoml (%eax) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) -# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx) -# CHECK-NEXT: 2 8 1.00 * fcompl (%eax) -# CHECK-NEXT: 1 100 0.25 * fcompp -# CHECK-NEXT: 1 2 1.00 * fcomi %st(3) -# CHECK-NEXT: 1 2 1.00 * fcompi %st(3) -# CHECK-NEXT: 1 100 0.25 * fcos -# CHECK-NEXT: 2 2 1.00 * fdecstp -# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1) -# CHECK-NEXT: 1 20 1.00 * fdiv %st(2) -# CHECK-NEXT: 2 22 1.00 * * fdivs (%ecx) -# CHECK-NEXT: 2 22 1.00 * * fdivl (%eax) -# CHECK-NEXT: 1 15 1.00 * fdivp %st(1) -# CHECK-NEXT: 1 15 1.00 * fdivp %st(2) -# CHECK-NEXT: 3 25 1.00 * * fidivs (%ecx) -# CHECK-NEXT: 3 25 1.00 * * fidivl (%eax) -# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1) -# CHECK-NEXT: 1 15 1.00 * fdivr %st(2) -# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx) -# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax) -# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1) -# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2) -# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx) -# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax) -# CHECK-NEXT: 1 100 0.25 * ffree %st(0) -# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx) -# CHECK-NEXT: 3 11 2.00 * ficoml (%eax) -# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx) -# CHECK-NEXT: 3 11 2.00 * ficompl (%eax) -# CHECK-NEXT: 2 10 1.00 * * filds (%edx) -# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fildll (%eax) -# CHECK-NEXT: 1 1 0.50 * fincstp -# CHECK-NEXT: 15 75 6.00 * fninit -# CHECK-NEXT: 3 4 1.00 * * fists (%edx) -# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fistps (%edx) -# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax) -# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx) -# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax) -# CHECK-NEXT: 1 1 0.25 * fld %st(0) -# CHECK-NEXT: 1 7 0.50 * * flds (%edx) -# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx) -# CHECK-NEXT: 1 7 0.50 * * fldt (%eax) -# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax) -# CHECK-NEXT: 64 62 14.00 * fldenv (%eax) -# CHECK-NEXT: 1 1 - * fld1 -# CHECK-NEXT: 1 100 0.25 * fldl2e -# CHECK-NEXT: 1 100 0.25 * fldl2t -# CHECK-NEXT: 1 100 0.25 * fldlg2 -# CHECK-NEXT: 1 100 0.25 * fldln2 -# CHECK-NEXT: 1 100 0.25 * fldpi -# CHECK-NEXT: 1 1 - * fldz -# CHECK-NEXT: 1 4 1.00 * fmul %st(0), %st(1) -# CHECK-NEXT: 1 4 1.00 * fmul %st(2) -# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx) -# CHECK-NEXT: 2 11 1.00 * * fmull (%eax) -# CHECK-NEXT: 1 4 1.00 * fmulp %st(1) -# CHECK-NEXT: 1 4 1.00 * fmulp %st(2) -# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx) -# CHECK-NEXT: 3 14 1.00 * * fimull (%eax) -# CHECK-NEXT: 1 1 0.50 * fnop -# CHECK-NEXT: 1 100 0.25 * fpatan -# CHECK-NEXT: 1 100 0.25 * fprem -# CHECK-NEXT: 1 100 0.25 * fprem1 -# CHECK-NEXT: 1 100 0.25 * fptan -# CHECK-NEXT: 1 100 0.25 * frndint -# CHECK-NEXT: 1 100 0.25 * frstor (%eax) -# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) -# CHECK-NEXT: 1 100 0.25 * fscale -# CHECK-NEXT: 1 100 0.25 * fsin -# CHECK-NEXT: 1 100 0.25 * fsincos -# CHECK-NEXT: 1 21 7.00 * fsqrt -# CHECK-NEXT: 1 1 0.25 * fst %st(0) -# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) -# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) -# CHECK-NEXT: 1 1 0.25 * fstp %st(0) -# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx) -# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx) -# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax) -# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax) -# CHECK-NEXT: 100 106 19.50 * fnstenv (%eax) -# CHECK-NEXT: 3 3 1.00 * fnstsw (%eax) -# CHECK-NEXT: 1 100 0.25 * frstor (%eax) -# CHECK-NEXT: 2 2 0.50 * wait -# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsub %st(2) -# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) -# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax) -# CHECK-NEXT: 1 2 1.00 * ftst -# CHECK-NEXT: 1 1 1.00 * fucom %st(1) -# CHECK-NEXT: 1 1 1.00 * fucom %st(3) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) -# CHECK-NEXT: 1 2 1.00 * fucompp -# CHECK-NEXT: 1 2 1.00 * fucomi %st(3) -# CHECK-NEXT: 1 2 1.00 * fucompi %st(3) -# CHECK-NEXT: 2 2 0.50 * wait -# CHECK-NEXT: 1 100 0.25 * fxam -# CHECK-NEXT: 15 17 4.00 * fxch %st(1) -# CHECK-NEXT: 15 17 4.00 * fxch %st(3) -# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax) -# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) -# CHECK-NEXT: 1 100 0.25 * fxtract -# CHECK-NEXT: 1 100 0.25 * fyl2x -# CHECK-NEXT: 1 100 0.25 * fyl2xp1 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 100 0.25 * f2xm1 +# CHECK-NEXT: 1 1 1.00 * fabs +# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fadd %st(2) +# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx) +# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx) +# CHECK-NEXT: 1 3 1.00 * faddp %st(1) +# CHECK-NEXT: 1 3 1.00 * faddp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx) +# CHECK-NEXT: 1 100 0.25 * fbld (%ecx) +# CHECK-NEXT: 2 1 1.00 * fbstp (%eax) +# CHECK-NEXT: 1 1 1.00 * fchs +# CHECK-NEXT: 4 4 1.00 * fnclex +# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 1 1.00 * fcom %st(1) +# CHECK-NEXT: 1 1 1.00 * fcom %st(3) +# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx) +# CHECK-NEXT: 2 8 1.00 * fcoml (%eax) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) +# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx) +# CHECK-NEXT: 2 8 1.00 * fcompl (%eax) +# CHECK-NEXT: 1 100 0.25 * fcompp +# CHECK-NEXT: 1 2 1.00 * fcomi %st(3) +# CHECK-NEXT: 1 2 1.00 * fcompi %st(3) +# CHECK-NEXT: 1 100 0.25 * fcos +# CHECK-NEXT: 2 2 1.00 * fdecstp +# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1) +# CHECK-NEXT: 1 20 1.00 * fdiv %st(2) +# CHECK-NEXT: 2 22 1.00 * * fdivs (%ecx) +# CHECK-NEXT: 2 22 1.00 * * fdivl (%eax) +# CHECK-NEXT: 1 15 1.00 * fdivp %st(1) +# CHECK-NEXT: 1 15 1.00 * fdivp %st(2) +# CHECK-NEXT: 3 25 1.00 * * fidivs (%ecx) +# CHECK-NEXT: 3 25 1.00 * * fidivl (%eax) +# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 * fdivr %st(2) +# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx) +# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax) +# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1) +# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2) +# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx) +# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax) +# CHECK-NEXT: 1 100 0.25 * ffree %st(0) +# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx) +# CHECK-NEXT: 3 11 2.00 * ficoml (%eax) +# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx) +# CHECK-NEXT: 3 11 2.00 * ficompl (%eax) +# CHECK-NEXT: 2 10 1.00 * * filds (%edx) +# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fildll (%eax) +# CHECK-NEXT: 1 1 0.50 * fincstp +# CHECK-NEXT: 15 75 6.00 * fninit +# CHECK-NEXT: 3 4 1.00 * * fists (%edx) +# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fistps (%edx) +# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax) +# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx) +# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax) +# CHECK-NEXT: 1 1 0.25 * fld %st(0) +# CHECK-NEXT: 1 7 0.50 * * flds (%edx) +# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx) +# CHECK-NEXT: 1 7 0.50 * * fldt (%eax) +# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax) +# CHECK-NEXT: 64 62 14.00 * fldenv (%eax) +# CHECK-NEXT: 1 1 - * fld1 +# CHECK-NEXT: 1 100 0.25 * fldl2e +# CHECK-NEXT: 1 100 0.25 * fldl2t +# CHECK-NEXT: 1 100 0.25 * fldlg2 +# CHECK-NEXT: 1 100 0.25 * fldln2 +# CHECK-NEXT: 1 100 0.25 * fldpi +# CHECK-NEXT: 1 1 - * fldz +# CHECK-NEXT: 1 4 1.00 * fmul %st(0), %st(1) +# CHECK-NEXT: 1 4 1.00 * fmul %st(2) +# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx) +# CHECK-NEXT: 2 11 1.00 * * fmull (%eax) +# CHECK-NEXT: 1 4 1.00 * fmulp %st(1) +# CHECK-NEXT: 1 4 1.00 * fmulp %st(2) +# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx) +# CHECK-NEXT: 3 14 1.00 * * fimull (%eax) +# CHECK-NEXT: 1 1 0.50 * fnop +# CHECK-NEXT: 1 100 0.25 * fpatan +# CHECK-NEXT: 1 100 0.25 * fprem +# CHECK-NEXT: 1 100 0.25 * fprem1 +# CHECK-NEXT: 1 100 0.25 * fptan +# CHECK-NEXT: 1 100 0.25 * frndint +# CHECK-NEXT: 1 100 0.25 * frstor (%eax) +# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) +# CHECK-NEXT: 1 100 0.25 * fscale +# CHECK-NEXT: 1 100 0.25 * fsin +# CHECK-NEXT: 1 100 0.25 * fsincos +# CHECK-NEXT: 1 21 7.00 * fsqrt +# CHECK-NEXT: 1 1 0.25 * fst %st(0) +# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) +# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) +# CHECK-NEXT: 1 1 0.25 * fstp %st(0) +# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx) +# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx) +# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax) +# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax) +# CHECK-NEXT: 100 106 19.50 * fnstenv (%eax) +# CHECK-NEXT: 3 3 1.00 * fnstsw (%eax) +# CHECK-NEXT: 1 100 0.25 * frstor (%eax) +# CHECK-NEXT: 2 2 0.50 * wait +# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) +# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsub %st(2) +# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) +# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax) +# CHECK-NEXT: 1 2 1.00 * ftst +# CHECK-NEXT: 1 1 1.00 * fucom %st(1) +# CHECK-NEXT: 1 1 1.00 * fucom %st(3) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) +# CHECK-NEXT: 1 2 1.00 * fucompp +# CHECK-NEXT: 1 2 1.00 * fucomi %st(3) +# CHECK-NEXT: 1 2 1.00 * fucompi %st(3) +# CHECK-NEXT: 2 2 0.50 * wait +# CHECK-NEXT: 1 100 0.25 * fxam +# CHECK-NEXT: 15 17 4.00 * fxch %st(1) +# CHECK-NEXT: 15 17 4.00 * fxch %st(3) +# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax) +# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) +# CHECK-NEXT: 1 100 0.25 * fxtract +# CHECK-NEXT: 1 100 0.25 * fyl2x +# CHECK-NEXT: 1 100 0.25 * fyl2xp1 # CHECK: Resources: -# CHECK-NEXT: [0] - SKLDivider -# CHECK-NEXT: [1] - SKLFPDivider -# CHECK-NEXT: [2] - SKLPort0 -# CHECK-NEXT: [3] - SKLPort1 -# CHECK-NEXT: [4] - SKLPort2 -# CHECK-NEXT: [5] - SKLPort3 -# CHECK-NEXT: [6] - SKLPort4 -# CHECK-NEXT: [7] - SKLPort5 -# CHECK-NEXT: [8] - SKLPort6 -# CHECK-NEXT: [9] - SKLPort7 +# CHECK-NEXT: [0] - SKLDivider +# CHECK-NEXT: [1] - SKLFPDivider +# CHECK-NEXT: [2] - SKLPort0 +# CHECK-NEXT: [3] - SKLPort1 +# CHECK-NEXT: [4] - SKLPort2 +# CHECK-NEXT: [5] - SKLPort3 +# CHECK-NEXT: [6] - SKLPort4 +# CHECK-NEXT: [7] - SKLPort5 +# CHECK-NEXT: [8] - SKLPort6 +# CHECK-NEXT: [9] - SKLPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 7.00 121.50 53.50 49.00 49.00 27.00 144.50 70.50 9.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 -# CHECK-NEXT: - - 1.00 - - - - - - - fabs -# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fadds (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - faddl (%ecx) -# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiadds (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiaddl (%ecx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fchs -# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) -# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(3) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoms (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoml (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(3) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcomps (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcompl (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp -# CHECK-NEXT: - - 1.00 - - - - - - - fcomi %st(3) -# CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fdecstp -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrl (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoms (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoml (%eax) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficomps (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficompl (%eax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - filds (%edx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildl (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildll (%eax) -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fincstp -# CHECK-NEXT: - - 3.00 1.50 - - - 9.00 1.50 - fninit -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fists (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistps (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpll (%eax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttps (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpll (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) -# CHECK-NEXT: - - 1.50 - 0.50 0.50 - 0.50 - - fldcw (%eax) -# CHECK-NEXT: - - 19.25 9.75 4.00 4.00 - 12.25 14.75 - fldenv (%eax) -# CHECK-NEXT: - - - - - - - - - - fld1 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2e -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2t -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldlg2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldln2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldpi -# CHECK-NEXT: - - - - - - - - - - fldz -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimuls (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimull (%eax) -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fnop -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fpatan -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem1 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fptan -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frndint -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fscale -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos -# CHECK-NEXT: - 7.00 1.00 - - - - - - - fsqrt -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - 1.00 0.33 fnstcw (%eax) -# CHECK-NEXT: - - 27.00 8.50 3.67 3.67 11.00 23.50 19.00 3.67 fnstenv (%eax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 1.00 - - 0.33 fnstsw (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubs (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubs (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrs (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrs (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - ftst -# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(3) -# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(3) -# CHECK-NEXT: - - 1.00 - - - - - - - fucompp -# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3) -# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3) -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam -# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(1) -# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(3) -# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxsave (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxtract -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2x -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2xp1 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 +# CHECK-NEXT: - - 1.00 - - - - - - - fabs +# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fadds (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - faddl (%ecx) +# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiadds (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiaddl (%ecx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fchs +# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(3) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoms (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoml (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(3) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcomps (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcompl (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp +# CHECK-NEXT: - - 1.00 - - - - - - - fcomi %st(3) +# CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fdecstp +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrl (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoms (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoml (%eax) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficomps (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficompl (%eax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - filds (%edx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildl (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildll (%eax) +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fincstp +# CHECK-NEXT: - - 3.00 1.50 - - - 9.00 1.50 - fninit +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fists (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistps (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpll (%eax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttps (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpll (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) +# CHECK-NEXT: - - 1.50 - 0.50 0.50 - 0.50 - - fldcw (%eax) +# CHECK-NEXT: - - 19.25 9.75 4.00 4.00 - 12.25 14.75 - fldenv (%eax) +# CHECK-NEXT: - - - - - - - - - - fld1 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2e +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2t +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldlg2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldln2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldpi +# CHECK-NEXT: - - - - - - - - - - fldz +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimuls (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimull (%eax) +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fnop +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fpatan +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem1 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fptan +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frndint +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fscale +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos +# CHECK-NEXT: - 7.00 1.00 - - - - - - - fsqrt +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - 1.00 0.33 fnstcw (%eax) +# CHECK-NEXT: - - 27.00 8.50 3.67 3.67 11.00 23.50 19.00 3.67 fnstenv (%eax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 1.00 - - 0.33 fnstsw (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubs (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubs (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrs (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrs (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - ftst +# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(3) +# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(3) +# CHECK-NEXT: - - 1.00 - - - - - - - fucompp +# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3) +# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3) +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam +# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(1) +# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(3) +# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxsave (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxtract +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2x +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2xp1 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s index c30c862..f906c01 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s @@ -1017,1390 +1017,1390 @@ vzeroupper # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.33 vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vaddsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 8 2.00 vaesimc %xmm0, %xmm2 -# CHECK-NEXT: 3 14 2.00 * vaesimc (%rax), %xmm2 -# CHECK-NEXT: 11 20 6.00 vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: 11 25 6.00 * vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 0.67 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 8 0.67 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 0.67 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 9 0.67 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 0.67 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 8 0.67 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 0.67 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 9 0.67 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 7 0.50 * 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 4 0.33 vcmppd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcmppd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vcmppd $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcmppd $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vcmpps $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcmpps $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vcmpps $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcmpps $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vcmpsd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vcmpsd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vcmpss $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vcmpss $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vcomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * vcomisd (%rax), %xmm1 -# CHECK-NEXT: 1 2 1.00 vcomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * vcomiss (%rax), %xmm1 -# CHECK-NEXT: 2 5 1.00 vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: 3 13 1.00 * vcvtdq2pd (%rax), %ymm2 -# CHECK-NEXT: 1 4 0.33 vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: 2 5 1.00 vcvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvtpd2psy (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: 2 5 1.00 vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: 2 6 1.00 vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * vcvtsd2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * vcvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 5 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 10 1.00 * vcvtsd2ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 5 1.00 vcvtsi2sdl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 2 5 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: 2 5 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 3 6 2.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: 2 5 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 vcvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 vcvtss2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * vcvtss2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * vcvtss2si (%rax), %rcx -# CHECK-NEXT: 2 5 1.00 vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax), %ymm2 -# CHECK-NEXT: 2 6 1.00 vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * vcvttsd2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * vcvttsd2si (%rax), %rcx -# CHECK-NEXT: 3 7 1.00 vcvttss2si %xmm0, %ecx -# CHECK-NEXT: 3 7 1.00 vcvttss2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * vcvttss2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * vcvttss2si (%rax), %rcx -# CHECK-NEXT: 1 14 3.00 vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 20 4.00 * vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 14 5.00 vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 21 8.00 * vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 11 3.00 vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 17 5.00 * vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 11 5.00 vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 18 5.00 * vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 14 3.00 vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 19 4.00 * vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 11 3.00 vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 16 3.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 13 1.33 vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 5 19 1.33 * vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 4 13 1.33 vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 5 20 1.33 * vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: 2 3 1.00 vextractps $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: 3 6 2.00 vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 12 2.00 * vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 6 2.00 vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 13 2.00 * vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 6 2.00 vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 12 2.00 * vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 6 2.00 vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 13 2.00 * vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 6 2.00 vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 12 2.00 * vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 6 2.00 vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 13 2.00 * vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 6 2.00 vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 12 2.00 * vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 6 2.00 vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 13 2.00 * vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 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: 3 7 1.00 * * * vldmxcsr (%rax) -# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 2 7 0.50 * vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 4 0.33 vmaxpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vmaxps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vmaxss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vmaxss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vminpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vminps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vminss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vminss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovapd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovapd %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm0, (%rax) -# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.33 vmovaps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovaps %ymm0, %ymm2 -# CHECK-NEXT: 2 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 5 0.50 * vmovd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 vmovd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * vmovd %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 vmovddup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovdqa %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: 2 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: 2 1 1.00 * vmovdqu %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovdqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: 2 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: 2 1 1.00 * vmovhpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovhps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax) -# CHECK-NEXT: 2 6 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: 2 1 1.00 * vmovntdq %xmm0, (%rax) -# CHECK-NEXT: 2 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: 2 1 1.00 * vmovntpd %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * vmovntpd %ymm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * vmovntps %xmm0, (%rax) -# CHECK-NEXT: 2 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 5 0.50 * vmovq (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 vmovq %xmm0, %rcx -# CHECK-NEXT: 2 1 1.00 * vmovq %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovss %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * vmovss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovupd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovupd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovupd %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm0, (%rax) -# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.33 vmovups %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vmovups %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * vmovups (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 vmovups %ymm0, %ymm2 -# CHECK-NEXT: 2 1 1.00 * vmovups %ymm0, (%rax) -# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %ymm2 -# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 10 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * 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 1.00 vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpackuswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpaddb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpaddb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 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.33 vpaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 0.67 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 8 0.67 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 6 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 12 1.00 * 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 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 3 1.00 vpcmpgtq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 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: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 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 2 1.00 * vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 3 3 2.00 vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vphminposuw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vphminposuw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 3 2.00 vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vpmaddubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmaddubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vpmaddwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * 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 1.00 vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * vpmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 vpmuldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmuldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vpmulhrsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmulhrsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vpmulhuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmulhuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vpmulhw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmulhw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.67 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 16 0.67 * vpmulld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vpmullw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vpmullw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vpmuludq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * 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 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 1.00 * vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 0.50 vpslld $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 2 1.00 vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrlw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpsubb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 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.33 vpsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 3 1.00 vptest %xmm0, %xmm1 -# CHECK-NEXT: 3 9 1.00 * vptest (%rax), %xmm1 -# CHECK-NEXT: 2 3 1.00 vptest %ymm0, %ymm1 -# CHECK-NEXT: 3 10 1.00 * vptest (%rax), %ymm1 -# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 1.00 * 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 4 1.00 vrcpps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vrcpps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 vrcpps %ymm0, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vrcpps (%rax), %ymm2 -# CHECK-NEXT: 1 4 1.00 vrcpss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 1.00 * vrcpss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 8 0.67 vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 0.67 * vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 0.67 vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 3 15 0.67 * vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: 2 8 0.67 vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 0.67 * vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 0.67 vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: 3 15 0.67 * vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: 2 8 0.67 vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 14 0.67 * vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 8 0.67 vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 3 14 0.67 * vroundss $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vrsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vrsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vrsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 4 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 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 18 6.00 vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 18 12.00 vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: 1 12 3.00 vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 12 6.00 vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 18 6.00 vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax) -# CHECK-NEXT: 1 4 0.33 vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vsubss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 2 1.00 vtestpd %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vtestpd (%rax), %xmm1 -# CHECK-NEXT: 1 2 1.00 vtestpd %ymm0, %ymm1 -# CHECK-NEXT: 2 9 1.00 * vtestpd (%rax), %ymm1 -# CHECK-NEXT: 1 2 1.00 vtestps %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vtestps (%rax), %xmm1 -# CHECK-NEXT: 1 2 1.00 vtestps %ymm0, %ymm1 -# CHECK-NEXT: 2 9 1.00 * vtestps (%rax), %ymm1 -# CHECK-NEXT: 1 2 1.00 vucomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * vucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 2 1.00 vucomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 7 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 0.33 vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 16 16 4.00 * * * vzeroall -# CHECK-NEXT: 4 4 1.00 * * * vzeroupper +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.33 vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 1.00 vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 8 2.00 vaesimc %xmm0, %xmm2 +# CHECK-NEXT: 3 14 2.00 * vaesimc (%rax), %xmm2 +# CHECK-NEXT: 11 20 6.00 vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: 11 25 6.00 * vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vandps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 0.67 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 8 0.67 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 0.67 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 9 0.67 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 0.67 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 8 0.67 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 0.67 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 9 0.67 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 7 0.50 * 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 4 0.33 vcmppd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcmppd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vcmppd $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcmppd $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vcmpps $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcmpps $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vcmpps $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcmpps $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vcmpsd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vcmpsd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vcmpss $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vcmpss $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vcomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * vcomisd (%rax), %xmm1 +# CHECK-NEXT: 1 2 1.00 vcomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * vcomiss (%rax), %xmm1 +# CHECK-NEXT: 2 5 1.00 vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: 3 13 1.00 * vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: 1 4 0.33 vcvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: 2 5 1.00 vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 vcvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: 2 5 1.00 vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: 2 6 1.00 vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * vcvtsd2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * vcvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 5 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 10 1.00 * vcvtsd2ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 5 1.00 vcvtsi2sdl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 2 5 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: 2 5 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 3 6 2.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: 2 5 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 vcvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 vcvtss2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * vcvtss2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * vcvtss2si (%rax), %rcx +# CHECK-NEXT: 2 5 1.00 vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: 2 6 1.00 vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * vcvttsd2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * vcvttsd2si (%rax), %rcx +# CHECK-NEXT: 3 7 1.00 vcvttss2si %xmm0, %ecx +# CHECK-NEXT: 3 7 1.00 vcvttss2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * vcvttss2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * vcvttss2si (%rax), %rcx +# CHECK-NEXT: 1 14 3.00 vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 20 4.00 * vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 14 5.00 vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 21 8.00 * vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 11 3.00 vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 17 5.00 * vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 11 5.00 vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 18 5.00 * vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 14 3.00 vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 19 4.00 * vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 11 3.00 vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 16 3.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 13 1.33 vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 5 19 1.33 * vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 4 13 1.33 vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 5 20 1.33 * vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: 2 3 1.00 vextractps $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: 3 6 2.00 vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 12 2.00 * vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 6 2.00 vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 13 2.00 * vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 6 2.00 vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 12 2.00 * vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 6 2.00 vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 13 2.00 * vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 6 2.00 vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 12 2.00 * vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 6 2.00 vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 13 2.00 * vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 6 2.00 vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 12 2.00 * vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 6 2.00 vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 13 2.00 * vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 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: 3 7 1.00 * * * vldmxcsr (%rax) +# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 2 7 0.50 * vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 4 0.33 vmaxpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vmaxps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmaxps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vmaxss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vmaxss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vminpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vminpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vminps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vminps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vminss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vminss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovapd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovapd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovapd %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovapd %ymm0, (%rax) +# CHECK-NEXT: 1 7 0.50 * vmovapd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.33 vmovaps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovaps %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovaps %ymm0, %ymm2 +# CHECK-NEXT: 2 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 5 0.50 * vmovd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 vmovd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * vmovd %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 vmovddup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovdqa %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: 2 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: 2 1 1.00 * vmovdqu %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovdqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: 2 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: 2 1 1.00 * vmovhpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovhps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax) +# CHECK-NEXT: 2 6 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: 2 1 1.00 * vmovntdq %xmm0, (%rax) +# CHECK-NEXT: 2 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: 2 1 1.00 * vmovntpd %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * vmovntpd %ymm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * vmovntps %xmm0, (%rax) +# CHECK-NEXT: 2 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 5 0.50 * vmovq (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 vmovq %xmm0, %rcx +# CHECK-NEXT: 2 1 1.00 * vmovq %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 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: 2 1 1.00 * vmovss %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * vmovss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovupd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovupd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovupd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovupd %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovupd %ymm0, (%rax) +# CHECK-NEXT: 1 7 0.50 * vmovupd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.33 vmovups %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vmovups %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * vmovups (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 vmovups %ymm0, %ymm2 +# CHECK-NEXT: 2 1 1.00 * vmovups %ymm0, (%rax) +# CHECK-NEXT: 1 7 0.50 * vmovups (%rax), %ymm2 +# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 10 2.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * 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 1.00 vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 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.33 vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 0.67 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 8 0.67 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 6 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 12 1.00 * 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 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 3 1.00 vpcmpgtq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 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: 1 3 1.00 vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 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 2 1.00 * vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: 3 2 1.00 * vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 3 3 2.00 vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vphminposuw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vphminposuw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 3 2.00 vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 4 9 2.00 * vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vpmaddubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmaddubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vpmaddwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * 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 1.00 vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 vpmuldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmuldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vpmulhrsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmulhrsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vpmulhuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmulhuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vpmulhw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmulhw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.67 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 16 0.67 * vpmulld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vpmullw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vpmullw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vpmuludq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * 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 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 1.00 * vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 0.50 vpslld $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 2 1.00 vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 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.33 vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 3 1.00 vptest %xmm0, %xmm1 +# CHECK-NEXT: 3 9 1.00 * vptest (%rax), %xmm1 +# CHECK-NEXT: 2 3 1.00 vptest %ymm0, %ymm1 +# CHECK-NEXT: 3 10 1.00 * vptest (%rax), %ymm1 +# CHECK-NEXT: 1 1 1.00 vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 1.00 * 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 4 1.00 vrcpps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vrcpps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 vrcpps %ymm0, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vrcpps (%rax), %ymm2 +# CHECK-NEXT: 1 4 1.00 vrcpss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 1.00 * vrcpss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 8 0.67 vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 0.67 * vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 0.67 vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 3 15 0.67 * vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: 2 8 0.67 vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 0.67 * vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 0.67 vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: 3 15 0.67 * vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: 2 8 0.67 vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 14 0.67 * vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 8 0.67 vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 3 14 0.67 * vroundss $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vrsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vrsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vrsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 4 1.00 vrsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 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 18 6.00 vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 2 24 6.00 * vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 18 12.00 vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: 2 25 12.00 * vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: 1 12 3.00 vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 18 3.00 * vsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 12 6.00 vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 2 19 6.00 * vsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 18 6.00 vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax) +# CHECK-NEXT: 1 4 0.33 vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 2 1.00 vtestpd %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vtestpd (%rax), %xmm1 +# CHECK-NEXT: 1 2 1.00 vtestpd %ymm0, %ymm1 +# CHECK-NEXT: 2 9 1.00 * vtestpd (%rax), %ymm1 +# CHECK-NEXT: 1 2 1.00 vtestps %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vtestps (%rax), %xmm1 +# CHECK-NEXT: 1 2 1.00 vtestps %ymm0, %ymm1 +# CHECK-NEXT: 2 9 1.00 * vtestps (%rax), %ymm1 +# CHECK-NEXT: 1 2 1.00 vucomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * vucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 2 1.00 vucomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 7 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 0.33 vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 16 16 4.00 * * * vzeroall +# CHECK-NEXT: 4 4 1.00 * * * vzeroupper # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 123.00 271.00 170.00 171.17 171.17 34.00 376.00 5.00 12.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - 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 0.67 - - - 6.67 - - vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.33 0.33 0.50 0.50 - 6.33 - - vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 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: - - 0.33 0.33 - - - 0.33 - - vcmppd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmppd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmppd $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmppd $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmpps $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmpps $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmpps $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmpps $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmpsd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmpsd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmpss $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmpss $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vcomisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomisd (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - - - - vcomiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomiss (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psy (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvtsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvtsd2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vcvtsd2ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtsi2sdl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - 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: - - 0.33 0.33 - - - 1.33 - - vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vcvtsi2ssq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvtss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvtss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvtss2si (%rax), %ecx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvtss2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvttpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvttsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvttsd2si (%rax), %rcx -# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - vcvttss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - vcvttss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvttss2si (%rax), %ecx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvttss2si (%rax), %rcx -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vdivss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 1.67 - - vdppd $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 1.67 - - vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - 2.00 - - vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 2.00 - - vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - 2.00 - - vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 2.00 - - vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vextractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinsertps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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.25 0.25 0.50 0.50 - 0.25 0.25 - vldmxcsr (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovps %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovaps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqa (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqu (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovhps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovss %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vpaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - 0.67 0.67 - - - 0.67 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 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: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vphminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vphminposuw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaddubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhrsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhrsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpmulld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmullw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmullw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuludq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuludq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 0.50 0.50 - - - - - - vpslld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vpsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %ymm0, %ymm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %ymm1 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vrcpps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vrcpps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vrcpps %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 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: - - 0.67 0.67 - - - 0.67 - - vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - 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: - - 1.00 - - - - - - - vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 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: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufpd $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 12.00 1.00 - - - - - - - vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %ymm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vstmxcsr (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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 - - - - - - - vucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vucomisd (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - - - - vucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 4.00 4.00 - - - 4.00 4.00 - vzeroall -# CHECK-NEXT: - - 1.08 1.08 - - - 1.08 0.75 - vzeroupper +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - 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 0.67 - - - 6.67 - - vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.33 0.33 0.50 0.50 - 6.33 - - vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vandps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 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: - - 0.33 0.33 - - - 0.33 - - vcmppd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmppd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmppd $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmppd $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmpps $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmpps $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmpps $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmpps $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmpsd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmpsd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcmpss $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcmpss $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vcomisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomisd (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - - - - vcomiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomiss (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvtsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvtsd2si (%rax), %rcx +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - vcvtsd2ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtsi2sdl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - 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: - - 0.33 0.33 - - - 1.33 - - vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vcvtsi2ssq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvtss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvtss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvtss2si (%rax), %ecx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvtss2si (%rax), %rcx +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvttsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvttsd2si (%rax), %rcx +# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - vcvttss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - vcvttss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvttss2si (%rax), %ecx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - vcvttss2si (%rax), %rcx +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - 8.00 1.00 - 0.50 0.50 - - - - vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vdivss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 1.67 - - vdppd $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 1.67 - - vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - 2.00 - - vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 2.00 - - vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - 2.00 - - vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 2.00 - - vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vextractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinsertf128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinsertf128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinsertps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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.25 0.25 0.50 0.50 - 0.25 0.25 - vldmxcsr (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vmaskmovps %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmaxss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmaxss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vminss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vminss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovapd %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovapd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovapd (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovaps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovaps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovaps %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqa (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovdqu (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovhpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovhps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovlps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntdq %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntpd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovntps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 vmovss %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovupd %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovupd %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovupd (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmovups %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vmovups %ymm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovups (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - 0.67 0.67 - - - 0.67 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 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: - - - - 0.50 0.50 - 1.00 - - 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: - - - - - - - 1.00 - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vphminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vphminposuw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaddubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhrsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhrsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpmulld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmullw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmullw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuludq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuludq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - 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: - - 0.50 0.50 - - - - - - vpslld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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.33 0.33 - - - 0.33 - - vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vptest %ymm0, %ymm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - vptest (%rax), %ymm1 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vrcpps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vrcpps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vrcpps %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 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: - - 0.67 0.67 - - - 0.67 - - vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - 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: - - 1.00 - - - - - - - vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 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: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufpd $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufpd $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vshufps $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 12.00 1.00 - - - - - - - vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: - 12.00 1.00 - 0.50 0.50 - - - - vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %xmm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtps (%rax), %ymm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 vstmxcsr (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - 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 - - - - - - - vucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vucomisd (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - - - - vucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpckhps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpckhps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vunpcklps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vunpcklps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 4.00 4.00 - - - 4.00 4.00 - vzeroall +# CHECK-NEXT: - - 1.08 1.08 - - - 1.08 0.75 - vzeroupper diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s index c41b396..0dd0c62 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s @@ -456,622 +456,622 @@ vpxor (%rax), %ymm1, %ymm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: 5 22 1.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 11 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 0.67 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 8 0.67 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: 2 7 1.00 * vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: 2 7 1.00 * vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 5 22 1.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpmovmskb %ymm0, %ecx -# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: 1 4 0.33 vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 10 0.67 vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 3 17 0.67 * vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 7 0.50 * vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: 1 3 1.00 vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: 1 3 1.00 vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: 1 3 1.00 vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: 5 22 1.00 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: 1 3 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 7 0.50 * vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: 2 4 2.00 vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 11 2.00 * vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsb %ymm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsd %ymm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpabsw %ymm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 0.67 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 8 0.67 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: 2 7 1.00 * vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: 1 1 1.00 vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: 1 6 0.50 * vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: 1 7 0.50 * vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: 1 1 1.00 vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: 1 6 0.50 * vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: 1 7 0.50 * vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: 2 7 1.00 * vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: 1 3 1.00 vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: 1 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 5 22 1.00 * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 5 25 1.00 * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpmovmskb %ymm0, %ecx +# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: 1 4 0.33 vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 10 0.67 vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 3 17 0.67 * vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 1.00 vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 7 0.50 * vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 4 1.00 vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 107.00 86.00 85.17 85.17 1.00 169.00 - 1.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsb (%rax), %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsd %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsd (%rax), %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsw %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 2.00 - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsb %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsb (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsd %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsd (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpabsw %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpabsw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 1.00 - - vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 1.00 1.00 - 1.33 - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 - - - 0.33 vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 1.00 - - - - - - - vpmovmskb %ymm0, %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpxor (%rax), %ymm1, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s index e84bfa3..c3d135a 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s @@ -45,72 +45,72 @@ tzcnt (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * andnl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * andnq (%rax), %rbx, %rcx -# CHECK-NEXT: 2 2 0.50 bextrl %eax, %ebx, %ecx -# CHECK-NEXT: 3 7 0.50 * bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: 2 2 0.50 bextrq %rax, %rbx, %rcx -# CHECK-NEXT: 3 7 0.50 * bextrq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsil (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * blsiq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsmskl (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * blsmskq (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx -# CHECK-NEXT: 1 1 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: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * andnl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 1 0.50 andnq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * andnq (%rax), %rbx, %rcx +# CHECK-NEXT: 2 2 0.50 bextrl %eax, %ebx, %ecx +# CHECK-NEXT: 3 7 0.50 * bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: 2 2 0.50 bextrq %rax, %rbx, %rcx +# CHECK-NEXT: 3 7 0.50 * bextrq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 blsil %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsil (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsiq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * blsiq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsmskl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsmskl (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 blsmskq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * blsmskq (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 blsrl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * blsrl (%rax), %ecx +# CHECK-NEXT: 1 1 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: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 2.00 14.00 6.00 6.00 - 10.00 2.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 - - - 0.50 0.50 - bextrl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - bextrq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 - - - 0.50 0.50 - bextrl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - bextrq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 0.50 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 - - - - - - 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 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi2.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi2.s index 951aa0d..00bd2c3 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi2.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi2.s @@ -57,88 +57,88 @@ shrx %rax, (%rbx), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: 3 4 1.00 mulxl %eax, %ebx, %ecx -# CHECK-NEXT: 4 9 1.00 * mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rbx, %rcx -# CHECK-NEXT: 3 9 1.00 * mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 3 1.00 pdepl %eax, %ebx, %ecx -# CHECK-NEXT: 2 8 1.00 * pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 3 1.00 pdepq %rax, %rbx, %rcx -# CHECK-NEXT: 2 8 1.00 * pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 3 1.00 pextl %eax, %ebx, %ecx -# CHECK-NEXT: 2 8 1.00 * pextl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 3 1.00 pextq %rax, %rbx, %rcx -# CHECK-NEXT: 2 8 1.00 * pextq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 1 0.50 rorxl $1, %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * rorxl $1, (%rax), %ecx -# CHECK-NEXT: 1 1 0.50 rorxq $1, %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * rorxq $1, (%rax), %rcx -# CHECK-NEXT: 1 1 0.50 sarxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 sarxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 shlxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 shlxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.50 shrxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 6 0.50 * shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.50 shrxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 6 0.50 * shrxq %rax, (%rbx), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: 3 4 1.00 mulxl %eax, %ebx, %ecx +# CHECK-NEXT: 4 9 1.00 * mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rbx, %rcx +# CHECK-NEXT: 3 9 1.00 * mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 3 1.00 pdepl %eax, %ebx, %ecx +# CHECK-NEXT: 2 8 1.00 * pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 3 1.00 pdepq %rax, %rbx, %rcx +# CHECK-NEXT: 2 8 1.00 * pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 3 1.00 pextl %eax, %ebx, %ecx +# CHECK-NEXT: 2 8 1.00 * pextl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 3 1.00 pextq %rax, %rbx, %rcx +# CHECK-NEXT: 2 8 1.00 * pextq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 1 0.50 rorxl $1, %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * rorxl $1, (%rax), %ecx +# CHECK-NEXT: 1 1 0.50 rorxq $1, %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * rorxq $1, (%rax), %rcx +# CHECK-NEXT: 1 1 0.50 sarxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 sarxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 shlxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 shlxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.50 shrxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 6 0.50 * shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.50 shrxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 6 0.50 * shrxq %rax, (%rbx), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 9.50 14.50 8.00 8.00 - 4.50 9.50 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhil %eax, %ebx, %ecx -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mulxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulxq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - pdepl %eax, %ebx, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - pdepq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - pextl %eax, %ebx, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - pextq %rax, %rbx, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextq (%rax), %rbx, %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxl $1, %eax, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxl $1, (%rax), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxq $1, %rax, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxq $1, (%rax), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxl %eax, %ebx, %ecx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxq %rax, %rbx, %rcx -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxq %rax, (%rbx), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhil %eax, %ebx, %ecx +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: - - - 0.50 - - - 0.50 - - bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mulxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulxq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - pdepl %eax, %ebx, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - pdepq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - pextl %eax, %ebx, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - pextq %rax, %rbx, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - pextq (%rax), %rbx, %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxl $1, %eax, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxl $1, (%rax), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - rorxq $1, %rax, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - rorxq $1, (%rax), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxl %eax, %ebx, %ecx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrxq %rax, %rbx, %rcx +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - shrxq %rax, (%rbx), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-f16c.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-f16c.s index 585923c..63b2d10 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-f16c.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-f16c.s @@ -21,40 +21,40 @@ vcvtps2ph $0, %ymm0, (%rax) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 5 1.00 vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: 2 7 1.00 vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: 2 10 0.50 * vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: 2 5 1.00 vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: 4 6 1.00 * vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: 2 7 1.00 vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: 4 8 1.00 * vcvtps2ph $0, %ymm0, (%rax) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 5 1.00 vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: 2 7 1.00 vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: 2 10 0.50 * vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: 2 5 1.00 vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: 4 6 1.00 * vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: 2 7 1.00 vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: 4 8 1.00 * vcvtps2ph $0, %ymm0, (%rax) # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 2.67 2.67 1.67 1.67 2.00 8.67 - 0.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.33 0.33 1.00 1.33 - 0.33 vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.33 0.33 1.00 1.33 - 0.33 vcvtps2ph $0, %ymm0, (%rax) +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.33 0.33 1.00 1.33 - 0.33 vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.33 0.33 1.00 1.33 - 0.33 vcvtps2ph $0, %ymm0, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-fma.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-fma.s index 85f786f..91834f5 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-fma.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-fma.s @@ -297,408 +297,408 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.33 vfmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmadd132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmaddsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsub132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfmsub231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfmsubadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vfnmsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.33 vfnmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 9 0.50 * vfnmsub231ss (%rax), %xmm1, %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.33 vfmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmadd132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmaddsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsub132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfmsub231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfmsubadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vfnmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.33 vfnmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 9 0.50 * vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 64.00 64.00 48.00 48.00 - 64.00 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmaddsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmaddsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsub231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfmsubadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfmsubadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vfnmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vfnmsub231ss (%rax), %xmm1, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-lzcnt.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-lzcnt.s index 0f29ea7..447b895a 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-lzcnt.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-lzcnt.s @@ -18,36 +18,36 @@ lzcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# 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: [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: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 6.00 1.50 1.50 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s index c08b289..c1ad44a 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s @@ -163,234 +163,234 @@ pxor (%rax), %mm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 10 10 4.50 * * * emms -# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx -# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 -# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx -# CHECK-NEXT: 2 1 1.00 * movq %mm0, (%rax) -# CHECK-NEXT: 3 3 2.00 packsswb %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packsswb (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 packssdw %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packssdw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 packuswb %mm0, %mm2 -# CHECK-NEXT: 3 7 2.00 * packuswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 paddsb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * paddsb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 paddsw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * paddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 paddusb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * paddusb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 paddusw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * paddusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pand (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pandn (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpeqb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpeqd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpeqw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpgtb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpgtd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pcmpgtw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmaddwd (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmulhw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmullw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 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 1 0.50 psubb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 psubsb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * psubsb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 psubsw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * psubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 psubusb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * psubusb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 psubusw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * psubusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * 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.50 pxor %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pxor (%rax), %mm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 10 10 4.50 * * * emms +# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx +# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2 +# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx +# CHECK-NEXT: 2 1 1.00 * movq %mm0, (%rax) +# CHECK-NEXT: 3 3 2.00 packsswb %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packsswb (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 packssdw %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packssdw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 packuswb %mm0, %mm2 +# CHECK-NEXT: 3 7 2.00 * packuswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 paddsb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * paddsb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 paddsw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * paddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 paddusb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * paddusb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 paddusw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * paddusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 paddw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pand %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pand (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pandn %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pandn (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpeqb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpeqd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpeqw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpgtb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpgtd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pcmpgtw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmaddwd (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmulhw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmullw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 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 1 0.50 psubb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubd (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 psubsb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * psubsb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 psubsw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * psubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 psubusb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * psubusb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 psubusw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * psubusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psubw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * 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.50 pxor %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pxor (%rax), %mm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 75.50 1.00 23.67 23.67 2.00 41.50 1.00 0.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 4.75 0.25 - - - 4.75 0.25 - 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 movq %mm0, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packsswb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packsswb (%rax), %mm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packssdw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packssdw (%rax), %mm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packuswb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packuswb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddb %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - paddw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pand %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pand (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pandn %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 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.50 - - - - 0.50 - - por %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - psubb %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psubd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - psubw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %mm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pxor %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pxor (%rax), %mm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 4.75 0.25 - - - 4.75 0.25 - 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: - - - - 0.33 0.33 1.00 - - 0.33 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: - - - - 0.33 0.33 1.00 - - 0.33 movq %mm0, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packsswb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packsswb (%rax), %mm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packssdw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packssdw (%rax), %mm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 2.25 0.25 - packuswb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - packuswb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddb %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - paddw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pand %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pand (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pandn %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 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.50 - - - - 0.50 - - por %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - psubb %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psubd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 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: - - 0.50 - - - - 0.50 - - psubw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %mm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pxor %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pxor (%rax), %mm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-popcnt.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-popcnt.s index de7a7f2..61b53fc 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-popcnt.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-popcnt.s @@ -18,36 +18,36 @@ popcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx -# CHECK-NEXT: 2 8 1.00 * popcntw (%rax), %cx -# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx -# CHECK-NEXT: 2 8 1.00 * popcntl (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx -# CHECK-NEXT: 2 8 1.00 * popcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx +# CHECK-NEXT: 2 8 1.00 * popcntw (%rax), %cx +# CHECK-NEXT: 1 3 1.00 popcntl %eax, %ecx +# CHECK-NEXT: 2 8 1.00 * popcntl (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 popcntq %rax, %rcx +# CHECK-NEXT: 2 8 1.00 * popcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - - 6.00 1.50 1.50 - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] 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 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s index eade192..8762d47 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s @@ -193,272 +193,272 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.33 addps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 addss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * addss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 andnps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * andnps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 andps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * andps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 comiss %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * comiss (%rax), %xmm1 -# CHECK-NEXT: 2 6 2.00 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 9 0.50 * cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 2 5 1.00 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 3 6 2.00 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * cvtss2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * cvtss2si (%rax), %rcx -# CHECK-NEXT: 2 5 1.00 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 2 9 0.50 * cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 3 7 1.00 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 3 7 1.00 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * cvttss2si (%rax), %ecx -# CHECK-NEXT: 4 12 1.00 * cvttss2si (%rax), %rcx -# CHECK-NEXT: 1 11 3.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 2 17 5.00 * divps (%rax), %xmm2 -# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 2 16 3.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 4 0.33 maxps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * maxps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 maxss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 minps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * minps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 minss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * minss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movaps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movaps %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax) -# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movups %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movups %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movups (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 mulps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 mulss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * mulss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 orps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * orps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pavgb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pavgb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pavgw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pavgw (%rax), %mm2 -# CHECK-NEXT: 2 3 1.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pmaxsw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pmaxub %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pmaxub (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pminsw %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pminsw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pminub %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pminub (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) -# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) -# CHECK-NEXT: 1 3 1.00 psadbw %mm0, %mm2 -# CHECK-NEXT: 2 8 1.00 * psadbw (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rcpps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 rcpss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * rcpss (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.33 * * * sfence -# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 12 3.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 18 3.00 * sqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 12 3.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 17 3.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax) -# CHECK-NEXT: 1 4 0.33 subps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * subps (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 subss %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * subss (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpcklps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 xorps %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * xorps (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.33 addps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 addss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 andnps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * andnps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 andps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * andps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 comiss %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * comiss (%rax), %xmm1 +# CHECK-NEXT: 2 6 2.00 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 9 0.50 * cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 2 5 1.00 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 3 6 2.00 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * cvtss2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * cvtss2si (%rax), %rcx +# CHECK-NEXT: 2 5 1.00 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 2 9 0.50 * cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 3 7 1.00 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 3 7 1.00 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * cvttss2si (%rax), %ecx +# CHECK-NEXT: 4 12 1.00 * cvttss2si (%rax), %rcx +# CHECK-NEXT: 1 11 3.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 2 17 5.00 * divps (%rax), %xmm2 +# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 2 16 3.00 * divss (%rax), %xmm2 +# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 4 0.33 maxps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 maxss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * maxss (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 minps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 minss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * minss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movaps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movaps %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movlhps %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax) +# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movups %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movups %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movups (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 mulps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 mulss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * mulss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 orps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * orps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pavgb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pavgb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pavgw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pavgw (%rax), %mm2 +# CHECK-NEXT: 2 3 1.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pmaxsw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pmaxub %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pmaxub (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pminsw %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pminsw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pminub %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pminub (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax) +# CHECK-NEXT: 1 5 0.50 * * prefetchnta (%rax) +# CHECK-NEXT: 1 3 1.00 psadbw %mm0, %mm2 +# CHECK-NEXT: 2 8 1.00 * psadbw (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rcpps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 rcpss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * rcpss (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.33 * * * sfence +# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 12 3.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 18 3.00 * sqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 12 3.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 17 3.00 * sqrtss (%rax), %xmm2 +# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax) +# CHECK-NEXT: 1 4 0.33 subps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 subss %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpcklps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 xorps %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * xorps (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 26.00 65.50 18.50 32.00 32.00 8.00 45.50 0.50 3.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andnps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - comiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comiss (%rax), %xmm1 -# CHECK-NEXT: - - 2.00 - - - - - - - cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtps2pi (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvtss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvtss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvtss2si (%rax), %ecx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvtss2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvttps2pi (%rax), %mm2 -# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - cvttss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - cvttss2si %xmm0, %rcx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvttss2si (%rax), %ecx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 1.33 - - cvttss2si (%rax), %rcx -# CHECK-NEXT: - 3.00 1.00 - - - - - - - divps %xmm0, %xmm2 -# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - divps (%rax), %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - divss %xmm0, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - divss (%rax), %xmm2 -# CHECK-NEXT: - - 1.25 0.25 0.50 0.50 - 0.25 0.25 - ldmxcsr (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - maskmovq %mm0, %mm1 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - maxps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - maxps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - maxss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - maxss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - minps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - minps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - minss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - minss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movaps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movaps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movaps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movhlps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movlhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhps (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movmskps %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntps %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntq %mm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - movss %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movss %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movups %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movups %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movups (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - mulps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - mulps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - mulss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - mulss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - orps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - orps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pavgb %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pavgb (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pavgw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pavgw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %mm0, %ecx -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrw $1, %eax, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaxsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaxsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaxub %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaxub (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pminsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pminsw (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pminub %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pminub (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht0 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht1 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht2 (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetchnta (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - psadbw %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - psadbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufw $1, %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufw $1, (%rax), %mm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rcpps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rcpss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtss (%rax), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 - 0.25 0.25 0.33 sfence -# CHECK-NEXT: - - - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufps $1, (%rax), %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - sqrtps %xmm0, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - sqrtps (%rax), %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - sqrtss %xmm0, %xmm2 -# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - sqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 stmxcsr (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - subps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - subps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - subss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - subss (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - ucomiss %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - ucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - unpckhps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - unpcklps %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - xorps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - xorps (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andnps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - comiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comiss (%rax), %xmm1 +# CHECK-NEXT: - - 2.00 - - - - - - - cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtps2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvtss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvtss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvtss2si (%rax), %ecx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvtss2si (%rax), %rcx +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvttps2pi (%rax), %mm2 +# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - cvttss2si %xmm0, %ecx +# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - cvttss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvttss2si (%rax), %ecx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 1.33 - - cvttss2si (%rax), %rcx +# CHECK-NEXT: - 3.00 1.00 - - - - - - - divps %xmm0, %xmm2 +# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - divps (%rax), %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - divss %xmm0, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - divss (%rax), %xmm2 +# CHECK-NEXT: - - 1.25 0.25 0.50 0.50 - 0.25 0.25 - ldmxcsr (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - maskmovq %mm0, %mm1 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - maxps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - maxps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - maxss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - maxss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - minps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - minps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - minss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - minss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movaps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movaps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movhlps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movlhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhps (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movmskps %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntps %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntq %mm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - movss %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movss %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movups %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movups %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movups (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - mulps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - mulps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - mulss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - mulss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - orps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - orps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pavgb %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pavgb (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pavgw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pavgw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %mm0, %ecx +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrw $1, %eax, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaxsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaxsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaxub %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaxub (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pminsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pminsw (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pminub %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pminub (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhuw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhuw (%rax), %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht0 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht1 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetcht2 (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - prefetchnta (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - psadbw %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - psadbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufw $1, %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufw $1, (%rax), %mm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rcpps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rcpss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rcpss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - rsqrtss (%rax), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 - 0.25 0.25 0.33 sfence +# CHECK-NEXT: - - - - - - - 1.00 - - shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufps $1, (%rax), %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - sqrtps %xmm0, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - sqrtps (%rax), %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - sqrtss %xmm0, %xmm2 +# CHECK-NEXT: - 3.00 1.00 - 0.50 0.50 - - - - sqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 stmxcsr (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - subps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - subps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - subss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - subss (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - ucomiss %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - ucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - unpckhps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - unpcklps %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - xorps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - xorps (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s index 1e06de6..d28d0e3 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s @@ -401,552 +401,552 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.33 addpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 addsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * addsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * andnpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax) -# CHECK-NEXT: 1 4 0.33 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 comisd %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * comisd (%rax), %xmm1 -# CHECK-NEXT: 2 5 1.00 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 11 1.00 * cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 2 5 1.00 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %rcx -# CHECK-NEXT: 2 5 1.00 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 3 11 1.00 * cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 3 11 1.00 * cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 4 0.33 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %ecx -# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 14 3.00 divpd %xmm0, %xmm2 -# CHECK-NEXT: 2 20 4.00 * divpd (%rax), %xmm2 -# CHECK-NEXT: 1 14 3.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.50 * * * lfence -# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 4 0.33 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 maxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * maxsd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 minpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * minpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 minsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * minsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movapd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movapd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movdqa %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movdqu %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2 -# CHECK-NEXT: 2 2 1.00 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 2 1 1.00 * movhpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2 -# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax) -# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx -# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax) -# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movq (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movq %xmm0, %rcx -# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax) -# CHECK-NEXT: 2 2 2.00 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax) -# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 movupd %xmm0, %xmm2 -# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax) -# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 mulsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * mulsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 orpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * orpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packssdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packsswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packuswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 paddb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 paddd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.33 paddq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 paddw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * paddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pand (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pandn (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pavgb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pavgw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 4 0.33 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxub (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 4 0.33 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmulhw (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 pmullw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmullw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmuludq (%rax), %mm2 -# CHECK-NEXT: 1 4 0.33 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmuludq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * psadbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pslld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pslld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psllq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psllq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psllw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psllw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrad $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psrad (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psraw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psraw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrld $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psrld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlq $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psrlq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psrlw $1, %xmm2 -# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psrlw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 psubb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 psubd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.33 psubq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 psubw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pxor (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 18 6.00 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 2 24 6.00 * sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 18 6.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 2 23 6.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 subpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 subsd %xmm0, %xmm2 -# CHECK-NEXT: 2 9 0.50 * subsd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 2 7 1.00 * ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * xorpd (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.33 addpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 addsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * andnpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax) +# CHECK-NEXT: 1 4 0.33 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 comisd %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * comisd (%rax), %xmm1 +# CHECK-NEXT: 2 5 1.00 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 11 1.00 * cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 2 5 1.00 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * cvtsd2si (%rax), %rcx +# CHECK-NEXT: 2 5 1.00 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 9 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 3 11 1.00 * cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 3 11 1.00 * cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 4 0.33 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 2 6 1.00 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %ecx +# CHECK-NEXT: 3 11 1.00 * cvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 14 3.00 divpd %xmm0, %xmm2 +# CHECK-NEXT: 2 20 4.00 * divpd (%rax), %xmm2 +# CHECK-NEXT: 1 14 3.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.50 * * * lfence +# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 4 0.33 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 maxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * maxsd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 minpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 minsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * minsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movapd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movapd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movdqa %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movdqu %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movdqu (%rax), %xmm2 +# CHECK-NEXT: 2 2 1.00 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 2 1 1.00 * movhpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movhpd (%rax), %xmm2 +# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax) +# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx +# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax) +# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movq %rax, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movq (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movq %xmm0, %rcx +# CHECK-NEXT: 2 1 1.00 * movq %xmm0, (%rax) +# CHECK-NEXT: 2 2 2.00 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 movsd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movsd %xmm0, (%rax) +# CHECK-NEXT: 1 5 0.50 * movsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 movupd %xmm0, %xmm2 +# CHECK-NEXT: 2 1 1.00 * movupd %xmm0, (%rax) +# CHECK-NEXT: 1 6 0.50 * movupd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 mulsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * mulsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 orpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * orpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packssdw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packssdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packsswb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packsswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packuswb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packuswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 paddb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 paddd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddq %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * paddq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.33 paddq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 paddw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * paddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pand %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pand (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pandn %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pandn (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pavgb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pavgw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 4 0.33 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxub (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 4 0.33 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmulhw (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 pmullw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmullw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmuludq (%rax), %mm2 +# CHECK-NEXT: 1 4 0.33 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmuludq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * psadbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pslld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 pslld %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pslld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psllq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psllq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psllw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psllw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psllw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrad $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrad %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psrad (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psraw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psraw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psraw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrld $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrld %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psrld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlq $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psrlq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psrlw $1, %xmm2 +# CHECK-NEXT: 2 2 1.00 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psrlw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 psubb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 psubd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubq %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psubq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.33 psubq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 psubw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psubw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pxor %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pxor (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 18 6.00 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 2 24 6.00 * sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 18 6.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 2 23 6.00 * sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 subpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 subsd %xmm0, %xmm2 +# CHECK-NEXT: 2 9 0.50 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 2 7 1.00 * ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * xorpd (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 38.00 101.08 69.08 62.67 62.67 14.00 112.08 1.75 4.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andnpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - comisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comisd (%rax), %xmm1 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvtsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvtsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvtsd2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvttsd2si %xmm0, %rcx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvttsd2si (%rax), %ecx -# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvttsd2si (%rax), %rcx -# CHECK-NEXT: - 3.00 1.00 - - - - - - - divpd %xmm0, %xmm2 -# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divpd (%rax), %xmm2 -# CHECK-NEXT: - 3.00 1.00 - - - - - - - divsd %xmm0, %xmm2 -# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - lfence -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - maxpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - maxpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - maxsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - maxsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - minpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - minpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - minsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - minsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movapd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movapd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movd %eax, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movd %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqa %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqa (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqu %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqu (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - movdq2q %xmm0, %mm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movq %rax, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - movq %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 2.00 - - movq2dq %mm0, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movsd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movupd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movupd %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movupd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - mulpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - mulpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - mulsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - mulsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - orpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - orpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packssdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packssdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packsswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packsswb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packuswb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packuswb (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddb (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddq %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddq (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pand %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pand (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmaddwd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxub %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxub (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminub %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminub (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmulhuw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmulhw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmulhw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmullw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmullw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmuludq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmuludq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - por %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - por (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - psadbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - psadbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pslld $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - pslld %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pslld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pslldq $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllq $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllw $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrad $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrad %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrad (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psraw $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psraw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psraw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrld $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrld %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - psrldq $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlq $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlw $1, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubb (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psubq %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubq (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubq (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusw (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtpd (%rax), %xmm2 -# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - subpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - subpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - subsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - subsd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - ucomisd %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - ucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - xorpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - xorpd (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andnpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - comisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comisd (%rax), %xmm1 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvtsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvtsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvtsd2si (%rax), %rcx +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - 1.33 0.33 - - - 0.33 - - cvttsd2si %xmm0, %rcx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvttsd2si (%rax), %ecx +# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - cvttsd2si (%rax), %rcx +# CHECK-NEXT: - 3.00 1.00 - - - - - - - divpd %xmm0, %xmm2 +# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divpd (%rax), %xmm2 +# CHECK-NEXT: - 3.00 1.00 - - - - - - - divsd %xmm0, %xmm2 +# CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - divsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - lfence +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - maxpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - maxpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - maxsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - maxsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - minpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - minpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - minsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - minsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movapd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movapd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movd %eax, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movd %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqa %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqa %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqa (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movdqu %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movdqu %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movdqu (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - movdq2q %xmm0, %mm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movhpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movq %rax, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - movq %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 2.00 - - movq2dq %mm0, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movsd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movupd %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movupd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - mulpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - mulpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - mulsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - mulsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - orpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - orpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packssdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packssdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packsswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packsswb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packuswb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packuswb (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddb (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - paddq %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - paddq (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - paddusw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - paddusw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - paddw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - paddw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pand %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pand (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pandn %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pandn (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pavgw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pavgw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmaddwd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxub %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxub (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminub %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminub (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmulhuw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmulhw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmulhw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmullw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmullw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmuludq %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmuludq (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmuludq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmuludq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - por %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - por (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - psadbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - psadbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pslld $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - pslld %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pslld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pslldq $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllq $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psllw $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psllw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psllw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrad $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrad %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrad (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psraw $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psraw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psraw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrld $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrld %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - psrldq $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlq $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psrlw $1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - psrlw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psrlw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubb (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psubq %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psubq (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psubusw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psubusw (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - psubw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - psubw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckhwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpckldq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpckldq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - punpcklwd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pxor %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pxor (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtpd (%rax), %xmm2 +# CHECK-NEXT: - 6.00 1.00 - - - - - - - sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: - 6.00 1.00 - 0.50 0.50 - - - - sqrtsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - subpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - subpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - subsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - subsd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - ucomisd %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - ucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpckhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - unpcklpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - xorpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - xorpd (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s index c9b0d5a..787638a 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s @@ -38,62 +38,62 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 4 0.33 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * addsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 addsubps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 haddpd %xmm0, %xmm2 -# CHECK-NEXT: 4 12 2.00 * haddpd (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 haddps %xmm0, %xmm2 -# CHECK-NEXT: 4 12 2.00 * haddps (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 4 12 2.00 * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 3 6 2.00 hsubps %xmm0, %xmm2 -# CHECK-NEXT: 4 12 2.00 * hsubps (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 -# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 4 0.33 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * addsubps (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 haddpd %xmm0, %xmm2 +# CHECK-NEXT: 4 12 2.00 * haddpd (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 haddps %xmm0, %xmm2 +# CHECK-NEXT: 4 12 2.00 * haddps (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 4 12 2.00 * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 3 6 2.00 hsubps %xmm0, %xmm2 +# CHECK-NEXT: 4 12 2.00 * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2 +# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 4.00 4.00 5.00 5.00 - 23.00 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addsubps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - haddpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - haddpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - haddps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - haddps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - hsubpd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - hsubps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - hsubps (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - addsubps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - addsubps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - haddpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - haddpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - haddps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - haddps (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - hsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - hsubpd (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - hsubps %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - hsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s index 887b7f8..3f9e6c1 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s @@ -154,216 +154,216 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * blendps $11, (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.67 blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 0.67 * blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.67 blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 0.67 * blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: 4 15 1.00 * dppd $22, (%rax), %xmm2 -# CHECK-NEXT: 4 13 1.33 dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: 5 19 1.33 * dpps $22, (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 extractps $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * extractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * insertps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 6 0.50 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 2 4 2.00 mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 10 2.00 * mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * packusdw (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.67 pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 3 8 0.67 * pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 pextrb $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 pextrd $1, %xmm0, %ecx -# CHECK-NEXT: 3 2 1.00 * pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 2 3 1.00 pextrq $1, %xmm0, %rcx -# CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 4 0.33 phminposuw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * phminposuw (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: 2 2 2.00 pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: 2 6 1.00 * pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pmaxuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pminuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.33 pmuldq %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmuldq (%rax), %xmm2 -# CHECK-NEXT: 2 10 0.67 pmulld %xmm0, %xmm2 -# CHECK-NEXT: 3 16 0.67 * pmulld (%rax), %xmm2 -# CHECK-NEXT: 2 3 1.00 ptest %xmm0, %xmm1 -# CHECK-NEXT: 3 9 1.00 * ptest (%rax), %xmm1 -# CHECK-NEXT: 2 8 0.67 roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 0.67 * roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 0.67 roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 0.67 * roundps $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 0.67 roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 0.67 * roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: 2 8 0.67 roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: 3 14 0.67 * roundss $1, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * blendps $11, (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.67 blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 0.67 * blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.67 blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 0.67 * blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: 4 15 1.00 * dppd $22, (%rax), %xmm2 +# CHECK-NEXT: 4 13 1.33 dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: 5 19 1.33 * dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 extractps $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * extractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * insertps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 6 0.50 * movntdqa (%rax), %xmm2 +# CHECK-NEXT: 2 4 2.00 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 10 2.00 * mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * packusdw (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.67 pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 3 8 0.67 * pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 pextrb $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 pextrd $1, %xmm0, %ecx +# CHECK-NEXT: 3 2 1.00 * pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 2 3 1.00 pextrq $1, %xmm0, %rcx +# CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 4 0.33 phminposuw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * phminposuw (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: 2 2 2.00 pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: 2 6 1.00 * pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pmaxuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pminuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.33 pmuldq %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmuldq (%rax), %xmm2 +# CHECK-NEXT: 2 10 0.67 pmulld %xmm0, %xmm2 +# CHECK-NEXT: 3 16 0.67 * pmulld (%rax), %xmm2 +# CHECK-NEXT: 2 3 1.00 ptest %xmm0, %xmm1 +# CHECK-NEXT: 3 9 1.00 * ptest (%rax), %xmm1 +# CHECK-NEXT: 2 8 0.67 roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 0.67 * roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 0.67 roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 0.67 * roundps $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 0.67 roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 0.67 * roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: 2 8 0.67 roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: 3 14 0.67 * roundss $1, (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 31.67 25.67 23.67 23.67 5.00 74.67 - 1.67 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendps $11, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 1.67 - - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 1.67 - - dppd $22, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 1.00 - - - 2.00 - - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 2.00 - - dpps $22, (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - extractps $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 extractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - insertps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - - - - movntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - packusdw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packusdw (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - phminposuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - phminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 2.00 - - pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxud %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxud (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxuw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminud %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminud (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminuw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmuldq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmuldq (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - pmulld %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - pmulld (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - roundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - roundss $1, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendps $11, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 1.67 - - dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 1.67 - - dppd $22, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 1.00 - - - 2.00 - - dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 2.00 - - dpps $22, (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - extractps $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 extractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - insertps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - - - - movntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - packusdw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packusdw (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - phminposuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - phminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 2.00 - - pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxud %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxud (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxuw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminud %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminud (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pminuw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmuldq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmuldq (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - pmulld %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - pmulld (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - roundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - roundss $1, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s index c7cc040..1f83ebd 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s @@ -39,64 +39,64 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx -# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx -# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx -# CHECK-NEXT: 8 18 4.00 pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 9 24 4.00 * pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 9 19 4.00 pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 10 25 4.00 * pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 3 10 3.00 pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 16 3.00 * pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 3 10 3.00 pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 4 16 3.00 * pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.00 * pcmpgtq (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32l (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx +# CHECK-NEXT: 2 8 1.00 * crc32w (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32b (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx +# CHECK-NEXT: 2 8 1.00 * crc32q (%rax), %rcx +# CHECK-NEXT: 8 18 4.00 pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 9 24 4.00 * pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 9 19 4.00 pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 10 25 4.00 * pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 3 10 3.00 pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 3 10 3.00 pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 4 16 3.00 * pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.00 * pcmpgtq (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 29.67 11.67 5.00 5.00 - 15.67 1.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32l %eax, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32l (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32w %ax, %ecx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32w (%rax), %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - crc32q %rax, %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32q (%rax), %rcx -# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pcmpgtq (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32l %eax, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32l (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32w %ax, %ecx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32w (%rax), %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32b %al, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32b (%rax), %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - crc32q %rax, %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - crc32q (%rax), %rcx +# CHECK-NEXT: - - 4.25 0.25 - - - 3.25 0.25 - pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.25 0.25 0.50 0.50 - 3.25 0.25 - pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 4.58 0.58 - - - 3.58 0.25 - pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 4.58 0.58 0.50 0.50 - 3.58 0.25 - pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - 3.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pcmpgtq (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s index 2df2752..af55604 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s @@ -105,152 +105,152 @@ psignw (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * pabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddd %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddd %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phaddd (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddsw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phaddw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phaddw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phaddw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubd %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubd %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phsubd (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubsw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 3 3 2.00 phsubw %mm0, %mm2 -# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2 -# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2 -# CHECK-NEXT: 4 9 2.00 * phsubw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 1 4 0.33 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 2 9 1.00 * pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 1 4 0.33 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 -# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 1.00 * pshufb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 -# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 -# CHECK-NEXT: 2 7 0.50 * psignw (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pabsw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * pabsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * pabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddd %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddd (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddd %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phaddd (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddsw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddsw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phaddw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phaddw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phaddw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phaddw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubd %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubd (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubd %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phsubd (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubsw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubsw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 3 3 2.00 phsubw %mm0, %mm2 +# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2 +# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2 +# CHECK-NEXT: 4 9 2.00 * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 1 4 0.33 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 2 9 1.00 * pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 1 4 0.33 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2 +# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 1.00 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignd %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignd %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 psignw %mm0, %mm2 +# CHECK-NEXT: 2 6 0.50 * psignw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 psignw %xmm0, %xmm2 +# CHECK-NEXT: 2 7 0.50 * psignw (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - - 30.00 12.00 16.00 16.00 - 70.00 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsb %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsd (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phaddd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phaddd (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phaddd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phaddd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - phaddsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - phaddsw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - phaddsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phaddw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phaddw (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phaddw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phaddw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phsubd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phsubd (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phsubd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phsubd (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - 2.00 - - phsubsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - phsubsw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - phsubsw (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phsubw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phsubw (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phsubw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phsubw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %mm0, %mm2 -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %mm0, %mm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %xmm0, %xmm2 -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignb %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignb (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignb %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignb (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignd %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignd (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignd (%rax), %xmm2 -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignw %mm0, %mm2 -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignw (%rax), %mm2 -# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignw %xmm0, %xmm2 -# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignw (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsb %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsd (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - pabsw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - pabsw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - pabsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - palignr $1, (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phaddd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phaddd (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phaddd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phaddd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - phaddsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - phaddsw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - phaddsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phaddw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phaddw (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phaddw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phaddw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phsubd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phsubd (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phsubd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phsubd (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - 2.00 - - phsubsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 2.00 - - phsubsw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - phsubsw (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 2.50 - - phsubw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 2.50 - - phsubw (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - phsubw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - phsubw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmaddubsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmaddubsw (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: - - 1.00 - - - - - - - pmulhrsw %mm0, %mm2 +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - pmulhrsw (%rax), %mm2 +# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %mm0, %mm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - pshufb %xmm0, %xmm2 +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pshufb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignb %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignb (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignb %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignb (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignd %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignd (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - psignw %mm0, %mm2 +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - psignw (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - - - - psignw %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - psignw (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s index 7199cee..bf5c6a7 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s @@ -606,1102 +606,1102 @@ xorq (%rax), %rdi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 2 2 0.50 adcb $7, %al -# CHECK-NEXT: 2 2 0.50 adcb $7, %dil -# CHECK-NEXT: 6 8 1.00 * * adcb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil -# CHECK-NEXT: 6 8 1.00 * * adcb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 adcw $511, %ax -# CHECK-NEXT: 1 1 0.50 adcw $511, %di -# CHECK-NEXT: 6 8 1.00 * * adcw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw $7, %di -# CHECK-NEXT: 6 8 1.00 * * adcw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcw %di, %di -# CHECK-NEXT: 6 8 1.00 * * adcw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax -# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi -# CHECK-NEXT: 6 8 1.00 * * adcl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl $7, %edi -# CHECK-NEXT: 6 8 1.00 * * adcl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi -# CHECK-NEXT: 6 8 1.00 * * adcl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax -# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi -# CHECK-NEXT: 6 8 1.00 * * adcq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi -# CHECK-NEXT: 6 8 1.00 * * adcq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi -# CHECK-NEXT: 6 8 1.00 * * adcq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * adcq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 addb $7, %al -# CHECK-NEXT: 1 1 0.25 addb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 addw $511, %ax -# CHECK-NEXT: 1 1 0.25 addw $511, %di -# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 addw $7, %di -# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addw %di, %di -# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di -# CHECK-NEXT: 1 1 0.25 addl $665536, %eax -# CHECK-NEXT: 1 1 0.25 addl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 addq $665536, %rax -# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 andb $7, %al -# CHECK-NEXT: 1 1 0.25 andb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 andw $511, %ax -# CHECK-NEXT: 1 1 0.25 andw $511, %di -# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 andw $7, %di -# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andw %di, %di -# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di -# CHECK-NEXT: 1 1 0.25 andl $665536, %eax -# CHECK-NEXT: 1 1 0.25 andl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 andq $665536, %rax -# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi -# CHECK-NEXT: 1 1 0.50 btw %si, %di -# CHECK-NEXT: 1 1 0.50 btcw %si, %di -# CHECK-NEXT: 1 1 0.50 btrw %si, %di -# CHECK-NEXT: 1 1 0.50 btsw %si, %di -# CHECK-NEXT: 2 6 0.50 * btw %si, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btcw %si, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btrw %si, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btsw %si, (%rax) -# CHECK-NEXT: 1 1 0.50 btw $7, %di -# CHECK-NEXT: 1 1 0.50 btcw $7, %di -# CHECK-NEXT: 1 1 0.50 btrw $7, %di -# CHECK-NEXT: 1 1 0.50 btsw $7, %di -# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btcw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btrw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btsw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi -# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi -# CHECK-NEXT: 2 6 0.50 * btl %esi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btcl %esi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btrl %esi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btsl %esi, (%rax) -# CHECK-NEXT: 1 1 0.50 btl $7, %edi -# CHECK-NEXT: 1 1 0.50 btcl $7, %edi -# CHECK-NEXT: 1 1 0.50 btrl $7, %edi -# CHECK-NEXT: 1 1 0.50 btsl $7, %edi -# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btcl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btrl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btsl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi -# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi -# CHECK-NEXT: 2 6 0.50 * btq %rsi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btcq %rsi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btrq %rsi, (%rax) -# CHECK-NEXT: 3 6 1.00 * * btsq %rsi, (%rax) -# CHECK-NEXT: 1 1 0.50 btq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi -# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi -# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 decb %dil -# CHECK-NEXT: 3 7 1.00 * * decb (%rax) -# CHECK-NEXT: 1 1 0.25 decw %di -# CHECK-NEXT: 3 7 1.00 * * decw (%rax) -# CHECK-NEXT: 1 1 0.25 decl %edi -# CHECK-NEXT: 3 7 1.00 * * decl (%rax) -# CHECK-NEXT: 1 1 0.25 decq %rdi -# CHECK-NEXT: 3 7 1.00 * * decq (%rax) -# CHECK-NEXT: 1 25 10.00 * divb %dil -# CHECK-NEXT: 2 29 10.00 * * divb (%rax) -# CHECK-NEXT: 32 76 8.00 * divw %si -# CHECK-NEXT: 2 29 10.00 * * divw (%rax) -# CHECK-NEXT: 32 76 8.00 * divl %edx -# CHECK-NEXT: 2 29 10.00 * * divl (%rax) -# CHECK-NEXT: 32 76 8.00 * divq %rcx -# CHECK-NEXT: 2 29 10.00 * * divq (%rax) -# CHECK-NEXT: 1 25 10.00 * idivb %dil -# CHECK-NEXT: 8 28 4.00 * * idivb (%rax) -# CHECK-NEXT: 66 102 16.50 * idivw %si -# CHECK-NEXT: 8 28 4.00 * * idivw (%rax) -# CHECK-NEXT: 66 102 16.50 * idivl %edx -# CHECK-NEXT: 8 28 4.00 * * idivl (%rax) -# CHECK-NEXT: 66 102 16.50 * idivq %rcx -# CHECK-NEXT: 8 28 4.00 * * idivq (%rax) -# CHECK-NEXT: 1 3 1.00 imulb %dil -# CHECK-NEXT: 2 8 1.00 * imulb (%rax) -# CHECK-NEXT: 4 4 1.00 imulw %di -# CHECK-NEXT: 5 9 1.00 * imulw (%rax) -# CHECK-NEXT: 1 3 1.00 imulw %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di -# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di -# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di -# CHECK-NEXT: 3 4 1.00 imull %edi -# CHECK-NEXT: 4 9 1.00 * imull (%rax) -# CHECK-NEXT: 1 3 1.00 imull %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi -# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi -# CHECK-NEXT: 2 4 1.00 imulq %rdi -# CHECK-NEXT: 3 9 1.00 * imulq (%rax) -# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi -# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 incb %dil -# CHECK-NEXT: 3 7 1.00 * * incb (%rax) -# CHECK-NEXT: 1 1 0.25 incw %di -# CHECK-NEXT: 3 7 1.00 * * incw (%rax) -# CHECK-NEXT: 1 1 0.25 incl %edi -# CHECK-NEXT: 3 7 1.00 * * incl (%rax) -# CHECK-NEXT: 1 1 0.25 incq %rdi -# CHECK-NEXT: 3 7 1.00 * * incq (%rax) -# CHECK-NEXT: 1 3 1.00 mulb %dil -# CHECK-NEXT: 2 8 1.00 * mulb (%rax) -# CHECK-NEXT: 4 4 1.00 mulw %si -# CHECK-NEXT: 5 9 1.00 * mulw (%rax) -# CHECK-NEXT: 3 4 1.00 mull %edx -# CHECK-NEXT: 4 9 1.00 * mull (%rax) -# CHECK-NEXT: 2 4 1.00 mulq %rcx -# CHECK-NEXT: 3 9 1.00 * mulq (%rax) -# CHECK-NEXT: 1 1 0.25 negb %dil -# CHECK-NEXT: 3 7 1.00 * * negb (%r8) -# CHECK-NEXT: 1 1 0.25 negw %si -# CHECK-NEXT: 3 7 1.00 * * negw (%r9) -# CHECK-NEXT: 1 1 0.25 negl %edx -# CHECK-NEXT: 3 7 1.00 * * negl (%rax) -# CHECK-NEXT: 1 1 0.25 negq %rcx -# CHECK-NEXT: 3 7 1.00 * * negq (%r10) -# CHECK-NEXT: 1 1 0.25 nop -# CHECK-NEXT: 1 1 0.25 nopw %di -# CHECK-NEXT: 1 1 0.25 nopw (%rcx) -# CHECK-NEXT: 1 1 0.25 nopl %esi -# CHECK-NEXT: 1 1 0.25 nopl (%r8) -# CHECK-NEXT: 1 1 0.25 nopq %rdx -# CHECK-NEXT: 1 1 0.25 nopq (%r9) -# CHECK-NEXT: 1 1 0.25 notb %dil -# CHECK-NEXT: 3 7 1.00 * * notb (%r8) -# CHECK-NEXT: 1 1 0.25 notw %si -# CHECK-NEXT: 3 7 1.00 * * notw (%r9) -# CHECK-NEXT: 1 1 0.25 notl %edx -# CHECK-NEXT: 3 7 1.00 * * notl (%rax) -# CHECK-NEXT: 1 1 0.25 notq %rcx -# CHECK-NEXT: 3 7 1.00 * * notq (%r10) -# CHECK-NEXT: 1 1 0.25 orb $7, %al -# CHECK-NEXT: 1 1 0.25 orb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 orw $511, %ax -# CHECK-NEXT: 1 1 0.25 orw $511, %di -# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 orw $7, %di -# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orw %di, %di -# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di -# CHECK-NEXT: 1 1 0.25 orl $665536, %eax -# CHECK-NEXT: 1 1 0.25 orl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 orq $665536, %rax -# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi -# CHECK-NEXT: 3 3 0.75 rclb %dil -# CHECK-NEXT: 3 3 0.75 rcrb %dil -# CHECK-NEXT: 5 8 0.75 * rclb (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrb (%rax) -# CHECK-NEXT: 3 3 0.75 rclb $7, %dil -# CHECK-NEXT: 3 3 0.75 rcrb $7, %dil -# CHECK-NEXT: 5 8 0.75 * rclb $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrb $7, (%rax) -# CHECK-NEXT: 9 11 2.50 rclb %cl, %dil -# CHECK-NEXT: 10 14 2.50 rcrb %cl, %dil -# CHECK-NEXT: 10 15 2.50 * rclb %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrb %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rclw %di -# CHECK-NEXT: 3 3 0.75 rcrw %di -# CHECK-NEXT: 5 8 0.75 * rclw (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrw (%rax) -# CHECK-NEXT: 3 3 0.75 rclw $7, %di -# CHECK-NEXT: 3 3 0.75 rcrw $7, %di -# CHECK-NEXT: 5 8 0.75 * rclw $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrw $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rclw %cl, %di -# CHECK-NEXT: 7 11 2.00 rcrw %cl, %di -# CHECK-NEXT: 10 15 2.50 * rclw %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrw %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rcll %edi -# CHECK-NEXT: 3 3 0.75 rcrl %edi -# CHECK-NEXT: 5 8 0.75 * rcll (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrl (%rax) -# CHECK-NEXT: 3 3 0.75 rcll $7, %edi -# CHECK-NEXT: 3 3 0.75 rcrl $7, %edi -# CHECK-NEXT: 5 8 0.75 * rcll $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrl $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rcll %cl, %edi -# CHECK-NEXT: 7 11 2.00 rcrl %cl, %edi -# CHECK-NEXT: 10 15 2.50 * rcll %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrl %cl, (%rax) -# CHECK-NEXT: 3 3 0.75 rclq %rdi -# CHECK-NEXT: 3 3 0.75 rcrq %rdi -# CHECK-NEXT: 5 8 0.75 * rclq (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrq (%rax) -# CHECK-NEXT: 3 3 0.75 rclq $7, %rdi -# CHECK-NEXT: 3 3 0.75 rcrq $7, %rdi -# CHECK-NEXT: 5 8 0.75 * rclq $7, (%rax) -# CHECK-NEXT: 5 8 0.75 * rcrq $7, (%rax) -# CHECK-NEXT: 7 11 2.00 rclq %cl, %rdi -# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi -# CHECK-NEXT: 10 15 2.50 * rclq %cl, (%rax) -# CHECK-NEXT: 11 18 2.25 * rcrq %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolb %dil -# CHECK-NEXT: 2 2 1.00 rorb %dil -# CHECK-NEXT: 5 7 1.00 * * rolb (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorb (%rax) -# CHECK-NEXT: 2 2 1.00 rolb $7, %dil -# CHECK-NEXT: 2 2 1.00 rorb $7, %dil -# CHECK-NEXT: 5 7 1.00 * * rolb $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorb $7, (%rax) -# CHECK-NEXT: 3 3 1.50 rolb %cl, %dil -# CHECK-NEXT: 3 3 1.50 rorb %cl, %dil -# CHECK-NEXT: 6 8 1.50 * * rolb %cl, (%rax) -# CHECK-NEXT: 5 8 1.50 * * rorb %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolw %di -# CHECK-NEXT: 2 2 1.00 rorw %di -# CHECK-NEXT: 5 7 1.00 * * rolw (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorw (%rax) -# CHECK-NEXT: 2 2 1.00 rolw $7, %di -# CHECK-NEXT: 2 2 1.00 rorw $7, %di -# CHECK-NEXT: 5 7 1.00 * * rolw $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorw $7, (%rax) -# CHECK-NEXT: 3 3 1.50 rolw %cl, %di -# CHECK-NEXT: 3 3 1.50 rorw %cl, %di -# CHECK-NEXT: 6 8 1.50 * * rolw %cl, (%rax) -# CHECK-NEXT: 5 8 1.50 * * rorw %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 roll %edi -# CHECK-NEXT: 2 2 1.00 rorl %edi -# CHECK-NEXT: 5 7 1.00 * * roll (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorl (%rax) -# CHECK-NEXT: 2 2 1.00 roll $7, %edi -# CHECK-NEXT: 2 2 1.00 rorl $7, %edi -# CHECK-NEXT: 5 7 1.00 * * roll $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorl $7, (%rax) -# CHECK-NEXT: 3 3 1.50 roll %cl, %edi -# CHECK-NEXT: 3 3 1.50 rorl %cl, %edi -# CHECK-NEXT: 6 8 1.50 * * roll %cl, (%rax) -# CHECK-NEXT: 5 8 1.50 * * rorl %cl, (%rax) -# CHECK-NEXT: 2 2 1.00 rolq %rdi -# CHECK-NEXT: 2 2 1.00 rorq %rdi -# CHECK-NEXT: 5 7 1.00 * * rolq (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorq (%rax) -# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi -# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi -# CHECK-NEXT: 5 7 1.00 * * rolq $7, (%rax) -# CHECK-NEXT: 5 7 1.00 * * rorq $7, (%rax) -# CHECK-NEXT: 3 3 1.50 rolq %cl, %rdi -# CHECK-NEXT: 3 3 1.50 rorq %cl, %rdi -# CHECK-NEXT: 6 8 1.50 * * rolq %cl, (%rax) -# CHECK-NEXT: 5 8 1.50 * * rorq %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarb %dil -# CHECK-NEXT: 1 1 0.50 shlb %dil -# CHECK-NEXT: 1 1 0.50 shrb %dil -# CHECK-NEXT: 4 6 1.00 * * sarb (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlb (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrb (%rax) -# CHECK-NEXT: 1 1 0.50 sarb $7, %dil -# CHECK-NEXT: 1 1 0.50 shlb $7, %dil -# CHECK-NEXT: 1 1 0.50 shrb $7, %dil -# CHECK-NEXT: 4 6 1.00 * * sarb $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlb $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrb $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarb %cl, %dil -# CHECK-NEXT: 3 3 1.50 shlb %cl, %dil -# CHECK-NEXT: 3 3 1.50 shrb %cl, %dil -# CHECK-NEXT: 6 8 1.50 * * sarb %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shlb %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarw %di -# CHECK-NEXT: 1 1 0.50 shlw %di -# CHECK-NEXT: 1 1 0.50 shrw %di -# CHECK-NEXT: 4 6 1.00 * * sarw (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlw (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrw (%rax) -# CHECK-NEXT: 1 1 0.50 sarw $7, %di -# CHECK-NEXT: 1 1 0.50 shlw $7, %di -# CHECK-NEXT: 1 1 0.50 shrw $7, %di -# CHECK-NEXT: 4 6 1.00 * * sarw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlw $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrw $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarw %cl, %di -# CHECK-NEXT: 3 3 1.50 shlw %cl, %di -# CHECK-NEXT: 3 3 1.50 shrw %cl, %di -# CHECK-NEXT: 6 8 1.50 * * sarw %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shlw %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarl %edi -# CHECK-NEXT: 1 1 0.50 shll %edi -# CHECK-NEXT: 1 1 0.50 shrl %edi -# CHECK-NEXT: 4 6 1.00 * * sarl (%rax) -# CHECK-NEXT: 4 6 1.00 * * shll (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrl (%rax) -# CHECK-NEXT: 1 1 0.50 sarl $7, %edi -# CHECK-NEXT: 1 1 0.50 shll $7, %edi -# CHECK-NEXT: 1 1 0.50 shrl $7, %edi -# CHECK-NEXT: 4 6 1.00 * * sarl $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shll $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrl $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarl %cl, %edi -# CHECK-NEXT: 3 3 1.50 shll %cl, %edi -# CHECK-NEXT: 3 3 1.50 shrl %cl, %edi -# CHECK-NEXT: 6 8 1.50 * * sarl %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shll %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.50 sarq %rdi -# CHECK-NEXT: 1 1 0.50 shlq %rdi -# CHECK-NEXT: 1 1 0.50 shrq %rdi -# CHECK-NEXT: 4 6 1.00 * * sarq (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlq (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrq (%rax) -# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi -# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi -# CHECK-NEXT: 4 6 1.00 * * sarq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shlq $7, (%rax) -# CHECK-NEXT: 4 6 1.00 * * shrq $7, (%rax) -# CHECK-NEXT: 3 3 1.50 sarq %cl, %rdi -# CHECK-NEXT: 3 3 1.50 shlq %cl, %rdi -# CHECK-NEXT: 3 3 1.50 shrq %cl, %rdi -# CHECK-NEXT: 6 8 1.50 * * sarq %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shlq %cl, (%rax) -# CHECK-NEXT: 6 8 1.50 * * shrq %cl, (%rax) -# CHECK-NEXT: 2 2 0.50 sbbb $7, %al -# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil -# CHECK-NEXT: 6 8 1.00 * * sbbb $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil -# CHECK-NEXT: 6 8 1.00 * * sbbb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax -# CHECK-NEXT: 1 1 0.50 sbbw $511, %di -# CHECK-NEXT: 6 8 1.00 * * sbbw $511, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw $7, %di -# CHECK-NEXT: 6 8 1.00 * * sbbw $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbw %di, %di -# CHECK-NEXT: 6 8 1.00 * * sbbw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax -# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi -# CHECK-NEXT: 6 8 1.00 * * sbbl $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi -# CHECK-NEXT: 6 8 1.00 * * sbbl $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi -# CHECK-NEXT: 6 8 1.00 * * sbbl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax -# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi -# CHECK-NEXT: 6 8 1.00 * * sbbq $665536, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi -# CHECK-NEXT: 6 8 1.00 * * sbbq $7, (%rax) -# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi -# CHECK-NEXT: 6 8 1.00 * * sbbq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * sbbq (%rax), %rdi -# CHECK-NEXT: 4 6 1.00 shldw %cl, %si, %di -# CHECK-NEXT: 4 6 1.00 shrdw %cl, %si, %di -# CHECK-NEXT: 6 11 1.00 * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 6 11 1.00 * * shrdw %cl, %si, (%rax) -# CHECK-NEXT: 1 3 1.00 shldw $7, %si, %di -# CHECK-NEXT: 1 3 1.00 shrdw $7, %si, %di -# CHECK-NEXT: 4 9 1.00 * * shldw $7, %si, (%rax) -# CHECK-NEXT: 4 9 1.00 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 4 6 1.00 shldl %cl, %esi, %edi -# CHECK-NEXT: 4 6 1.00 shrdl %cl, %esi, %edi -# CHECK-NEXT: 6 11 1.00 * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 6 11 1.00 * * shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 1 3 1.00 shldl $7, %esi, %edi -# CHECK-NEXT: 1 3 1.00 shrdl $7, %esi, %edi -# CHECK-NEXT: 4 9 1.00 * * shldl $7, %esi, (%rax) -# CHECK-NEXT: 4 9 1.00 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 4 6 1.00 shldq %cl, %rsi, %rdi -# CHECK-NEXT: 4 6 1.00 shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 6 11 1.00 * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 6 11 1.00 * * shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 3 1.00 shldq $7, %rsi, %rdi -# CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 4 9 1.00 * * shldq $7, %rsi, (%rax) -# CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.25 subb $7, %al -# CHECK-NEXT: 1 1 0.25 subb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 subw $511, %ax -# CHECK-NEXT: 1 1 0.25 subw $511, %di -# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 subw $7, %di -# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subw %di, %di -# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di -# CHECK-NEXT: 1 1 0.25 subl $665536, %eax -# CHECK-NEXT: 1 1 0.25 subl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 subq $665536, %rax -# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 xorb $7, %al -# CHECK-NEXT: 1 1 0.25 xorb $7, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil -# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 xorw $511, %ax -# CHECK-NEXT: 1 1 0.25 xorw $511, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw $7, %di -# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw %di, %di -# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di -# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax -# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl $7, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi -# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi -# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) -# CHECK-NEXT: 2 6 0.50 * xorq (%rax), %rdi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 2 2 0.50 adcb $7, %al +# CHECK-NEXT: 2 2 0.50 adcb $7, %dil +# CHECK-NEXT: 6 8 1.00 * * adcb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcb %dil, %dil +# CHECK-NEXT: 6 8 1.00 * * adcb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 adcw $511, %ax +# CHECK-NEXT: 1 1 0.50 adcw $511, %di +# CHECK-NEXT: 6 8 1.00 * * adcw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw $7, %di +# CHECK-NEXT: 6 8 1.00 * * adcw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcw %di, %di +# CHECK-NEXT: 6 8 1.00 * * adcw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcw (%rax), %di +# CHECK-NEXT: 1 1 0.50 adcl $665536, %eax +# CHECK-NEXT: 1 1 0.50 adcl $665536, %edi +# CHECK-NEXT: 6 8 1.00 * * adcl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl $7, %edi +# CHECK-NEXT: 6 8 1.00 * * adcl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcl %edi, %edi +# CHECK-NEXT: 6 8 1.00 * * adcl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rax +# CHECK-NEXT: 1 1 0.50 adcq $665536, %rdi +# CHECK-NEXT: 6 8 1.00 * * adcq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq $7, %rdi +# CHECK-NEXT: 6 8 1.00 * * adcq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 adcq %rdi, %rdi +# CHECK-NEXT: 6 8 1.00 * * adcq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * adcq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 addb $7, %al +# CHECK-NEXT: 1 1 0.25 addb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * addb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * addb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * addb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 addw $511, %ax +# CHECK-NEXT: 1 1 0.25 addw $511, %di +# CHECK-NEXT: 3 7 1.00 * * addw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 addw $7, %di +# CHECK-NEXT: 3 7 1.00 * * addw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addw %di, %di +# CHECK-NEXT: 3 7 1.00 * * addw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * addw (%rax), %di +# CHECK-NEXT: 1 1 0.25 addl $665536, %eax +# CHECK-NEXT: 1 1 0.25 addl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * addl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * addl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 addq $665536, %rax +# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * addq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * addq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 andb $7, %al +# CHECK-NEXT: 1 1 0.25 andb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * andb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * andb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * andb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 andw $511, %ax +# CHECK-NEXT: 1 1 0.25 andw $511, %di +# CHECK-NEXT: 3 7 1.00 * * andw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 andw $7, %di +# CHECK-NEXT: 3 7 1.00 * * andw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andw %di, %di +# CHECK-NEXT: 3 7 1.00 * * andw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * andw (%rax), %di +# CHECK-NEXT: 1 1 0.25 andl $665536, %eax +# CHECK-NEXT: 1 1 0.25 andl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * andl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * andl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 andq $665536, %rax +# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * andq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * andq (%rax), %rdi +# CHECK-NEXT: 1 1 0.50 btw %si, %di +# CHECK-NEXT: 1 1 0.50 btcw %si, %di +# CHECK-NEXT: 1 1 0.50 btrw %si, %di +# CHECK-NEXT: 1 1 0.50 btsw %si, %di +# CHECK-NEXT: 2 6 0.50 * btw %si, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btcw %si, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btrw %si, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btsw %si, (%rax) +# CHECK-NEXT: 1 1 0.50 btw $7, %di +# CHECK-NEXT: 1 1 0.50 btcw $7, %di +# CHECK-NEXT: 1 1 0.50 btrw $7, %di +# CHECK-NEXT: 1 1 0.50 btsw $7, %di +# CHECK-NEXT: 2 6 0.50 * btw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btcw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btrw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btsw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btcl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btrl %esi, %edi +# CHECK-NEXT: 1 1 0.50 btsl %esi, %edi +# CHECK-NEXT: 2 6 0.50 * btl %esi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btcl %esi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btrl %esi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btsl %esi, (%rax) +# CHECK-NEXT: 1 1 0.50 btl $7, %edi +# CHECK-NEXT: 1 1 0.50 btcl $7, %edi +# CHECK-NEXT: 1 1 0.50 btrl $7, %edi +# CHECK-NEXT: 1 1 0.50 btsl $7, %edi +# CHECK-NEXT: 2 6 0.50 * btl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btcl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btrl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btsl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 btq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btcq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btrq %rsi, %rdi +# CHECK-NEXT: 1 1 0.50 btsq %rsi, %rdi +# CHECK-NEXT: 2 6 0.50 * btq %rsi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btcq %rsi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btrq %rsi, (%rax) +# CHECK-NEXT: 3 6 1.00 * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 1 0.50 btq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btcq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btrq $7, %rdi +# CHECK-NEXT: 1 1 0.50 btsq $7, %rdi +# CHECK-NEXT: 2 6 0.50 * btq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 decb %dil +# CHECK-NEXT: 3 7 1.00 * * decb (%rax) +# CHECK-NEXT: 1 1 0.25 decw %di +# CHECK-NEXT: 3 7 1.00 * * decw (%rax) +# CHECK-NEXT: 1 1 0.25 decl %edi +# CHECK-NEXT: 3 7 1.00 * * decl (%rax) +# CHECK-NEXT: 1 1 0.25 decq %rdi +# CHECK-NEXT: 3 7 1.00 * * decq (%rax) +# CHECK-NEXT: 1 25 10.00 * divb %dil +# CHECK-NEXT: 2 29 10.00 * * divb (%rax) +# CHECK-NEXT: 32 76 8.00 * divw %si +# CHECK-NEXT: 2 29 10.00 * * divw (%rax) +# CHECK-NEXT: 32 76 8.00 * divl %edx +# CHECK-NEXT: 2 29 10.00 * * divl (%rax) +# CHECK-NEXT: 32 76 8.00 * divq %rcx +# CHECK-NEXT: 2 29 10.00 * * divq (%rax) +# CHECK-NEXT: 1 25 10.00 * idivb %dil +# CHECK-NEXT: 8 28 4.00 * * idivb (%rax) +# CHECK-NEXT: 66 102 16.50 * idivw %si +# CHECK-NEXT: 8 28 4.00 * * idivw (%rax) +# CHECK-NEXT: 66 102 16.50 * idivl %edx +# CHECK-NEXT: 8 28 4.00 * * idivl (%rax) +# CHECK-NEXT: 66 102 16.50 * idivq %rcx +# CHECK-NEXT: 8 28 4.00 * * idivq (%rax) +# CHECK-NEXT: 1 3 1.00 imulb %dil +# CHECK-NEXT: 2 8 1.00 * imulb (%rax) +# CHECK-NEXT: 4 4 1.00 imulw %di +# CHECK-NEXT: 5 9 1.00 * imulw (%rax) +# CHECK-NEXT: 1 3 1.00 imulw %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $511, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $511, (%rax), %di +# CHECK-NEXT: 2 4 1.00 imulw $7, %di, %di +# CHECK-NEXT: 3 8 1.00 * imulw $7, (%rax), %di +# CHECK-NEXT: 3 4 1.00 imull %edi +# CHECK-NEXT: 4 9 1.00 * imull (%rax) +# CHECK-NEXT: 1 3 1.00 imull %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $665536, (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi +# CHECK-NEXT: 2 8 1.00 * imull $7, (%rax), %edi +# CHECK-NEXT: 2 4 1.00 imulq %rdi +# CHECK-NEXT: 3 9 1.00 * imulq (%rax) +# CHECK-NEXT: 1 3 1.00 imulq %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $665536, (%rax), %rdi +# CHECK-NEXT: 1 3 1.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 2 8 1.00 * imulq $7, (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 incb %dil +# CHECK-NEXT: 3 7 1.00 * * incb (%rax) +# CHECK-NEXT: 1 1 0.25 incw %di +# CHECK-NEXT: 3 7 1.00 * * incw (%rax) +# CHECK-NEXT: 1 1 0.25 incl %edi +# CHECK-NEXT: 3 7 1.00 * * incl (%rax) +# CHECK-NEXT: 1 1 0.25 incq %rdi +# CHECK-NEXT: 3 7 1.00 * * incq (%rax) +# CHECK-NEXT: 1 3 1.00 mulb %dil +# CHECK-NEXT: 2 8 1.00 * mulb (%rax) +# CHECK-NEXT: 4 4 1.00 mulw %si +# CHECK-NEXT: 5 9 1.00 * mulw (%rax) +# CHECK-NEXT: 3 4 1.00 mull %edx +# CHECK-NEXT: 4 9 1.00 * mull (%rax) +# CHECK-NEXT: 2 4 1.00 mulq %rcx +# CHECK-NEXT: 3 9 1.00 * mulq (%rax) +# CHECK-NEXT: 1 1 0.25 negb %dil +# CHECK-NEXT: 3 7 1.00 * * negb (%r8) +# CHECK-NEXT: 1 1 0.25 negw %si +# CHECK-NEXT: 3 7 1.00 * * negw (%r9) +# CHECK-NEXT: 1 1 0.25 negl %edx +# CHECK-NEXT: 3 7 1.00 * * negl (%rax) +# CHECK-NEXT: 1 1 0.25 negq %rcx +# CHECK-NEXT: 3 7 1.00 * * negq (%r10) +# CHECK-NEXT: 1 1 0.25 nop +# CHECK-NEXT: 1 1 0.25 nopw %di +# CHECK-NEXT: 1 1 0.25 nopw (%rcx) +# CHECK-NEXT: 1 1 0.25 nopl %esi +# CHECK-NEXT: 1 1 0.25 nopl (%r8) +# CHECK-NEXT: 1 1 0.25 nopq %rdx +# CHECK-NEXT: 1 1 0.25 nopq (%r9) +# CHECK-NEXT: 1 1 0.25 notb %dil +# CHECK-NEXT: 3 7 1.00 * * notb (%r8) +# CHECK-NEXT: 1 1 0.25 notw %si +# CHECK-NEXT: 3 7 1.00 * * notw (%r9) +# CHECK-NEXT: 1 1 0.25 notl %edx +# CHECK-NEXT: 3 7 1.00 * * notl (%rax) +# CHECK-NEXT: 1 1 0.25 notq %rcx +# CHECK-NEXT: 3 7 1.00 * * notq (%r10) +# CHECK-NEXT: 1 1 0.25 orb $7, %al +# CHECK-NEXT: 1 1 0.25 orb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * orb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * orb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * orb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 orw $511, %ax +# CHECK-NEXT: 1 1 0.25 orw $511, %di +# CHECK-NEXT: 3 7 1.00 * * orw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 orw $7, %di +# CHECK-NEXT: 3 7 1.00 * * orw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orw %di, %di +# CHECK-NEXT: 3 7 1.00 * * orw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * orw (%rax), %di +# CHECK-NEXT: 1 1 0.25 orl $665536, %eax +# CHECK-NEXT: 1 1 0.25 orl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * orl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * orl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 orq $665536, %rax +# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * orq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * orq (%rax), %rdi +# CHECK-NEXT: 3 3 0.75 rclb %dil +# CHECK-NEXT: 3 3 0.75 rcrb %dil +# CHECK-NEXT: 5 8 0.75 * rclb (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrb (%rax) +# CHECK-NEXT: 3 3 0.75 rclb $7, %dil +# CHECK-NEXT: 3 3 0.75 rcrb $7, %dil +# CHECK-NEXT: 5 8 0.75 * rclb $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrb $7, (%rax) +# CHECK-NEXT: 9 11 2.50 rclb %cl, %dil +# CHECK-NEXT: 10 14 2.50 rcrb %cl, %dil +# CHECK-NEXT: 10 15 2.50 * rclb %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrb %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rclw %di +# CHECK-NEXT: 3 3 0.75 rcrw %di +# CHECK-NEXT: 5 8 0.75 * rclw (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrw (%rax) +# CHECK-NEXT: 3 3 0.75 rclw $7, %di +# CHECK-NEXT: 3 3 0.75 rcrw $7, %di +# CHECK-NEXT: 5 8 0.75 * rclw $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrw $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rclw %cl, %di +# CHECK-NEXT: 7 11 2.00 rcrw %cl, %di +# CHECK-NEXT: 10 15 2.50 * rclw %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrw %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rcll %edi +# CHECK-NEXT: 3 3 0.75 rcrl %edi +# CHECK-NEXT: 5 8 0.75 * rcll (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrl (%rax) +# CHECK-NEXT: 3 3 0.75 rcll $7, %edi +# CHECK-NEXT: 3 3 0.75 rcrl $7, %edi +# CHECK-NEXT: 5 8 0.75 * rcll $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrl $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rcll %cl, %edi +# CHECK-NEXT: 7 11 2.00 rcrl %cl, %edi +# CHECK-NEXT: 10 15 2.50 * rcll %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrl %cl, (%rax) +# CHECK-NEXT: 3 3 0.75 rclq %rdi +# CHECK-NEXT: 3 3 0.75 rcrq %rdi +# CHECK-NEXT: 5 8 0.75 * rclq (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrq (%rax) +# CHECK-NEXT: 3 3 0.75 rclq $7, %rdi +# CHECK-NEXT: 3 3 0.75 rcrq $7, %rdi +# CHECK-NEXT: 5 8 0.75 * rclq $7, (%rax) +# CHECK-NEXT: 5 8 0.75 * rcrq $7, (%rax) +# CHECK-NEXT: 7 11 2.00 rclq %cl, %rdi +# CHECK-NEXT: 7 11 2.00 rcrq %cl, %rdi +# CHECK-NEXT: 10 15 2.50 * rclq %cl, (%rax) +# CHECK-NEXT: 11 18 2.25 * rcrq %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolb %dil +# CHECK-NEXT: 2 2 1.00 rorb %dil +# CHECK-NEXT: 5 7 1.00 * * rolb (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorb (%rax) +# CHECK-NEXT: 2 2 1.00 rolb $7, %dil +# CHECK-NEXT: 2 2 1.00 rorb $7, %dil +# CHECK-NEXT: 5 7 1.00 * * rolb $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorb $7, (%rax) +# CHECK-NEXT: 3 3 1.50 rolb %cl, %dil +# CHECK-NEXT: 3 3 1.50 rorb %cl, %dil +# CHECK-NEXT: 6 8 1.50 * * rolb %cl, (%rax) +# CHECK-NEXT: 5 8 1.50 * * rorb %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolw %di +# CHECK-NEXT: 2 2 1.00 rorw %di +# CHECK-NEXT: 5 7 1.00 * * rolw (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorw (%rax) +# CHECK-NEXT: 2 2 1.00 rolw $7, %di +# CHECK-NEXT: 2 2 1.00 rorw $7, %di +# CHECK-NEXT: 5 7 1.00 * * rolw $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorw $7, (%rax) +# CHECK-NEXT: 3 3 1.50 rolw %cl, %di +# CHECK-NEXT: 3 3 1.50 rorw %cl, %di +# CHECK-NEXT: 6 8 1.50 * * rolw %cl, (%rax) +# CHECK-NEXT: 5 8 1.50 * * rorw %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 roll %edi +# CHECK-NEXT: 2 2 1.00 rorl %edi +# CHECK-NEXT: 5 7 1.00 * * roll (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorl (%rax) +# CHECK-NEXT: 2 2 1.00 roll $7, %edi +# CHECK-NEXT: 2 2 1.00 rorl $7, %edi +# CHECK-NEXT: 5 7 1.00 * * roll $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorl $7, (%rax) +# CHECK-NEXT: 3 3 1.50 roll %cl, %edi +# CHECK-NEXT: 3 3 1.50 rorl %cl, %edi +# CHECK-NEXT: 6 8 1.50 * * roll %cl, (%rax) +# CHECK-NEXT: 5 8 1.50 * * rorl %cl, (%rax) +# CHECK-NEXT: 2 2 1.00 rolq %rdi +# CHECK-NEXT: 2 2 1.00 rorq %rdi +# CHECK-NEXT: 5 7 1.00 * * rolq (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorq (%rax) +# CHECK-NEXT: 2 2 1.00 rolq $7, %rdi +# CHECK-NEXT: 2 2 1.00 rorq $7, %rdi +# CHECK-NEXT: 5 7 1.00 * * rolq $7, (%rax) +# CHECK-NEXT: 5 7 1.00 * * rorq $7, (%rax) +# CHECK-NEXT: 3 3 1.50 rolq %cl, %rdi +# CHECK-NEXT: 3 3 1.50 rorq %cl, %rdi +# CHECK-NEXT: 6 8 1.50 * * rolq %cl, (%rax) +# CHECK-NEXT: 5 8 1.50 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarb %dil +# CHECK-NEXT: 1 1 0.50 shlb %dil +# CHECK-NEXT: 1 1 0.50 shrb %dil +# CHECK-NEXT: 4 6 1.00 * * sarb (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlb (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrb (%rax) +# CHECK-NEXT: 1 1 0.50 sarb $7, %dil +# CHECK-NEXT: 1 1 0.50 shlb $7, %dil +# CHECK-NEXT: 1 1 0.50 shrb $7, %dil +# CHECK-NEXT: 4 6 1.00 * * sarb $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlb $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrb $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarb %cl, %dil +# CHECK-NEXT: 3 3 1.50 shlb %cl, %dil +# CHECK-NEXT: 3 3 1.50 shrb %cl, %dil +# CHECK-NEXT: 6 8 1.50 * * sarb %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shlb %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarw %di +# CHECK-NEXT: 1 1 0.50 shlw %di +# CHECK-NEXT: 1 1 0.50 shrw %di +# CHECK-NEXT: 4 6 1.00 * * sarw (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlw (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrw (%rax) +# CHECK-NEXT: 1 1 0.50 sarw $7, %di +# CHECK-NEXT: 1 1 0.50 shlw $7, %di +# CHECK-NEXT: 1 1 0.50 shrw $7, %di +# CHECK-NEXT: 4 6 1.00 * * sarw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlw $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrw $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarw %cl, %di +# CHECK-NEXT: 3 3 1.50 shlw %cl, %di +# CHECK-NEXT: 3 3 1.50 shrw %cl, %di +# CHECK-NEXT: 6 8 1.50 * * sarw %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shlw %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarl %edi +# CHECK-NEXT: 1 1 0.50 shll %edi +# CHECK-NEXT: 1 1 0.50 shrl %edi +# CHECK-NEXT: 4 6 1.00 * * sarl (%rax) +# CHECK-NEXT: 4 6 1.00 * * shll (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrl (%rax) +# CHECK-NEXT: 1 1 0.50 sarl $7, %edi +# CHECK-NEXT: 1 1 0.50 shll $7, %edi +# CHECK-NEXT: 1 1 0.50 shrl $7, %edi +# CHECK-NEXT: 4 6 1.00 * * sarl $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shll $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrl $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarl %cl, %edi +# CHECK-NEXT: 3 3 1.50 shll %cl, %edi +# CHECK-NEXT: 3 3 1.50 shrl %cl, %edi +# CHECK-NEXT: 6 8 1.50 * * sarl %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shll %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.50 sarq %rdi +# CHECK-NEXT: 1 1 0.50 shlq %rdi +# CHECK-NEXT: 1 1 0.50 shrq %rdi +# CHECK-NEXT: 4 6 1.00 * * sarq (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlq (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrq (%rax) +# CHECK-NEXT: 1 1 0.50 sarq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shlq $7, %rdi +# CHECK-NEXT: 1 1 0.50 shrq $7, %rdi +# CHECK-NEXT: 4 6 1.00 * * sarq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shlq $7, (%rax) +# CHECK-NEXT: 4 6 1.00 * * shrq $7, (%rax) +# CHECK-NEXT: 3 3 1.50 sarq %cl, %rdi +# CHECK-NEXT: 3 3 1.50 shlq %cl, %rdi +# CHECK-NEXT: 3 3 1.50 shrq %cl, %rdi +# CHECK-NEXT: 6 8 1.50 * * sarq %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shlq %cl, (%rax) +# CHECK-NEXT: 6 8 1.50 * * shrq %cl, (%rax) +# CHECK-NEXT: 2 2 0.50 sbbb $7, %al +# CHECK-NEXT: 2 2 0.50 sbbb $7, %dil +# CHECK-NEXT: 6 8 1.00 * * sbbb $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbb %dil, %dil +# CHECK-NEXT: 6 8 1.00 * * sbbb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbb (%rax), %dil +# CHECK-NEXT: 1 1 0.50 sbbw $511, %ax +# CHECK-NEXT: 1 1 0.50 sbbw $511, %di +# CHECK-NEXT: 6 8 1.00 * * sbbw $511, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw $7, %di +# CHECK-NEXT: 6 8 1.00 * * sbbw $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbw %di, %di +# CHECK-NEXT: 6 8 1.00 * * sbbw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbw (%rax), %di +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %eax +# CHECK-NEXT: 1 1 0.50 sbbl $665536, %edi +# CHECK-NEXT: 6 8 1.00 * * sbbl $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl $7, %edi +# CHECK-NEXT: 6 8 1.00 * * sbbl $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbl %edi, %edi +# CHECK-NEXT: 6 8 1.00 * * sbbl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbl (%rax), %edi +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rax +# CHECK-NEXT: 1 1 0.50 sbbq $665536, %rdi +# CHECK-NEXT: 6 8 1.00 * * sbbq $665536, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq $7, %rdi +# CHECK-NEXT: 6 8 1.00 * * sbbq $7, (%rax) +# CHECK-NEXT: 1 1 0.50 sbbq %rdi, %rdi +# CHECK-NEXT: 6 8 1.00 * * sbbq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * sbbq (%rax), %rdi +# CHECK-NEXT: 4 6 1.00 shldw %cl, %si, %di +# CHECK-NEXT: 4 6 1.00 shrdw %cl, %si, %di +# CHECK-NEXT: 6 11 1.00 * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 6 11 1.00 * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 1 3 1.00 shldw $7, %si, %di +# CHECK-NEXT: 1 3 1.00 shrdw $7, %si, %di +# CHECK-NEXT: 4 9 1.00 * * shldw $7, %si, (%rax) +# CHECK-NEXT: 4 9 1.00 * * shrdw $7, %si, (%rax) +# CHECK-NEXT: 4 6 1.00 shldl %cl, %esi, %edi +# CHECK-NEXT: 4 6 1.00 shrdl %cl, %esi, %edi +# CHECK-NEXT: 6 11 1.00 * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 6 11 1.00 * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 1 3 1.00 shldl $7, %esi, %edi +# CHECK-NEXT: 1 3 1.00 shrdl $7, %esi, %edi +# CHECK-NEXT: 4 9 1.00 * * shldl $7, %esi, (%rax) +# CHECK-NEXT: 4 9 1.00 * * shrdl $7, %esi, (%rax) +# CHECK-NEXT: 4 6 1.00 shldq %cl, %rsi, %rdi +# CHECK-NEXT: 4 6 1.00 shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 6 11 1.00 * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 6 11 1.00 * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 3 1.00 shldq $7, %rsi, %rdi +# CHECK-NEXT: 1 3 1.00 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 4 9 1.00 * * shldq $7, %rsi, (%rax) +# CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 subb $7, %al +# CHECK-NEXT: 1 1 0.25 subb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * subb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * subb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 subw $511, %ax +# CHECK-NEXT: 1 1 0.25 subw $511, %di +# CHECK-NEXT: 3 7 1.00 * * subw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 subw $7, %di +# CHECK-NEXT: 3 7 1.00 * * subw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subw %di, %di +# CHECK-NEXT: 3 7 1.00 * * subw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * subw (%rax), %di +# CHECK-NEXT: 1 1 0.25 subl $665536, %eax +# CHECK-NEXT: 1 1 0.25 subl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * subl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * subl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 subq $665536, %rax +# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * subq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * subq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 xorb $7, %al +# CHECK-NEXT: 1 1 0.25 xorb $7, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil +# CHECK-NEXT: 3 7 1.00 * * xorb %dil, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 xorw $511, %ax +# CHECK-NEXT: 1 1 0.25 xorw $511, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw $7, %di +# CHECK-NEXT: 3 7 1.00 * * xorw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw %di, %di +# CHECK-NEXT: 3 7 1.00 * * xorw %di, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorw (%rax), %di +# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax +# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl $7, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi +# CHECK-NEXT: 3 7 1.00 * * xorl %edi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi +# CHECK-NEXT: 3 7 1.00 * * xorq %rdi, (%rax) +# CHECK-NEXT: 2 6 0.50 * xorq (%rax), %rdi # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: 60.00 - 431.50 225.50 202.00 202.00 167.00 186.00 416.00 69.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb %dil, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %dil, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %ax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $7, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw %di, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %di, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %eax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $7, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl %edi, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %edi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $7, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq %rdi, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq %rdi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andq (%rax), %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw %si, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw %si, %di -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsw %si, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw $7, %di -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl %esi, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl %esi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsl %esi, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl $7, %edi -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq %rsi, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq %rsi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsq %rsi, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq $7, %rdi -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decw (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decl %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decq (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - - - divb %dil -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divb (%rax) -# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divw %si -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divw (%rax) -# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divl %edx -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax) -# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divq %rcx -# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax) -# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil -# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivb (%rax) -# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si -# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivw (%rax) -# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivl %edx -# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivl (%rax) -# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivq %rcx -# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di -# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di -# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw (%rax), %di -# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di -# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di -# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di -# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - imulq %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - imulq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incb (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incw %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incw (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incl %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil -# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax) -# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si -# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax) -# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx -# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax) -# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulq %rcx -# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulq (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negb (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negw %si -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negw (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negl %edx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negq %rcx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negq (%r10) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nop -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notb %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notb (%r8) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notw %si -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notw (%r9) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notl %edx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notl (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notq %rcx -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notq (%r10) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orq (%rax), %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb $7, %dil -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb $7, %dil -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb $7, (%rax) -# CHECK-NEXT: - - 3.00 2.00 - - - 1.00 3.00 - rclb %cl, %dil -# CHECK-NEXT: - - 2.75 3.25 - - - 1.25 2.75 - rcrb %cl, %dil -# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclb %cl, (%rax) -# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrb %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw %di -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw %di -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw $7, %di -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw $7, %di -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw $7, (%rax) -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rclw %cl, %di -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrw %cl, %di -# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclw %cl, (%rax) -# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrw %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll %edi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl %edi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll $7, %edi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl $7, %edi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl $7, (%rax) -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcll %cl, %edi -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrl %cl, %edi -# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rcll %cl, (%rax) -# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrl %cl, (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq %rdi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq (%rax) -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq $7, %rdi -# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq $7, %rdi -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq $7, (%rax) -# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq $7, (%rax) -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rclq %cl, %rdi -# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrq %cl, %rdi -# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclq %cl, (%rax) -# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrq %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb $7, %dil -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb $7, %dil -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolb %cl, %dil -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorb %cl, %dil -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolb %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorb %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw %di -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw %di -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw $7, %di -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw $7, %di -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolw %cl, %di -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorw %cl, %di -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolw %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorw %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll %edi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl %edi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll $7, %edi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl $7, %edi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - roll %cl, %edi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorl %cl, %edi -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 roll %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorl %cl, (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq %rdi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq %rdi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq (%rax) -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq $7, %rdi -# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq $7, %rdi -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq $7, (%rax) -# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolq %cl, %rdi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorq %cl, %rdi -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolq %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorq %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb $7, %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb $7, %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb $7, %dil -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarb %cl, %dil -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlb %cl, %dil -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrb %cl, %dil -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarb %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlb %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrb %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw %di -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw $7, %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw $7, %di -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarw %cl, %di -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlw %cl, %di -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrw %cl, %di -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarw %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlw %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrw %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl %edi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll $7, %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl $7, %edi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarl %cl, %edi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shll %cl, %edi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrl %cl, %edi -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarl %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shll %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrl %cl, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq %rdi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq $7, %rdi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq $7, %rdi -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq $7, (%rax) -# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq $7, (%rax) -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarq %cl, %rdi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlq %cl, %rdi -# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrq %cl, %rdi -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarq %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlq %cl, (%rax) -# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrq %cl, (%rax) -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al -# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb %dil, %dil -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %dil, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbb (%rax), %dil -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %ax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $7, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw %di, %di -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %di, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbw (%rax), %di -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %eax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $7, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl %edi, %edi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %edi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbl (%rax), %edi -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rax -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $7, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $7, (%rax) -# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq %rdi, %rdi -# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq %rdi, (%rax) -# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbq (%rax), %rdi -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldw %cl, %si, %di -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdw %cl, %si, %di -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldw %cl, %si, (%rax) -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdw %cl, %si, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldw $7, %si, %di -# CHECK-NEXT: - - - 1.00 - - - - - - shrdw $7, %si, %di -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldw $7, %si, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdw $7, %si, (%rax) -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldl %cl, %esi, %edi -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdl %cl, %esi, %edi -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldl %cl, %esi, (%rax) -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdl %cl, %esi, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldl $7, %esi, %edi -# CHECK-NEXT: - - - 1.00 - - - - - - shrdl $7, %esi, %edi -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldl $7, %esi, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdl $7, %esi, (%rax) -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldq %cl, %rsi, (%rax) -# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - shldq $7, %rsi, %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %al -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb %dil, %dil -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb %dil, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw %di, %di -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw %di, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl %edi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl %edi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq %rdi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq %rdi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorq (%rax), %rdi +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %al +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - adcb $7, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcb %dil, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcb %dil, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcb (%rax), %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %ax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $511, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $511, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw $7, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcw %di, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcw %di, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcw (%rax), %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %eax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $665536, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl $7, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcl %edi, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcl %edi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcl (%rax), %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $665536, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq $7, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - adcq %rdi, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 adcq %rdi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - adcq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - addq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 addq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - addq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - andq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 andq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - andq (%rax), %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw %si, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw %si, %di +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsw %si, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsw $7, %di +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl %esi, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl %esi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsl %esi, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsl $7, %edi +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq %rsi, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq %rsi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - btq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btcq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btrq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 btsq %rsi, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btcq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btrq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - btsq $7, %rdi +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - btq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decw (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decl %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decq (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - - - divb %dil +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divb (%rax) +# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divw %si +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divw (%rax) +# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divl %edx +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divl (%rax) +# CHECK-NEXT: - - 10.25 4.75 - - - 11.25 5.75 - divq %rcx +# CHECK-NEXT: 10.00 - 1.00 - 0.50 0.50 - - - - divq (%rax) +# CHECK-NEXT: 10.00 - 1.00 - - - - - - - idivb %dil +# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivb (%rax) +# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivw %si +# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivw (%rax) +# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivl %edx +# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivl (%rax) +# CHECK-NEXT: - - 19.50 10.50 - - - 12.50 23.50 - idivq %rcx +# CHECK-NEXT: - - 2.25 0.25 0.50 0.50 - 4.25 0.25 - idivq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulb %dil +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulb (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - imulw %di +# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - imulw (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulw %di, %di +# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw (%rax), %di +# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $511, %di, %di +# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $511, (%rax), %di +# CHECK-NEXT: - - 0.25 1.25 - - - 0.25 0.25 - imulw $7, %di, %di +# CHECK-NEXT: - - 0.25 1.25 0.50 0.50 - 0.25 0.25 - imulw $7, (%rax), %di +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - imull %edi +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - imull (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imull %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - imull $665536, %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $665536, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - imull $7, %edi, %edi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imull $7, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - imulq %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - imulq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - imulq %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - imulq $665536, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $665536, (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - imulq $7, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - imulq $7, (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incb (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incw %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incw (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incl %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil +# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax) +# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si +# CHECK-NEXT: - - 1.00 1.50 0.50 0.50 - 0.50 1.00 - mulw (%rax) +# CHECK-NEXT: - - 0.75 1.25 - - - 0.25 0.75 - mull %edx +# CHECK-NEXT: - - 0.75 1.25 0.50 0.50 - 0.25 0.75 - mull (%rax) +# CHECK-NEXT: - - - 1.00 - - - 1.00 - - mulq %rcx +# CHECK-NEXT: - - - 1.00 0.50 0.50 - 1.00 - - mulq (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negb (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negw %si +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negw (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negl %edx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - negq %rcx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 negq (%r10) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nop +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopw (%rcx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl %esi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopl (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq %rdx +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - nopq (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notb %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notb (%r8) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notw %si +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notw (%r9) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notl %edx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notl (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - notq %rcx +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 notq (%r10) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - orq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 orq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - orq (%rax), %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb %dil +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb %dil +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclb $7, %dil +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrb $7, %dil +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclb $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrb $7, (%rax) +# CHECK-NEXT: - - 3.00 2.00 - - - 1.00 3.00 - rclb %cl, %dil +# CHECK-NEXT: - - 2.75 3.25 - - - 1.25 2.75 - rcrb %cl, %dil +# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclb %cl, (%rax) +# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrb %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw %di +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw %di +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclw $7, %di +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrw $7, %di +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclw $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrw $7, (%rax) +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rclw %cl, %di +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrw %cl, %di +# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclw %cl, (%rax) +# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrw %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll %edi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl %edi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcll $7, %edi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrl $7, %edi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcll $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrl $7, (%rax) +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcll %cl, %edi +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrl %cl, %edi +# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rcll %cl, (%rax) +# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrl %cl, (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq %rdi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq (%rax) +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rclq $7, %rdi +# CHECK-NEXT: - - 1.00 0.50 - - - 0.50 1.00 - rcrq $7, %rdi +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rclq $7, (%rax) +# CHECK-NEXT: - - 1.00 0.50 0.83 0.83 - 0.50 1.00 0.33 rcrq $7, (%rax) +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rclq %cl, %rdi +# CHECK-NEXT: - - 2.00 2.50 - - - 0.50 2.00 - rcrq %cl, %rdi +# CHECK-NEXT: - - 2.75 1.75 0.83 0.83 - 0.75 2.75 0.33 rclq %cl, (%rax) +# CHECK-NEXT: - - 2.50 3.00 0.83 0.83 - 1.00 2.50 0.33 rcrq %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb %dil +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb %dil +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolb $7, %dil +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorb $7, %dil +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolb $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorb $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolb %cl, %dil +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorb %cl, %dil +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolb %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorb %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw %di +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw %di +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolw $7, %di +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorw $7, %di +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolw $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorw $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolw %cl, %di +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorw %cl, %di +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolw %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorw %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll %edi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl %edi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - roll $7, %edi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorl $7, %edi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 roll $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorl $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - roll %cl, %edi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorl %cl, %edi +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 roll %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorl %cl, (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq %rdi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq %rdi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq (%rax) +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rolq $7, %rdi +# CHECK-NEXT: - - 1.00 - - - - - 1.00 - rorq $7, %rdi +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rolq $7, (%rax) +# CHECK-NEXT: - - 1.00 - 0.83 0.83 1.00 - 1.00 0.33 rorq $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rolq %cl, %rdi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorq %cl, %rdi +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolq %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorq %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb $7, %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb $7, %dil +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlb $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrb $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarb %cl, %dil +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlb %cl, %dil +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrb %cl, %dil +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarb %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlb %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrb %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw %di +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlw $7, %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrw $7, %di +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlw $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrw $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarw %cl, %di +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlw %cl, %di +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrw %cl, %di +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarw %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlw %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrw %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl %edi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarl $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shll $7, %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrl $7, %edi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarl $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shll $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrl $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarl %cl, %edi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shll %cl, %edi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrl %cl, %edi +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarl %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shll %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrl %cl, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq %rdi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlq $7, %rdi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrq $7, %rdi +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 sarq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shlq $7, (%rax) +# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 shrq $7, (%rax) +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - sarq %cl, %rdi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shlq %cl, %rdi +# CHECK-NEXT: - - 1.50 - - - - - 1.50 - shrq %cl, %rdi +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 sarq %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shlq %cl, (%rax) +# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 shrq %cl, (%rax) +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %al +# CHECK-NEXT: - - 0.75 0.25 - - - 0.25 0.75 - sbbb $7, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbb %dil, %dil +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbb %dil, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbb (%rax), %dil +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %ax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $511, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $511, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw $7, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbw %di, %di +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbw %di, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbw (%rax), %di +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %eax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $665536, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl $7, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbl %edi, %edi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbl %edi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbl (%rax), %edi +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rax +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $665536, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $665536, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq $7, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq $7, (%rax) +# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sbbq %rdi, %rdi +# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 sbbq %rdi, (%rax) +# CHECK-NEXT: - - 0.50 - 0.50 0.50 - - 0.50 - sbbq (%rax), %rdi +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldw %cl, %si, %di +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdw %cl, %si, %di +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldw %cl, %si, (%rax) +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdw %cl, %si, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldw $7, %si, %di +# CHECK-NEXT: - - - 1.00 - - - - - - shrdw $7, %si, %di +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldw $7, %si, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdw $7, %si, (%rax) +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldl %cl, %esi, %edi +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdl %cl, %esi, %edi +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldl %cl, %esi, (%rax) +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdl %cl, %esi, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldl $7, %esi, %edi +# CHECK-NEXT: - - - 1.00 - - - - - - shrdl $7, %esi, %edi +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldl $7, %esi, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdl $7, %esi, (%rax) +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shldq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.25 1.25 - - - 0.25 1.25 - shrdq %cl, %rsi, %rdi +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shldq %cl, %rsi, (%rax) +# CHECK-NEXT: - - 1.25 1.25 0.83 0.83 - 0.25 1.25 0.33 shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - shldq $7, %rsi, %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - shrdq $7, %rsi, %rdi +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shldq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - subq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %al +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorb %dil, %dil +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorb %dil, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $511, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorw %di, %di +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorw %di, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $665536, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorl %edi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorl %edi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $665536, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - xorq %rdi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 xorq %rdi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - xorq (%rax), %rdi diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s index 933abf5..6a5f98d 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s @@ -205,320 +205,320 @@ fyl2xp1 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 0.25 * f2xm1 -# CHECK-NEXT: 1 1 1.00 * fabs -# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fadd %st(2) -# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx) -# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 * faddp %st(1) -# CHECK-NEXT: 1 3 1.00 * faddp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx) -# CHECK-NEXT: 1 100 0.25 * fbld (%ecx) -# CHECK-NEXT: 2 1 1.00 * fbstp (%eax) -# CHECK-NEXT: 1 1 1.00 * fchs -# CHECK-NEXT: 4 4 1.00 * fnclex -# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 * fcom %st(1) -# CHECK-NEXT: 1 1 1.00 * fcom %st(3) -# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx) -# CHECK-NEXT: 2 8 1.00 * fcoml (%eax) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) -# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx) -# CHECK-NEXT: 2 8 1.00 * fcompl (%eax) -# CHECK-NEXT: 1 100 0.25 * fcompp -# CHECK-NEXT: 1 2 1.00 * fcomi %st(3) -# CHECK-NEXT: 1 2 1.00 * fcompi %st(3) -# CHECK-NEXT: 1 100 0.25 * fcos -# CHECK-NEXT: 2 2 1.00 * fdecstp -# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1) -# CHECK-NEXT: 1 20 1.00 * fdiv %st(2) -# CHECK-NEXT: 2 22 1.00 * * fdivs (%ecx) -# CHECK-NEXT: 2 22 1.00 * * fdivl (%eax) -# CHECK-NEXT: 1 15 1.00 * fdivp %st(1) -# CHECK-NEXT: 1 15 1.00 * fdivp %st(2) -# CHECK-NEXT: 3 25 1.00 * * fidivs (%ecx) -# CHECK-NEXT: 3 25 1.00 * * fidivl (%eax) -# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1) -# CHECK-NEXT: 1 15 1.00 * fdivr %st(2) -# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx) -# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax) -# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1) -# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2) -# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx) -# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax) -# CHECK-NEXT: 1 100 0.25 * ffree %st(0) -# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx) -# CHECK-NEXT: 3 11 2.00 * ficoml (%eax) -# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx) -# CHECK-NEXT: 3 11 2.00 * ficompl (%eax) -# CHECK-NEXT: 2 10 1.00 * * filds (%edx) -# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fildll (%eax) -# CHECK-NEXT: 1 1 0.50 * fincstp -# CHECK-NEXT: 15 75 6.00 * fninit -# CHECK-NEXT: 3 4 1.00 * * fists (%edx) -# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fistps (%edx) -# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax) -# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx) -# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx) -# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax) -# CHECK-NEXT: 1 1 0.25 * fld %st(0) -# CHECK-NEXT: 1 7 0.50 * * flds (%edx) -# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx) -# CHECK-NEXT: 1 7 0.50 * * fldt (%eax) -# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax) -# CHECK-NEXT: 64 62 14.00 * fldenv (%eax) -# CHECK-NEXT: 1 1 - * fld1 -# CHECK-NEXT: 1 100 0.25 * fldl2e -# CHECK-NEXT: 1 100 0.25 * fldl2t -# CHECK-NEXT: 1 100 0.25 * fldlg2 -# CHECK-NEXT: 1 100 0.25 * fldln2 -# CHECK-NEXT: 1 100 0.25 * fldpi -# CHECK-NEXT: 1 1 - * fldz -# CHECK-NEXT: 1 4 1.00 * fmul %st(0), %st(1) -# CHECK-NEXT: 1 4 1.00 * fmul %st(2) -# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx) -# CHECK-NEXT: 2 11 1.00 * * fmull (%eax) -# CHECK-NEXT: 1 4 1.00 * fmulp %st(1) -# CHECK-NEXT: 1 4 1.00 * fmulp %st(2) -# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx) -# CHECK-NEXT: 3 14 1.00 * * fimull (%eax) -# CHECK-NEXT: 1 1 0.50 * fnop -# CHECK-NEXT: 1 100 0.25 * fpatan -# CHECK-NEXT: 1 100 0.25 * fprem -# CHECK-NEXT: 1 100 0.25 * fprem1 -# CHECK-NEXT: 1 100 0.25 * fptan -# CHECK-NEXT: 1 100 0.25 * frndint -# CHECK-NEXT: 1 100 0.25 * frstor (%eax) -# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) -# CHECK-NEXT: 1 100 0.25 * fscale -# CHECK-NEXT: 1 100 0.25 * fsin -# CHECK-NEXT: 1 100 0.25 * fsincos -# CHECK-NEXT: 1 21 7.00 * fsqrt -# CHECK-NEXT: 1 1 0.25 * fst %st(0) -# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) -# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) -# CHECK-NEXT: 1 1 0.25 * fstp %st(0) -# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx) -# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx) -# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax) -# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax) -# CHECK-NEXT: 100 106 19.50 * fnstenv (%eax) -# CHECK-NEXT: 3 3 1.00 * fnstsw (%eax) -# CHECK-NEXT: 1 100 0.25 * frstor (%eax) -# CHECK-NEXT: 2 2 0.50 * wait -# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsub %st(2) -# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) -# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx) -# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) -# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx) -# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax) -# CHECK-NEXT: 1 2 1.00 * ftst -# CHECK-NEXT: 1 1 1.00 * fucom %st(1) -# CHECK-NEXT: 1 1 1.00 * fucom %st(3) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) -# CHECK-NEXT: 1 2 1.00 * fucompp -# CHECK-NEXT: 1 2 1.00 * fucomi %st(3) -# CHECK-NEXT: 1 2 1.00 * fucompi %st(3) -# CHECK-NEXT: 2 2 0.50 * wait -# CHECK-NEXT: 1 100 0.25 * fxam -# CHECK-NEXT: 15 17 4.00 * fxch %st(1) -# CHECK-NEXT: 15 17 4.00 * fxch %st(3) -# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax) -# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) -# CHECK-NEXT: 1 100 0.25 * fxtract -# CHECK-NEXT: 1 100 0.25 * fyl2x -# CHECK-NEXT: 1 100 0.25 * fyl2xp1 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 100 0.25 * f2xm1 +# CHECK-NEXT: 1 1 1.00 * fabs +# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fadd %st(2) +# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx) +# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx) +# CHECK-NEXT: 1 3 1.00 * faddp %st(1) +# CHECK-NEXT: 1 3 1.00 * faddp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx) +# CHECK-NEXT: 1 100 0.25 * fbld (%ecx) +# CHECK-NEXT: 2 1 1.00 * fbstp (%eax) +# CHECK-NEXT: 1 1 1.00 * fchs +# CHECK-NEXT: 4 4 1.00 * fnclex +# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 1 1.00 * fcom %st(1) +# CHECK-NEXT: 1 1 1.00 * fcom %st(3) +# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx) +# CHECK-NEXT: 2 8 1.00 * fcoml (%eax) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) +# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx) +# CHECK-NEXT: 2 8 1.00 * fcompl (%eax) +# CHECK-NEXT: 1 100 0.25 * fcompp +# CHECK-NEXT: 1 2 1.00 * fcomi %st(3) +# CHECK-NEXT: 1 2 1.00 * fcompi %st(3) +# CHECK-NEXT: 1 100 0.25 * fcos +# CHECK-NEXT: 2 2 1.00 * fdecstp +# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1) +# CHECK-NEXT: 1 20 1.00 * fdiv %st(2) +# CHECK-NEXT: 2 22 1.00 * * fdivs (%ecx) +# CHECK-NEXT: 2 22 1.00 * * fdivl (%eax) +# CHECK-NEXT: 1 15 1.00 * fdivp %st(1) +# CHECK-NEXT: 1 15 1.00 * fdivp %st(2) +# CHECK-NEXT: 3 25 1.00 * * fidivs (%ecx) +# CHECK-NEXT: 3 25 1.00 * * fidivl (%eax) +# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 * fdivr %st(2) +# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx) +# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax) +# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1) +# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2) +# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx) +# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax) +# CHECK-NEXT: 1 100 0.25 * ffree %st(0) +# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx) +# CHECK-NEXT: 3 11 2.00 * ficoml (%eax) +# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx) +# CHECK-NEXT: 3 11 2.00 * ficompl (%eax) +# CHECK-NEXT: 2 10 1.00 * * filds (%edx) +# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fildll (%eax) +# CHECK-NEXT: 1 1 0.50 * fincstp +# CHECK-NEXT: 15 75 6.00 * fninit +# CHECK-NEXT: 3 4 1.00 * * fists (%edx) +# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fistps (%edx) +# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax) +# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx) +# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx) +# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax) +# CHECK-NEXT: 1 1 0.25 * fld %st(0) +# CHECK-NEXT: 1 7 0.50 * * flds (%edx) +# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx) +# CHECK-NEXT: 1 7 0.50 * * fldt (%eax) +# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax) +# CHECK-NEXT: 64 62 14.00 * fldenv (%eax) +# CHECK-NEXT: 1 1 - * fld1 +# CHECK-NEXT: 1 100 0.25 * fldl2e +# CHECK-NEXT: 1 100 0.25 * fldl2t +# CHECK-NEXT: 1 100 0.25 * fldlg2 +# CHECK-NEXT: 1 100 0.25 * fldln2 +# CHECK-NEXT: 1 100 0.25 * fldpi +# CHECK-NEXT: 1 1 - * fldz +# CHECK-NEXT: 1 4 1.00 * fmul %st(0), %st(1) +# CHECK-NEXT: 1 4 1.00 * fmul %st(2) +# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx) +# CHECK-NEXT: 2 11 1.00 * * fmull (%eax) +# CHECK-NEXT: 1 4 1.00 * fmulp %st(1) +# CHECK-NEXT: 1 4 1.00 * fmulp %st(2) +# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx) +# CHECK-NEXT: 3 14 1.00 * * fimull (%eax) +# CHECK-NEXT: 1 1 0.50 * fnop +# CHECK-NEXT: 1 100 0.25 * fpatan +# CHECK-NEXT: 1 100 0.25 * fprem +# CHECK-NEXT: 1 100 0.25 * fprem1 +# CHECK-NEXT: 1 100 0.25 * fptan +# CHECK-NEXT: 1 100 0.25 * frndint +# CHECK-NEXT: 1 100 0.25 * frstor (%eax) +# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) +# CHECK-NEXT: 1 100 0.25 * fscale +# CHECK-NEXT: 1 100 0.25 * fsin +# CHECK-NEXT: 1 100 0.25 * fsincos +# CHECK-NEXT: 1 21 7.00 * fsqrt +# CHECK-NEXT: 1 1 0.25 * fst %st(0) +# CHECK-NEXT: 1 1 1.00 * * fsts (%edx) +# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx) +# CHECK-NEXT: 1 1 0.25 * fstp %st(0) +# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx) +# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx) +# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax) +# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax) +# CHECK-NEXT: 100 106 19.50 * fnstenv (%eax) +# CHECK-NEXT: 3 3 1.00 * fnstsw (%eax) +# CHECK-NEXT: 1 100 0.25 * frstor (%eax) +# CHECK-NEXT: 2 2 0.50 * wait +# CHECK-NEXT: 1 100 0.25 * fnsave (%eax) +# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsub %st(2) +# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) +# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx) +# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) +# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx) +# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax) +# CHECK-NEXT: 1 2 1.00 * ftst +# CHECK-NEXT: 1 1 1.00 * fucom %st(1) +# CHECK-NEXT: 1 1 1.00 * fucom %st(3) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) +# CHECK-NEXT: 1 2 1.00 * fucompp +# CHECK-NEXT: 1 2 1.00 * fucomi %st(3) +# CHECK-NEXT: 1 2 1.00 * fucompi %st(3) +# CHECK-NEXT: 2 2 0.50 * wait +# CHECK-NEXT: 1 100 0.25 * fxam +# CHECK-NEXT: 15 17 4.00 * fxch %st(1) +# CHECK-NEXT: 15 17 4.00 * fxch %st(3) +# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax) +# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax) +# CHECK-NEXT: 1 100 0.25 * fxtract +# CHECK-NEXT: 1 100 0.25 * fyl2x +# CHECK-NEXT: 1 100 0.25 * fyl2xp1 # CHECK: Resources: -# CHECK-NEXT: [0] - SKXDivider -# CHECK-NEXT: [1] - SKXFPDivider -# CHECK-NEXT: [2] - SKXPort0 -# CHECK-NEXT: [3] - SKXPort1 -# CHECK-NEXT: [4] - SKXPort2 -# CHECK-NEXT: [5] - SKXPort3 -# CHECK-NEXT: [6] - SKXPort4 -# CHECK-NEXT: [7] - SKXPort5 -# CHECK-NEXT: [8] - SKXPort6 -# CHECK-NEXT: [9] - SKXPort7 +# CHECK-NEXT: [0] - SKXDivider +# CHECK-NEXT: [1] - SKXFPDivider +# CHECK-NEXT: [2] - SKXPort0 +# CHECK-NEXT: [3] - SKXPort1 +# CHECK-NEXT: [4] - SKXPort2 +# CHECK-NEXT: [5] - SKXPort3 +# CHECK-NEXT: [6] - SKXPort4 +# CHECK-NEXT: [7] - SKXPort5 +# CHECK-NEXT: [8] - SKXPort6 +# CHECK-NEXT: [9] - SKXPort7 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] # CHECK-NEXT: - 7.00 121.50 53.50 49.00 49.00 27.00 144.50 70.50 9.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 -# CHECK-NEXT: - - 1.00 - - - - - - - fabs -# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fadds (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - faddl (%ecx) -# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiadds (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiaddl (%ecx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fchs -# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) -# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(3) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoms (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoml (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(3) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcomps (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcompl (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp -# CHECK-NEXT: - - 1.00 - - - - - - - fcomi %st(3) -# CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos -# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fdecstp -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrs (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrl (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoms (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoml (%eax) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficomps (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficompl (%eax) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - filds (%edx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildl (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildll (%eax) -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fincstp -# CHECK-NEXT: - - 3.00 1.50 - - - 9.00 1.50 - fninit -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fists (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistps (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpll (%eax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttps (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpll (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) -# CHECK-NEXT: - - 1.50 - 0.50 0.50 - 0.50 - - fldcw (%eax) -# CHECK-NEXT: - - 19.25 9.75 4.00 4.00 - 12.25 14.75 - fldenv (%eax) -# CHECK-NEXT: - - - - - - - - - - fld1 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2e -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2t -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldlg2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldln2 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldpi -# CHECK-NEXT: - - - - - - - - - - fldz -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1) -# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimuls (%ecx) -# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimull (%eax) -# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fnop -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fpatan -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem1 -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fptan -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frndint -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fscale -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos -# CHECK-NEXT: - 7.00 1.00 - - - - - - - fsqrt -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) -# CHECK-NEXT: - - - - 0.33 0.33 1.00 - 1.00 0.33 fnstcw (%eax) -# CHECK-NEXT: - - 27.00 8.50 3.67 3.67 11.00 23.50 19.00 3.67 fnstenv (%eax) -# CHECK-NEXT: - - 1.00 - 0.33 0.33 1.00 - - 0.33 fnstsw (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubs (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubs (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrs (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(2) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrs (%ecx) -# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - ftst -# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(3) -# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(3) -# CHECK-NEXT: - - 1.00 - - - - - - - fucompp -# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3) -# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3) -# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam -# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(1) -# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(3) -# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxsave (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxtract -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2x -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2xp1 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 +# CHECK-NEXT: - - 1.00 - - - - - - - fabs +# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fadds (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - faddl (%ecx) +# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiadds (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiaddl (%ecx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fchs +# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(3) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoms (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoml (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(3) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcomps (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcompl (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp +# CHECK-NEXT: - - 1.00 - - - - - - - fcomi %st(3) +# CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos +# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fdecstp +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrs (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrl (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoms (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoml (%eax) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficomps (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficompl (%eax) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - filds (%edx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildl (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildll (%eax) +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fincstp +# CHECK-NEXT: - - 3.00 1.50 - - - 9.00 1.50 - fninit +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fists (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistps (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpll (%eax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttps (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpll (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) +# CHECK-NEXT: - - 1.50 - 0.50 0.50 - 0.50 - - fldcw (%eax) +# CHECK-NEXT: - - 19.25 9.75 4.00 4.00 - 12.25 14.75 - fldenv (%eax) +# CHECK-NEXT: - - - - - - - - - - fld1 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2e +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldl2t +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldlg2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldln2 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fldpi +# CHECK-NEXT: - - - - - - - - - - fldz +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimuls (%ecx) +# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimull (%eax) +# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fnop +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fpatan +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem1 +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fptan +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frndint +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fscale +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos +# CHECK-NEXT: - 7.00 1.00 - - - - - - - fsqrt +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) +# CHECK-NEXT: - - - - 0.33 0.33 1.00 - 1.00 0.33 fnstcw (%eax) +# CHECK-NEXT: - - 27.00 8.50 3.67 3.67 11.00 23.50 19.00 3.67 fnstenv (%eax) +# CHECK-NEXT: - - 1.00 - 0.33 0.33 1.00 - - 0.33 fnstsw (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubs (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubs (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrs (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(2) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrs (%ecx) +# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrl (%eax) +# CHECK-NEXT: - - 1.00 - - - - - - - ftst +# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(3) +# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(3) +# CHECK-NEXT: - - 1.00 - - - - - - - fucompp +# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3) +# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3) +# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam +# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(1) +# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(3) +# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxsave (%eax) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxtract +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2x +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2xp1 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s index ed9dfaa..458b4df 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s @@ -1017,1392 +1017,1392 @@ vzeroupper # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vaddsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 0.50 vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 0.50 * vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 0.50 * vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 0.50 * vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 0.50 * vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vaesimc %xmm0, %xmm2 -# CHECK-NEXT: 1 11 0.50 * vaesimc (%rax), %xmm2 -# CHECK-NEXT: 1 4 0.50 vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 11 0.50 * vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vandps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vblendpd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vblendpd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vblendps $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vblendps $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vbroadcastf128 (%rax), %ymm2 -# CHECK-NEXT: 1 8 0.50 * vbroadcastsd (%rax), %ymm2 -# CHECK-NEXT: 1 8 0.50 * vbroadcastss (%rax), %xmm2 -# CHECK-NEXT: 1 8 0.50 * vbroadcastss (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcmppd $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vcmppd $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcmpps $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vcmpps $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1 -# CHECK-NEXT: 1 10 1.00 * vcomisd (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1 -# CHECK-NEXT: 1 10 1.00 * vcomiss (%rax), %xmm1 -# CHECK-NEXT: 1 5 1.00 vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: 1 12 1.00 * vcvtdq2pd (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: 1 12 1.00 * vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vcvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 12 1.00 * vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 12 1.00 * vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vcvtpd2psy (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: 1 12 1.00 * vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: 2 10 1.00 * vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: 1 12 1.00 * vcvtsd2si (%rax), %ecx -# CHECK-NEXT: 1 12 1.00 * vcvtsd2si (%rax), %rcx -# CHECK-NEXT: 1 4 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 1.00 * vcvtsd2ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtsi2sdl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtsi2sdq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * vcvtsi2sdl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * vcvtsi2sdq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtsi2ssq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * vcvtsi2ssl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * vcvtsi2ssq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 2.00 * vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvtss2si %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 vcvtss2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * vcvtss2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * vcvtss2si (%rax), %rcx -# CHECK-NEXT: 1 5 1.00 vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 12 1.00 * vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 2 12 1.00 * vcvttpd2dqy (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: 1 12 1.00 * vcvttps2dq (%rax), %ymm2 -# CHECK-NEXT: 1 5 1.00 vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: 1 12 1.00 * vcvttsd2si (%rax), %ecx -# CHECK-NEXT: 1 12 1.00 * vcvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 5 1.00 vcvttss2si %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 vcvttss2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * vcvttss2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * vcvttss2si (%rax), %rcx -# CHECK-NEXT: 1 15 1.00 vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 22 1.00 * vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 15 15.00 vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 22 22.00 * vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 15 1.00 vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 22 1.00 * vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 12 12.00 vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 19 19.00 * vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 15 1.00 vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 22 1.00 * vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 15 1.00 vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 22 1.00 * vdivss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vdppd $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.33 vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: 2 2 2.00 vextractps $1, %xmm0, %ecx -# CHECK-NEXT: 2 5 2.50 * vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 100 - vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 0.67 vinsertf128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 0.67 * vinsertf128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vinsertps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vinsertps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %xmm2 -# CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %ymm2 -# CHECK-NEXT: 1 100 - * * * vldmxcsr (%rax) -# CHECK-NEXT: 1 100 - * * * vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 8 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 1 4 0.50 * * vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 5 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 1 4 0.50 * * vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 2 5 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 3 1.00 vmaxpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vmaxpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vmaxps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vmaxps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmaxss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vmaxss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vminpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vminpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vminps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vminps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vminss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vminss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vmovapd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovapd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovapd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vmovapd %ymm0, %ymm2 -# CHECK-NEXT: 1 1 0.50 * vmovapd %ymm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovapd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vmovaps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovaps %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vmovaps %ymm0, %ymm2 -# CHECK-NEXT: 1 1 0.50 * vmovaps %ymm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovaps (%rax), %ymm2 -# CHECK-NEXT: 1 3 1.00 vmovd %eax, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vmovd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 vmovd %xmm0, %ecx -# CHECK-NEXT: 1 1 0.50 * vmovd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 vmovddup %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vmovddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovddup %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vmovddup (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vmovdqa %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovdqa %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovdqa (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.25 vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: 1 1 0.50 * vmovdqa %ymm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovdqa (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vmovdqu %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovdqu %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovdqu (%rax), %xmm2 -# CHECK-NEXT: 2 2 0.25 vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: 1 1 0.50 * vmovdqu %ymm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovdqu (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovhlps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovlhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovhpd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovhps %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovlpd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovlps %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovlps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vmovmskpd %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 vmovmskpd %ymm0, %ecx -# CHECK-NEXT: 1 1 1.00 vmovmskps %xmm0, %ecx -# CHECK-NEXT: 1 1 1.00 vmovmskps %ymm0, %ecx -# CHECK-NEXT: 1 1 0.50 * vmovntdq %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 * vmovntdq %ymm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %xmm2 -# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 * vmovntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 * vmovntpd %ymm0, (%rax) -# CHECK-NEXT: 1 1 0.50 * vmovntps %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 * vmovntps %ymm0, (%rax) -# CHECK-NEXT: 1 1 0.25 vmovq %xmm0, %xmm2 -# CHECK-NEXT: 1 3 1.00 vmovq %rax, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vmovq (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 vmovq %xmm0, %rcx -# CHECK-NEXT: 1 1 0.50 * vmovq %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovsd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vmovshdup (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovshdup %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vmovshdup (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vmovsldup (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vmovsldup %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vmovsldup (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vmovss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovss %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vmovupd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovupd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovupd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vmovupd %ymm0, %ymm2 -# CHECK-NEXT: 1 1 0.50 * vmovupd %ymm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovupd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vmovups %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vmovups %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovups (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vmovups %ymm0, %ymm2 -# CHECK-NEXT: 1 1 0.50 * vmovups %ymm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * vmovups (%rax), %ymm2 -# CHECK-NEXT: 1 100 - vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 0.50 vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 0.50 vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 0.50 vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 0.50 vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 0.50 vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 10 0.50 * vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpabsb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpabsd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpabsw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpackuswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpaddb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpaddb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpaddq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpaddq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpaddsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpaddsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpaddusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpaddusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpaddusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpaddusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpalignr $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpand (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpandn %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpandn (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpavgb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpavgb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpavgw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpavgw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.33 vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 0.50 * vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vpclmulqdq $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpcmpeqb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpeqb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpcmpeqd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpeqd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpcmpeqq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpcmpeqw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpcmpgtb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpcmpgtd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpgtd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpgtq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vperm2f128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpermilpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpermilpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpermilpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpermilpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpermilps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpermilps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpermilps $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.50 vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 2.00 vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: 2 5 3.00 * vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 1 2 2.00 vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: 2 5 3.00 * vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 1 2 2.00 vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: 2 5 3.00 * vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 1 2 2.00 vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: 2 5 3.00 * vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 100 - vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vphminposuw %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vphminposuw (%rax), %xmm2 -# CHECK-NEXT: 1 100 - vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpinsrw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vpmaddubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vpmaddwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmaxsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmaxsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmaxub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmaxud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmaxuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpminsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpminsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpminsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpminsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpminub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpminub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpminud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpminud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpminuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpminuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 1 0.25 vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 vpmuldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vpmuldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vpmulhrsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vpmulhuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vpmulhuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vpmulhw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vpmulhw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 1.00 * vpmulld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vpmullw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vpmullw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vpmuludq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 11 1.00 * vpmuludq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsignb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsignb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsignd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsignd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsignw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsignw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpslld $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 1 1.00 vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 1.00 * vpsrlw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsubb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsubb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsubq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsubq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsubsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsubsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsubusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsubusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsubusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsubusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 1.00 vptest %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * vptest (%rax), %xmm1 -# CHECK-NEXT: 1 1 1.00 vptest %ymm0, %ymm1 -# CHECK-NEXT: 2 8 1.00 * vptest (%rax), %ymm1 -# CHECK-NEXT: 1 1 0.25 vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpunpcklwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vpxor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpxor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vrcpps %xmm0, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vrcpps (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 vrcpps %ymm0, %ymm2 -# CHECK-NEXT: 3 12 0.50 * vrcpps (%rax), %ymm2 -# CHECK-NEXT: 1 5 0.50 vrcpss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vrcpss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 4 1.00 vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: 2 11 1.00 * vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: 1 4 1.00 vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 1.00 * vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 4 1.00 vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 11 1.00 * vroundss $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vrsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 12 0.50 * vrsqrtps (%rax), %xmm2 -# CHECK-NEXT: 2 5 1.00 vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 2 12 0.50 * vrsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 5 0.50 vrsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 12 1.00 * vrsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vshufpd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vshufpd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vshufpd $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vshufpd $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vshufps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vshufps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vshufps $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vshufps $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 20 20.00 vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 1 27 20.00 * vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 40 40.00 vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: 2 47 40.00 * vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: 1 20 20.00 vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 27 20.00 * vsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 28 28.00 vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 2 35 28.00 * vsqrtps (%rax), %ymm2 -# CHECK-NEXT: 1 20 20.00 vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 27 20.00 * vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 20 20.00 vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 27 20.00 * vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 100 - * * * vstmxcsr (%rax) -# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 10 1.00 * vsubss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vtestpd %xmm0, %xmm1 -# CHECK-NEXT: 1 8 0.50 * vtestpd (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.25 vtestpd %ymm0, %ymm1 -# CHECK-NEXT: 1 8 0.50 * vtestpd (%rax), %ymm1 -# CHECK-NEXT: 1 1 0.25 vtestps %xmm0, %xmm1 -# CHECK-NEXT: 1 8 0.50 * vtestps (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.25 vtestps %ymm0, %ymm1 -# CHECK-NEXT: 1 8 0.50 * vtestps (%rax), %ymm1 -# CHECK-NEXT: 1 3 1.00 vucomisd %xmm0, %xmm1 -# CHECK-NEXT: 1 10 1.00 * vucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 3 1.00 vucomiss %xmm0, %xmm1 -# CHECK-NEXT: 1 10 1.00 * vucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 vunpckhpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vunpckhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vunpckhpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vunpckhpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vunpckhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vunpckhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vunpckhps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vunpckhps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vunpcklpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vunpcklpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vunpcklpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vunpcklpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vunpcklps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vunpcklps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vunpcklps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vunpcklps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.25 vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * * * vzeroall -# CHECK-NEXT: 1 100 - * * * vzeroupper +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 0.50 vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vaesimc %xmm0, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vaesimc (%rax), %xmm2 +# CHECK-NEXT: 1 4 0.50 vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 11 0.50 * vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vandps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vblendpd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vblendpd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vblendpd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vblendpd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vblendps $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vblendps $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vblendps $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vblendps $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vbroadcastf128 (%rax), %ymm2 +# CHECK-NEXT: 1 8 0.50 * vbroadcastsd (%rax), %ymm2 +# CHECK-NEXT: 1 8 0.50 * vbroadcastss (%rax), %xmm2 +# CHECK-NEXT: 1 8 0.50 * vbroadcastss (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcmppd $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vcmppd $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcmpps $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vcmpps $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1 +# CHECK-NEXT: 1 10 1.00 * vcomisd (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1 +# CHECK-NEXT: 1 10 1.00 * vcomiss (%rax), %xmm1 +# CHECK-NEXT: 1 5 1.00 vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: 1 12 1.00 * vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vcvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: 1 12 1.00 * vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 12 1.00 * vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 12 1.00 * vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: 1 12 1.00 * vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: 2 10 1.00 * vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: 1 12 1.00 * vcvtsd2si (%rax), %ecx +# CHECK-NEXT: 1 12 1.00 * vcvtsd2si (%rax), %rcx +# CHECK-NEXT: 1 4 1.00 vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 1.00 * vcvtsd2ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtsi2sdl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtsi2sdq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * vcvtsi2sdl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * vcvtsi2sdq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtsi2ssq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * vcvtsi2ssl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * vcvtsi2ssq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 2.00 * vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvtss2si %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 vcvtss2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * vcvtss2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * vcvtss2si (%rax), %rcx +# CHECK-NEXT: 1 5 1.00 vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 12 1.00 * vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 2 12 1.00 * vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: 1 12 1.00 * vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: 1 5 1.00 vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: 1 12 1.00 * vcvttsd2si (%rax), %ecx +# CHECK-NEXT: 1 12 1.00 * vcvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 5 1.00 vcvttss2si %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 vcvttss2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * vcvttss2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * vcvttss2si (%rax), %rcx +# CHECK-NEXT: 1 15 1.00 vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 22 1.00 * vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 15 15.00 vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 22 22.00 * vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 15 1.00 vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 22 1.00 * vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 12 12.00 vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 19 19.00 * vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 15 1.00 vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 22 1.00 * vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 15 1.00 vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 22 1.00 * vdivss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vdppd $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.33 vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: 2 2 2.00 vextractps $1, %xmm0, %ecx +# CHECK-NEXT: 2 5 2.50 * vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 100 - vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 0.67 vinsertf128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 0.67 * vinsertf128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vinsertps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vinsertps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %xmm2 +# CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %ymm2 +# CHECK-NEXT: 1 100 - * * * vldmxcsr (%rax) +# CHECK-NEXT: 1 100 - * * * vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 8 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 1 4 0.50 * * vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 5 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 1 4 0.50 * * vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 2 5 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 3 1.00 vmaxpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vmaxpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vmaxps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vmaxps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmaxss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vmaxss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vminpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vminpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vminps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vminps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vminss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vminss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vmovapd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovapd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovapd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vmovapd %ymm0, %ymm2 +# CHECK-NEXT: 1 1 0.50 * vmovapd %ymm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovapd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vmovaps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovaps %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vmovaps %ymm0, %ymm2 +# CHECK-NEXT: 1 1 0.50 * vmovaps %ymm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovaps (%rax), %ymm2 +# CHECK-NEXT: 1 3 1.00 vmovd %eax, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vmovd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 vmovd %xmm0, %ecx +# CHECK-NEXT: 1 1 0.50 * vmovd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 vmovddup %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vmovddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovddup %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vmovddup (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vmovdqa %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovdqa %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovdqa (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.25 vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: 1 1 0.50 * vmovdqa %ymm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovdqa (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vmovdqu %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovdqu %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovdqu (%rax), %xmm2 +# CHECK-NEXT: 2 2 0.25 vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: 1 1 0.50 * vmovdqu %ymm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovdqu (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovhlps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovlhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovhpd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovhps %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovlpd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovlps %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovlps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vmovmskpd %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 vmovmskpd %ymm0, %ecx +# CHECK-NEXT: 1 1 1.00 vmovmskps %xmm0, %ecx +# CHECK-NEXT: 1 1 1.00 vmovmskps %ymm0, %ecx +# CHECK-NEXT: 1 1 0.50 * vmovntdq %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 * vmovntdq %ymm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %xmm2 +# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 * vmovntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 * vmovntpd %ymm0, (%rax) +# CHECK-NEXT: 1 1 0.50 * vmovntps %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 * vmovntps %ymm0, (%rax) +# CHECK-NEXT: 1 1 0.25 vmovq %xmm0, %xmm2 +# CHECK-NEXT: 1 3 1.00 vmovq %rax, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vmovq (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 vmovq %xmm0, %rcx +# CHECK-NEXT: 1 1 0.50 * vmovq %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovsd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vmovshdup (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovshdup %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vmovshdup (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vmovsldup (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vmovsldup %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vmovsldup (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vmovss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovss %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vmovupd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovupd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovupd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vmovupd %ymm0, %ymm2 +# CHECK-NEXT: 1 1 0.50 * vmovupd %ymm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovupd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vmovups %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vmovups %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovups (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vmovups %ymm0, %ymm2 +# CHECK-NEXT: 1 1 0.50 * vmovups %ymm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * vmovups (%rax), %ymm2 +# CHECK-NEXT: 1 100 - vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 0.50 vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 0.50 vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 0.50 vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 10 0.50 * vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpabsb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpabsd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpabsw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpaddq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpaddq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpaddsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpaddsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpaddusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpaddusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpaddusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpaddusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpandn (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpavgb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpavgb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpavgw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpavgw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.33 vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 0.50 * vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vpclmulqdq $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpcmpeqb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpeqb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpcmpeqd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpeqd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpcmpeqq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpcmpeqw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpcmpgtb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpcmpgtd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpgtd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpgtq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpermilpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpermilpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpermilpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpermilpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpermilps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpermilps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpermilps $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.50 vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 2.00 vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: 2 5 3.00 * vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 1 2 2.00 vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: 2 5 3.00 * vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 1 2 2.00 vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: 2 5 3.00 * vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 1 2 2.00 vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: 2 5 3.00 * vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 100 - vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vphminposuw %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vphminposuw (%rax), %xmm2 +# CHECK-NEXT: 1 100 - vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vpmaddubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vpmaddwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmaxsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmaxsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmaxub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmaxud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmaxuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpminsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpminsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpminsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpminsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpminub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpminub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpminud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpminud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpminuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpminuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 1 0.25 vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 vpmuldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vpmuldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vpmulhrsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vpmulhuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vpmulhuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vpmulhw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vpmulhw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 1.00 * vpmulld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vpmullw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vpmullw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vpmuludq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 11 1.00 * vpmuludq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsignb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsignb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsignd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsignd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsignw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsignw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpslld $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 1 1.00 vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 1.00 * vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsubq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsubq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsubsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsubsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsubusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsubusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsubusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsubusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 1.00 vptest %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * vptest (%rax), %xmm1 +# CHECK-NEXT: 1 1 1.00 vptest %ymm0, %ymm1 +# CHECK-NEXT: 2 8 1.00 * vptest (%rax), %ymm1 +# CHECK-NEXT: 1 1 0.25 vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpxor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vrcpps %xmm0, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vrcpps (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 vrcpps %ymm0, %ymm2 +# CHECK-NEXT: 3 12 0.50 * vrcpps (%rax), %ymm2 +# CHECK-NEXT: 1 5 0.50 vrcpss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vrcpss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 4 1.00 vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: 2 11 1.00 * vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: 1 4 1.00 vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 1.00 * vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 4 1.00 vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 11 1.00 * vroundss $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vrsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 12 0.50 * vrsqrtps (%rax), %xmm2 +# CHECK-NEXT: 2 5 1.00 vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 2 12 0.50 * vrsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 5 0.50 vrsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 12 1.00 * vrsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vshufpd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vshufpd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vshufpd $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vshufpd $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vshufps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vshufps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vshufps $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 20 20.00 vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 1 27 20.00 * vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 40 40.00 vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: 2 47 40.00 * vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: 1 20 20.00 vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 27 20.00 * vsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 28 28.00 vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 2 35 28.00 * vsqrtps (%rax), %ymm2 +# CHECK-NEXT: 1 20 20.00 vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 27 20.00 * vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 20 20.00 vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 27 20.00 * vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 100 - * * * vstmxcsr (%rax) +# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 3 1.00 vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 10 1.00 * vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vtestpd %xmm0, %xmm1 +# CHECK-NEXT: 1 8 0.50 * vtestpd (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.25 vtestpd %ymm0, %ymm1 +# CHECK-NEXT: 1 8 0.50 * vtestpd (%rax), %ymm1 +# CHECK-NEXT: 1 1 0.25 vtestps %xmm0, %xmm1 +# CHECK-NEXT: 1 8 0.50 * vtestps (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.25 vtestps %ymm0, %ymm1 +# CHECK-NEXT: 1 8 0.50 * vtestps (%rax), %ymm1 +# CHECK-NEXT: 1 3 1.00 vucomisd %xmm0, %xmm1 +# CHECK-NEXT: 1 10 1.00 * vucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 3 1.00 vucomiss %xmm0, %xmm1 +# CHECK-NEXT: 1 10 1.00 * vucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 vunpckhpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vunpckhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vunpckhpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vunpckhpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vunpckhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vunpckhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vunpckhps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vunpckhps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vunpcklpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vunpcklpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vunpcklpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vunpcklpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vunpcklps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vunpcklps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vunpcklps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vunpcklps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.25 vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * * * vzeroall +# CHECK-NEXT: 1 100 - * * * vzeroupper # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 168.00 168.00 - - - - - 194.25 142.75 168.25 504.75 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesdec %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesdec (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesdeclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesdeclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesenc %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesenc (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesenclast %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesenclast (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesimc %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesimc (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaeskeygenassist $22, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaeskeygenassist $22, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandnpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandnpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandnpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandnpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandnps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandnps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandnps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandnps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - 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: - - - - - - - 0.50 0.50 - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - vbroadcastf128 (%rax), %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcastsd (%rax), %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcastss (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcastss (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmppd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmppd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmppd $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmppd $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpps $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpps $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpps $0, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpps $0, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpsd $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpss $0, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpss $0, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vcomisd %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcomisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vcomiss %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtdq2pd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvtpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - vcvtpd2psx (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtpd2psy (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtps2pd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vcvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vcvtsd2si %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vcvtsd2si (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vcvtsd2si (%rax), %rcx -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtsd2ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - vcvtsd2ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.33 0.33 - 1.33 - vcvtsi2sdl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtsi2sdq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtsi2sdl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtsi2sdq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtsi2ssl %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtsi2ssq %rcx, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtsi2ssl (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtsi2ssq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 2.00 - vcvtss2sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtss2si %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtss2si %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvtss2si (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvtss2si (%rax), %rcx -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvttpd2dqy (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvttps2dq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vcvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vcvttsd2si %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vcvttsd2si (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vcvttsd2si (%rax), %rcx -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvttss2si %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvttss2si %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvttss2si (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvttss2si (%rax), %rcx -# CHECK-NEXT: - - - - - - - - - - 1.00 - vdivpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vdivpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 15.00 - vdivpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 22.00 - vdivpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vdivps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vdivps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 12.00 - vdivps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 19.00 - vdivps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vdivsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vdivsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vdivss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vdivss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vdppd $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vdppd $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vdpps $22, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vdpps $22, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vdpps $22, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vextractf128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vextractf128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vextractps $1, %xmm0, %ecx -# CHECK-NEXT: 2.50 2.50 - - - - - - 0.50 2.50 - - vextractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vhaddpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vhaddpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vhaddpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vhaddps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vhaddps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vhaddps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vhaddps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vhsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vhsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vhsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vhsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vhsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vhsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vhsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vhsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vinsertf128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vinsertf128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vinsertps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 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: - - - - - - - - - - - - vldmxcsr (%rax) -# CHECK-NEXT: - - - - - - - - - - - - vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmaskmovps %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vminpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vminpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vminps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vminps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vminss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovapd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovapd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovapd %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovapd %ymm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovapd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovaps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovaps %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovaps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovaps %ymm0, %ymm2 -# CHECK-NEXT: 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: 0.50 0.50 - - - - - - - - - - vmovd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovddup %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovddup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovddup %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovddup (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovdqa %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqa %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovdqa %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqa %ymm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqa (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovdqu %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqu %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovdqu %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqu %ymm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqu (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovhlps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovlhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovhpd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovhps %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovlpd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovlpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovlps %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - 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: 0.50 0.50 - - - - - - - - - - vmovntdq %xmm0, (%rax) -# CHECK-NEXT: 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: 0.50 0.50 - - - - - - - - - - vmovntpd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntpd %ymm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntps %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntps %ymm0, (%rax) -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - 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: 0.50 0.50 - - - - - - - - - - vmovq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovsd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovshdup %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovshdup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovshdup %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovshdup (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovsldup %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovsldup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovsldup %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovsldup (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovss %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovupd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovupd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovupd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovupd %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovupd %ymm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovupd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovups %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovups %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovups (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovups %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovups %ymm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovups (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackuswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpand (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpandn %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpandn (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpblendw $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vpclmulqdq $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vpcmpgtq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vpcmpgtq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilps $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilps $1, %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vphminposuw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vphminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpinsrw $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpmovmskb %xmm0, %ecx -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhrsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhrsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmullw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmullw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuludq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuludq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsadbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpslld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vptest %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vptest (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vptest %ymm0, %ymm1 -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vptest (%rax), %ymm1 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpxor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpxor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vrcpps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrcpps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vrcpps %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrcpps (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vrcpss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrcpss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundsd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundsd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundss $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundss $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vrsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vrsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrsqrtps (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.50 - 0.50 - - vrsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - vrsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vshufpd $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vshufpd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vshufpd $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vshufpd $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vshufps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vshufps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vshufps $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vshufps $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - 20.00 - vsqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - vsqrtpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 40.00 - vsqrtpd %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 40.00 - vsqrtpd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - - 20.00 - vsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - vsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 28.00 - vsqrtps %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 28.00 - vsqrtps (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - - 20.00 - vsqrtsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - vsqrtsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 20.00 - vsqrtss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - vsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vstmxcsr (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestpd %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vtestpd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestpd %ymm0, %ymm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vtestpd (%rax), %ymm1 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestps %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vtestps (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestps %ymm0, %ymm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vtestps (%rax), %ymm1 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vucomisd %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vucomiss %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpckhpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpckhpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpckhpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpckhpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpckhps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpckhps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpckhps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpckhps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpcklpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpcklpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpcklpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpcklpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpcklps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpcklps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpcklps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpcklps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vxorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vxorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vxorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vxorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vxorps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vxorps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vxorps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vxorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vzeroall -# CHECK-NEXT: - - - - - - - - - - - - vzeroupper +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vaddsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vaddsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesdec %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesdec (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesdeclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesdeclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesenc %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesenc (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesenclast %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesenclast (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaesimc %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaesimc (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vaeskeygenassist $22, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vaeskeygenassist $22, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandnpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandnpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandnpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandnpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandnps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandnps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandnps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandnps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vandps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vandps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - 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: - - - - - - - 0.50 0.50 - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - vbroadcastf128 (%rax), %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcastsd (%rax), %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcastss (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcastss (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmppd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmppd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmppd $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmppd $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpps $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpps $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpps $0, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpps $0, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpsd $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpss $0, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpss $0, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vcomisd %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcomisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vcomiss %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvtpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - vcvtpd2psx (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vcvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vcvtsd2si %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vcvtsd2si (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vcvtsd2si (%rax), %rcx +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtsd2ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - vcvtsd2ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.33 0.33 - 1.33 - vcvtsi2sdl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtsi2sdq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtsi2sdl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtsi2sdq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtsi2ssl %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtsi2ssq %rcx, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtsi2ssl (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvtsi2ssq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 2.00 - vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtss2si %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvtss2si %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvtss2si (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvtss2si (%rax), %rcx +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvttpd2dqx (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vcvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - vcvttsd2si %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vcvttsd2si (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - vcvttsd2si (%rax), %rcx +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvttss2si %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - vcvttss2si %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvttss2si (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - vcvttss2si (%rax), %rcx +# CHECK-NEXT: - - - - - - - - - - 1.00 - vdivpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vdivpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 15.00 - vdivpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 22.00 - vdivpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vdivps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vdivps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 12.00 - vdivps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 19.00 - vdivps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vdivsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vdivsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vdivss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vdivss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vdppd $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vdppd $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vdpps $22, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vdpps $22, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vdpps $22, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vextractf128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vextractf128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vextractps $1, %xmm0, %ecx +# CHECK-NEXT: 2.50 2.50 - - - - - - 0.50 2.50 - - vextractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vhaddpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vhaddpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vhaddpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vhaddps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vhaddps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vhaddps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vhaddps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vhsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vhsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vhsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vhsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vhsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vhsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vhsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vhsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vinsertf128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vinsertf128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vinsertps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 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: - - - - - - - - - - - - vldmxcsr (%rax) +# CHECK-NEXT: - - - - - - - - - - - - vmaskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmaskmovps %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vmaxss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vmaxss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vminpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vminpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vminps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vminps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vminss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vminss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovapd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovapd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovapd %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovapd %ymm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovapd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovaps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovaps %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovaps %ymm0, %ymm2 +# CHECK-NEXT: 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: 0.50 0.50 - - - - - - - - - - vmovd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovddup %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovddup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovddup %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovddup (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovdqa %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqa %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqa %ymm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovdqu %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqu %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqu %ymm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovdqu (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovhlps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovlhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovhpd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovhps %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovlpd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovlps %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - 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: 0.50 0.50 - - - - - - - - - - vmovntdq %xmm0, (%rax) +# CHECK-NEXT: 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: 0.50 0.50 - - - - - - - - - - vmovntpd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntpd %ymm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntps %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntps %ymm0, (%rax) +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - 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: 0.50 0.50 - - - - - - - - - - vmovq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovsd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovshdup %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovshdup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovshdup %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovshdup (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovsldup %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovsldup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovsldup %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vmovsldup (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vmovss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovss %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovupd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovupd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovupd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovupd %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovupd %ymm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovupd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovups %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovups %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovups (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vmovups %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovups %ymm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovups (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpandn (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpclmulqdq $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vpcmpgtq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vpcmpgtq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilps $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilps $1, %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vphminposuw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vphminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhrsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhrsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmullw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmullw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuludq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuludq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsadbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpslld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vptest %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vptest (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vptest %ymm0, %ymm1 +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vptest (%rax), %ymm1 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpxor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vrcpps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrcpps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vrcpps %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrcpps (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vrcpss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrcpss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundsd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundsd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - vroundss $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - vroundss $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vrsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vrsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vrsqrtps (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.50 - 0.50 - - vrsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - vrsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vshufpd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vshufpd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vshufpd $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vshufpd $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vshufps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vshufps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vshufps $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - 20.00 - vsqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - vsqrtpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 40.00 - vsqrtpd %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 40.00 - vsqrtpd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - - 20.00 - vsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - vsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 28.00 - vsqrtps %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 28.00 - vsqrtps (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - - 20.00 - vsqrtsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - vsqrtsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 20.00 - vsqrtss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - vsqrtss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vstmxcsr (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vsubss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vsubss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestpd %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vtestpd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestpd %ymm0, %ymm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vtestpd (%rax), %ymm1 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestps %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vtestps (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vtestps %ymm0, %ymm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vtestps (%rax), %ymm1 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vucomisd %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vucomiss %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpckhpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpckhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpckhpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpckhpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpckhps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpckhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpckhps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpckhps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpcklpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpcklpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpcklpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpcklpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpcklps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpcklps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vunpcklps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vunpcklps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vxorpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vxorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vxorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vxorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vxorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vxorps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vxorps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vxorps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vzeroall +# CHECK-NEXT: - - - - - - - - - - - - vzeroupper diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s index 54af281..492fe1d 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s @@ -456,624 +456,624 @@ vpxor (%rax), %ymm1, %ymm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 8 0.50 * vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: 1 100 0.25 vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: 1 100 0.25 vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: 1 2 0.25 vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: 1 100 - * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: 1 2 0.25 vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: 1 100 - vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpabsb %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpabsb (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vpabsd %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpabsd (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vpabsw %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpabsw (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 2 8 1.00 * vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 2 1 0.50 vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 1.50 * vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 1.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 1.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 0.33 vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 9 0.50 * vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: 1 2 0.25 vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: 2 8 2.00 * vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: 1 1 0.25 vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: 1 2 0.25 vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: 1 1 0.25 vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: 1 2 0.25 vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: 1 1 0.25 vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: 1 2 0.25 vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: 2 8 2.00 * vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: 1 1 0.25 vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 8 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 0.25 vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 0.50 * vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 0.25 vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 107 0.50 * vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 100 0.25 vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 107 0.50 * vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 0.25 vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 9 0.50 * vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: 1 100 - * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: 1 100 - * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: 1 100 - vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 100 - * vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 1 100 - * * vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 1 100 - * * vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 2 8 1.00 * vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 2 9 1.50 * vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: 1 100 - * * vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: 1 100 - * * vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 1 1 0.25 vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 2 2 2.00 vpmovmskb %ymm0, %ecx -# CHECK-NEXT: 2 1 0.50 vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: 2 1 0.50 vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: 2 8 0.50 * vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: 1 4 1.00 vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 2.00 vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 2 12 2.00 * vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 4 1.00 vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 11 1.00 * vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 8 0.50 * vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: 1 2 1.00 vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 9 1.00 * vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 1 0.25 vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 8 0.50 * vpxor (%rax), %ymm1, %ymm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 8 0.50 * vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: 1 100 0.25 vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: 1 100 0.25 vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: 1 2 0.25 vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: 1 100 - * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 - * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 1 100 - * vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 - * vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 - * vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 - * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 - * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 - * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: 1 2 0.25 vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: 1 100 - vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpabsb %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpabsb (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vpabsd %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpabsd (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vpabsw %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpabsw (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 2 8 1.00 * vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 2 1 0.50 vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 1.50 * vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 1.00 vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 1.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 0.33 vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 9 0.50 * vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: 1 2 0.25 vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: 2 8 2.00 * vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: 1 1 0.25 vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: 1 2 0.25 vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: 1 1 0.25 vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: 1 2 0.25 vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: 1 1 0.25 vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: 1 2 0.25 vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: 2 8 2.00 * vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: 1 1 0.25 vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 8 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 0.25 vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 0.25 vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 107 0.50 * vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 100 0.25 vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 107 0.50 * vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 0.25 vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 9 0.50 * vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: 1 100 - * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 - * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 - * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 - * vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: 1 100 - * vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 - * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 - * vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: 1 100 - * vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: 1 100 - vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 1.00 vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 1.00 * vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 1.00 vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 1.00 * vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 100 - * vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 1 100 - * * vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 1 100 - * * vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 2 8 1.00 * vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 2 9 1.50 * vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: 1 100 - * * vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: 1 100 - * * vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 1 1 0.25 vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 2 2 2.00 vpmovmskb %ymm0, %ecx +# CHECK-NEXT: 2 1 0.50 vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: 2 1 0.50 vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: 2 8 0.50 * vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: 1 4 1.00 vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 1.00 * vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 1.00 vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 1.00 * vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 1.00 vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 1.00 * vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 1.00 vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 1.00 * vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 2.00 vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 2 12 2.00 * vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 1.00 vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 1.00 * vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 4 1.00 vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 11 1.00 * vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 1.00 * vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 1.00 * vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 1.00 * vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 1.00 * vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 1.00 * vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 1.00 * vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 1.00 * vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 8 0.50 * vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 1 0.50 vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: 1 2 1.00 vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 9 1.00 * vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 1 0.25 vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 8 0.50 * vpxor (%rax), %ymm1, %ymm2 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 63.50 63.50 - - - - - 72.67 75.17 84.50 42.67 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vbroadcasti128 (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vbroadcastsd %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vbroadcastss %xmm0, %ymm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vextracti128 $1, %ymm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vextracti128 $1, %ymm0, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vinserti128 $1, %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vinserti128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntdqa (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsb %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsb (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsd %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsw %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackssdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackssdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpacksswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpacksswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackusdw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackusdw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackuswb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackuswb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpand %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpand (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpandn %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpandn (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vpblendd $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vpblendd $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vpblendd $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 1.50 - - - vpblendd $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpblendw $11, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpblendw $11, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastb %xmm0, %xmm0 -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpbroadcastb (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastb %xmm0, %ymm0 -# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 - - - vpbroadcastb (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd %xmm0, %xmm0 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd %xmm0, %ymm0 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq %xmm0, %xmm0 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq %xmm0, %ymm0 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastw %xmm0, %xmm0 -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpbroadcastw (%rax), %xmm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastw %xmm0, %ymm0 -# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 - - - vpbroadcastw (%rax), %ymm0 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vpcmpgtq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - vpcmpgtq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermpd $1, %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermq $1, %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermq $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphaddw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vphsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vpmaskmovq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 1.50 - - - vpmaskmovq (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovq %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovq %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminub %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminub (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminud %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminud (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - 2.00 - - vpmovmskb %ymm0, %ecx -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbd %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbq %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbw %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxdq %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxwd %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxwq %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxwq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbd %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxbd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbq %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxbq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbw %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxbw (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxdq %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxdq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxwd %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxwd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxwq %xmm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxwq (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhrsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhrsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhuw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhuw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmulld %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 2.00 - - - - vpmulld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmullw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmullw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuludq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuludq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpor (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsadbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpsadbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, %ymm0, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpslld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpslld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrad $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrad (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsravd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsravd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsravd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsravd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsraw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsraw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrld $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrld (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlq $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlw $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusb %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusb (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpxor %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpxor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vbroadcasti128 (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vbroadcastsd %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vbroadcastss %xmm0, %ymm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vextracti128 $1, %ymm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vextracti128 $1, %ymm0, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vgatherdps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vgatherdps %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vgatherqpd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vinserti128 $1, %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vinserti128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntdqa (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsb %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsb (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsd %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsw %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackssdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackssdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpacksswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpacksswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackusdw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackusdw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackuswb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackuswb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpand %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpand (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpandn %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpandn (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vpblendd $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vpblendd $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vpblendd $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 1.50 - - - vpblendd $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpblendvb %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpblendw $11, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpblendw $11, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastb %xmm0, %xmm0 +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpbroadcastb (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastb %xmm0, %ymm0 +# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 - - - vpbroadcastb (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd %xmm0, %xmm0 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd %xmm0, %ymm0 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq %xmm0, %xmm0 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq %xmm0, %ymm0 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastw %xmm0, %xmm0 +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpbroadcastw (%rax), %xmm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastw %xmm0, %ymm0 +# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 - - - vpbroadcastw (%rax), %ymm0 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vpcmpgtq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - vpcmpgtq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermpd $1, %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpermq $1, %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpermq $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpgatherdq %ymm0, (%rax,%xmm1,2), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vpgatherqd %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vpgatherqq %xmm0, (%rax,%xmm1,2), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpgatherqq %ymm0, (%rax,%ymm1,2), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphaddw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vphsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vpmaskmovq (%rax), %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 1.50 - - - vpmaskmovq (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovq %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovq %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminub %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminub (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminud %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminud (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - 2.00 - - vpmovmskb %ymm0, %ecx +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbd %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbq %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbw %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxdq %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxwd %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxwq %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxwq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbd %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxbd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbq %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxbq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbw %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxbw (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxdq %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxdq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxwd %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxwd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxwq %xmm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxwq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhrsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhrsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhuw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhuw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmulhw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 2.00 - - - - vpmulld %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 2.00 - - - - vpmulld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmullw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmullw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuludq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuludq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpor (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsadbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpsadbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, %ymm0, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpslld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpslld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsllvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsllvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsllw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrad $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrad %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrad (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsravd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsravd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsravd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsravd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsraw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsraw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsraw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrld $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrld (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrldq $1, %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlq $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrlvq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpsrlvq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrlw $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusb %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusb (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpxor %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpxor (%rax), %ymm1, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s index a77b5ca..d23f08f 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s @@ -45,74 +45,74 @@ tzcnt (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.25 andnl %eax, %ebx, %ecx -# CHECK-NEXT: 2 5 0.50 * andnl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 1 0.25 andnq %rax, %rbx, %rcx -# CHECK-NEXT: 2 5 0.50 * andnq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 1 0.25 bextrl %eax, %ebx, %ecx -# CHECK-NEXT: 2 5 0.50 * bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.25 bextrq %rax, %rbx, %rcx -# CHECK-NEXT: 2 5 0.50 * bextrq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 2 0.25 blsil %eax, %ecx -# CHECK-NEXT: 1 6 0.50 * blsil (%rax), %ecx -# CHECK-NEXT: 1 2 0.25 blsiq %rax, %rcx -# CHECK-NEXT: 1 6 0.50 * blsiq (%rax), %rcx -# CHECK-NEXT: 1 2 0.25 blsmskl %eax, %ecx -# CHECK-NEXT: 1 6 0.50 * blsmskl (%rax), %ecx -# CHECK-NEXT: 1 2 0.25 blsmskq %rax, %rcx -# CHECK-NEXT: 1 6 0.50 * blsmskq (%rax), %rcx -# CHECK-NEXT: 1 2 0.25 blsrl %eax, %ecx -# CHECK-NEXT: 1 6 0.50 * blsrl (%rax), %ecx -# CHECK-NEXT: 1 2 0.25 blsrq %rax, %rcx -# CHECK-NEXT: 1 6 0.50 * blsrq (%rax), %rcx -# CHECK-NEXT: 1 2 0.25 tzcntl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * tzcntl (%rax), %ecx -# CHECK-NEXT: 1 2 0.25 tzcntq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * tzcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.25 andnl %eax, %ebx, %ecx +# CHECK-NEXT: 2 5 0.50 * andnl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 1 0.25 andnq %rax, %rbx, %rcx +# CHECK-NEXT: 2 5 0.50 * andnq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 1 0.25 bextrl %eax, %ebx, %ecx +# CHECK-NEXT: 2 5 0.50 * bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.25 bextrq %rax, %rbx, %rcx +# CHECK-NEXT: 2 5 0.50 * bextrq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 2 0.25 blsil %eax, %ecx +# CHECK-NEXT: 1 6 0.50 * blsil (%rax), %ecx +# CHECK-NEXT: 1 2 0.25 blsiq %rax, %rcx +# CHECK-NEXT: 1 6 0.50 * blsiq (%rax), %rcx +# CHECK-NEXT: 1 2 0.25 blsmskl %eax, %ecx +# CHECK-NEXT: 1 6 0.50 * blsmskl (%rax), %ecx +# CHECK-NEXT: 1 2 0.25 blsmskq %rax, %rcx +# CHECK-NEXT: 1 6 0.50 * blsmskq (%rax), %rcx +# CHECK-NEXT: 1 2 0.25 blsrl %eax, %ecx +# CHECK-NEXT: 1 6 0.50 * blsrl (%rax), %ecx +# CHECK-NEXT: 1 2 0.25 blsrq %rax, %rcx +# CHECK-NEXT: 1 6 0.50 * blsrq (%rax), %rcx +# CHECK-NEXT: 1 2 0.25 tzcntl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * tzcntl (%rax), %ecx +# CHECK-NEXT: 1 2 0.25 tzcntq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * tzcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 6.00 6.00 6.00 6.00 6.00 6.00 - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andnl %eax, %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andnl (%rax), %ebx, %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andnq %rax, %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andnq (%rax), %rbx, %rcx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bextrl %eax, %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bextrl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bextrq %rax, %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bextrq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsil %eax, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsil (%rax), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsiq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsiq (%rax), %rcx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsmskl %eax, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsmskl (%rax), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsmskq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsmskq (%rax), %rcx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsrl %eax, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsrl (%rax), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsrq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsrq (%rax), %rcx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - tzcntl %eax, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - tzcntl (%rax), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - tzcntq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - tzcntq (%rax), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andnl %eax, %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andnl (%rax), %ebx, %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andnq %rax, %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andnq (%rax), %rbx, %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bextrl %eax, %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bextrl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bextrq %rax, %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bextrq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsil %eax, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsil (%rax), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsiq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsiq (%rax), %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsmskl %eax, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsmskl (%rax), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsmskq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsmskq (%rax), %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsrl %eax, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsrl (%rax), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - blsrq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - blsrq (%rax), %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - tzcntl %eax, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - tzcntl (%rax), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - tzcntq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - tzcntq (%rax), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s index 217619a..cee15c7 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s @@ -57,90 +57,90 @@ shrx %rax, (%rbx), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.25 bzhil %eax, %ebx, %ecx -# CHECK-NEXT: 2 5 0.50 * bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.25 bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: 2 5 0.50 * bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 3 2.00 mulxl %eax, %ebx, %ecx -# CHECK-NEXT: 1 8 2.00 * mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 3 1.00 mulxq %rax, %rbx, %rcx -# CHECK-NEXT: 1 8 1.00 * mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 100 - pdepl %eax, %ebx, %ecx -# CHECK-NEXT: 1 100 - * pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 100 - pdepq %rax, %rbx, %rcx -# CHECK-NEXT: 1 100 - * pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 100 - pextl %eax, %ebx, %ecx -# CHECK-NEXT: 1 100 - * pextl (%rax), %ebx, %ecx -# CHECK-NEXT: 1 100 - pextq %rax, %rbx, %rcx -# CHECK-NEXT: 1 100 - * pextq (%rax), %rbx, %rcx -# CHECK-NEXT: 1 1 0.25 rorxl $1, %eax, %ecx -# CHECK-NEXT: 2 5 0.50 * rorxl $1, (%rax), %ecx -# CHECK-NEXT: 1 1 0.25 rorxq $1, %rax, %rcx -# CHECK-NEXT: 2 5 0.50 * rorxq $1, (%rax), %rcx -# CHECK-NEXT: 1 1 0.25 sarxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 5 0.50 * sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.25 sarxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 5 0.50 * sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.25 shlxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 5 0.50 * shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.25 shlxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 5 0.50 * shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: 1 1 0.25 shrxl %eax, %ebx, %ecx -# CHECK-NEXT: 2 5 0.50 * shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: 1 1 0.25 shrxq %rax, %rbx, %rcx -# CHECK-NEXT: 2 5 0.50 * shrxq %rax, (%rbx), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.25 bzhil %eax, %ebx, %ecx +# CHECK-NEXT: 2 5 0.50 * bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.25 bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: 2 5 0.50 * bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 3 2.00 mulxl %eax, %ebx, %ecx +# CHECK-NEXT: 1 8 2.00 * mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 3 1.00 mulxq %rax, %rbx, %rcx +# CHECK-NEXT: 1 8 1.00 * mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 100 - pdepl %eax, %ebx, %ecx +# CHECK-NEXT: 1 100 - * pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 100 - pdepq %rax, %rbx, %rcx +# CHECK-NEXT: 1 100 - * pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 100 - pextl %eax, %ebx, %ecx +# CHECK-NEXT: 1 100 - * pextl (%rax), %ebx, %ecx +# CHECK-NEXT: 1 100 - pextq %rax, %rbx, %rcx +# CHECK-NEXT: 1 100 - * pextq (%rax), %rbx, %rcx +# CHECK-NEXT: 1 1 0.25 rorxl $1, %eax, %ecx +# CHECK-NEXT: 2 5 0.50 * rorxl $1, (%rax), %ecx +# CHECK-NEXT: 1 1 0.25 rorxq $1, %rax, %rcx +# CHECK-NEXT: 2 5 0.50 * rorxq $1, (%rax), %rcx +# CHECK-NEXT: 1 1 0.25 sarxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 5 0.50 * sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.25 sarxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 5 0.50 * sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.25 shlxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 5 0.50 * shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.25 shlxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 5 0.50 * shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: 1 1 0.25 shrxl %eax, %ebx, %ecx +# CHECK-NEXT: 2 5 0.50 * shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: 1 1 0.25 shrxq %rax, %rbx, %rcx +# CHECK-NEXT: 2 5 0.50 * shrxq %rax, (%rbx), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 6.00 6.00 5.00 10.00 5.00 5.00 - - - - - 5.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bzhil %eax, %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bzhil %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bzhiq %rax, %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bzhiq %rax, (%rbx), %rcx -# CHECK-NEXT: - - - 1.00 - - - - - - - 2.00 mulxl %eax, %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 - 2.00 - - - - - - - 2.00 mulxl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - 1.00 - - - - - - - - mulxq %rax, %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulxq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - - - - - - - - - - pdepl %eax, %ebx, %ecx -# CHECK-NEXT: - - - - - - - - - - - - pdepl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - - - - - - - - - - pdepq %rax, %rbx, %rcx -# CHECK-NEXT: - - - - - - - - - - - - pdepq (%rax), %rbx, %rcx -# CHECK-NEXT: - - - - - - - - - - - - pextl %eax, %ebx, %ecx -# CHECK-NEXT: - - - - - - - - - - - - pextl (%rax), %ebx, %ecx -# CHECK-NEXT: - - - - - - - - - - - - pextq %rax, %rbx, %rcx -# CHECK-NEXT: - - - - - - - - - - - - pextq (%rax), %rbx, %rcx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorxl $1, %eax, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - rorxl $1, (%rax), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorxq $1, %rax, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - rorxq $1, (%rax), %rcx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarxl %eax, %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarxq %rax, %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlxl %eax, %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlxq %rax, %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlxq %rax, (%rbx), %rcx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrxl %eax, %ebx, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrxl %eax, (%rbx), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrxq %rax, %rbx, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrxq %rax, (%rbx), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bzhil %eax, %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bzhil %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - bzhiq %rax, %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - bzhiq %rax, (%rbx), %rcx +# CHECK-NEXT: - - - 1.00 - - - - - - - 2.00 mulxl %eax, %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 - 2.00 - - - - - - - 2.00 mulxl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - 1.00 - - - - - - - - mulxq %rax, %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulxq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - - - - - - - - - - pdepl %eax, %ebx, %ecx +# CHECK-NEXT: - - - - - - - - - - - - pdepl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - - - - - - - - - - pdepq %rax, %rbx, %rcx +# CHECK-NEXT: - - - - - - - - - - - - pdepq (%rax), %rbx, %rcx +# CHECK-NEXT: - - - - - - - - - - - - pextl %eax, %ebx, %ecx +# CHECK-NEXT: - - - - - - - - - - - - pextl (%rax), %ebx, %ecx +# CHECK-NEXT: - - - - - - - - - - - - pextq %rax, %rbx, %rcx +# CHECK-NEXT: - - - - - - - - - - - - pextq (%rax), %rbx, %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorxl $1, %eax, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - rorxl $1, (%rax), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorxq $1, %rax, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - rorxq $1, (%rax), %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarxl %eax, %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarxq %rax, %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlxl %eax, %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlxq %rax, %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlxq %rax, (%rbx), %rcx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrxl %eax, %ebx, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrxl %eax, (%rbx), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrxq %rax, %rbx, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrxq %rax, (%rbx), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-f16c.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-f16c.s index 748d311..1ece8da 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-f16c.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-f16c.s @@ -21,42 +21,42 @@ vcvtps2ph $0, %ymm0, (%rax) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 - vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: 1 100 - vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: 1 100 - * vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: 1 100 - vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: 1 100 - vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: 1 100 - * vcvtps2ph $0, %ymm0, (%rax) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 100 - vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: 1 100 - vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: 1 100 - * vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: 1 100 - vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: 1 100 - vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: 1 100 - * vcvtps2ph $0, %ymm0, (%rax) # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: - - - - - - - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - - - - - - vcvtph2ps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vcvtph2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vcvtph2ps %xmm0, %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vcvtph2ps (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - - - - vcvtps2ph $0, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vcvtps2ph $0, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - vcvtps2ph $0, %ymm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - vcvtps2ph $0, %ymm0, (%rax) +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - vcvtph2ps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vcvtph2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vcvtph2ps %xmm0, %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vcvtph2ps (%rax), %ymm2 +# CHECK-NEXT: - - - - - - - - - - - - vcvtps2ph $0, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vcvtps2ph $0, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - vcvtps2ph $0, %ymm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - vcvtps2ph $0, %ymm0, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-fma.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-fma.s index b87e27b..4867884 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-fma.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-fma.s @@ -297,410 +297,410 @@ vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmadd132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsub231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmadd231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmadd231ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub231ps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub132sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub213sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub231sd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub132ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub132ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub213ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub213ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: 1 5 0.50 vfnmsub231ss %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: 1 12 0.50 * vfnmsub231ss (%rax), %xmm1, %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmadd132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsub231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmadd231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmadd231ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub231ps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub132sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub213sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub231sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub132ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub132ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub213ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub213ss (%rax), %xmm1, %xmm2 +# CHECK-NEXT: 1 5 0.50 vfnmsub231ss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 1 12 0.50 * vfnmsub231ss (%rax), %xmm1, %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 48.00 48.00 - - - - - 96.00 - - 96.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 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] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 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 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-lzcnt.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-lzcnt.s index 9f2a8b6..ed1f36c 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-lzcnt.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-lzcnt.s @@ -18,38 +18,38 @@ lzcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 2 0.25 lzcntw %cx, %cx -# CHECK-NEXT: 2 6 0.50 * lzcntw (%rax), %cx -# CHECK-NEXT: 1 2 0.25 lzcntl %eax, %ecx -# CHECK-NEXT: 2 6 0.50 * lzcntl (%rax), %ecx -# CHECK-NEXT: 1 2 0.25 lzcntq %rax, %rcx -# CHECK-NEXT: 2 6 0.50 * lzcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 2 0.25 lzcntw %cx, %cx +# CHECK-NEXT: 2 6 0.50 * lzcntw (%rax), %cx +# CHECK-NEXT: 1 2 0.25 lzcntl %eax, %ecx +# CHECK-NEXT: 2 6 0.50 * lzcntl (%rax), %ecx +# CHECK-NEXT: 1 2 0.25 lzcntq %rax, %rcx +# CHECK-NEXT: 2 6 0.50 * lzcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 1.50 1.50 1.50 1.50 1.50 1.50 - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - lzcntw %cx, %cx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lzcntw (%rax), %cx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - lzcntl %eax, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lzcntl (%rax), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - lzcntq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lzcntq (%rax), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - lzcntw %cx, %cx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lzcntw (%rax), %cx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - lzcntl %eax, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lzcntl (%rax), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - lzcntq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - lzcntq (%rax), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-mmx.s index 0bab317..a0973e5 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-mmx.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-mmx.s @@ -163,236 +163,236 @@ pxor (%rax), %mm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 2 0.25 * * * emms -# CHECK-NEXT: 1 3 1.00 movd %eax, %mm2 -# CHECK-NEXT: 1 8 0.50 * movd (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx -# CHECK-NEXT: 1 1 0.50 * * movd %mm0, (%rax) -# CHECK-NEXT: 1 3 1.00 movq %rax, %mm2 -# CHECK-NEXT: 1 8 0.50 * movq (%rax), %mm2 -# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx -# CHECK-NEXT: 1 1 0.50 * movq %mm0, (%rax) -# CHECK-NEXT: 1 1 0.50 packsswb %mm0, %mm2 -# CHECK-NEXT: 1 1 0.50 * packsswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 packssdw %mm0, %mm2 -# CHECK-NEXT: 1 1 0.50 * packssdw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.50 packuswb %mm0, %mm2 -# CHECK-NEXT: 1 1 0.50 * packuswb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 paddb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * paddb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 paddd %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * paddd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 paddsb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * paddsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 paddsw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * paddsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 paddusb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * paddusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 paddusw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * paddusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 paddw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * paddw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pand %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pand (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pandn %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pandn (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pcmpeqb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pcmpeqd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pcmpeqw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pcmpgtb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pcmpgtd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pcmpgtw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2 -# CHECK-NEXT: 1 11 1.00 * pmaddwd (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2 -# CHECK-NEXT: 1 11 1.00 * pmulhw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2 -# CHECK-NEXT: 1 11 1.00 * pmullw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 por %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * por (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pslld $1, %mm2 -# CHECK-NEXT: 1 1 0.25 pslld %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pslld (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psllq $1, %mm2 -# CHECK-NEXT: 1 1 0.25 psllq %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psllq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psllw $1, %mm2 -# CHECK-NEXT: 1 1 0.25 psllw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psllw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psrad $1, %mm2 -# CHECK-NEXT: 1 1 0.25 psrad %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psrad (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psraw $1, %mm2 -# CHECK-NEXT: 1 1 0.25 psraw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psraw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psrld $1, %mm2 -# CHECK-NEXT: 1 1 0.25 psrld %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psrld (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psrlq $1, %mm2 -# CHECK-NEXT: 1 1 0.25 psrlq %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psrlq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psrlw $1, %mm2 -# CHECK-NEXT: 1 1 0.25 psrlw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psrlw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psubb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psubb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psubd %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psubd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psubsb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psubsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psubsw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psubsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psubusb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psubusb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psubusw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psubusw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psubw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psubw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 punpckhbw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * punpckhbw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 punpckhdq %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * punpckhdq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 punpckhwd %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * punpckhwd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 punpcklbw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * punpcklbw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 punpckldq %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * punpckldq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 punpcklwd %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * punpcklwd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pxor %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pxor (%rax), %mm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 2 0.25 * * * emms +# CHECK-NEXT: 1 3 1.00 movd %eax, %mm2 +# CHECK-NEXT: 1 8 0.50 * movd (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx +# CHECK-NEXT: 1 1 0.50 * * movd %mm0, (%rax) +# CHECK-NEXT: 1 3 1.00 movq %rax, %mm2 +# CHECK-NEXT: 1 8 0.50 * movq (%rax), %mm2 +# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx +# CHECK-NEXT: 1 1 0.50 * movq %mm0, (%rax) +# CHECK-NEXT: 1 1 0.50 packsswb %mm0, %mm2 +# CHECK-NEXT: 1 1 0.50 * packsswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 packssdw %mm0, %mm2 +# CHECK-NEXT: 1 1 0.50 * packssdw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.50 packuswb %mm0, %mm2 +# CHECK-NEXT: 1 1 0.50 * packuswb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 paddb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * paddb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 paddd %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * paddd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 paddsb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * paddsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 paddsw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * paddsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 paddusb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * paddusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 paddusw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * paddusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 paddw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * paddw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pand %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pand (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pandn %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pandn (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pcmpeqb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pcmpeqd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pcmpeqw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pcmpgtb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pcmpgtd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pcmpgtw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2 +# CHECK-NEXT: 1 11 1.00 * pmaddwd (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2 +# CHECK-NEXT: 1 11 1.00 * pmulhw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2 +# CHECK-NEXT: 1 11 1.00 * pmullw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 por %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * por (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pslld $1, %mm2 +# CHECK-NEXT: 1 1 0.25 pslld %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pslld (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psllq $1, %mm2 +# CHECK-NEXT: 1 1 0.25 psllq %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psllq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psllw $1, %mm2 +# CHECK-NEXT: 1 1 0.25 psllw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psllw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psrad $1, %mm2 +# CHECK-NEXT: 1 1 0.25 psrad %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psrad (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psraw $1, %mm2 +# CHECK-NEXT: 1 1 0.25 psraw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psraw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psrld $1, %mm2 +# CHECK-NEXT: 1 1 0.25 psrld %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psrld (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psrlq $1, %mm2 +# CHECK-NEXT: 1 1 0.25 psrlq %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psrlq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psrlw $1, %mm2 +# CHECK-NEXT: 1 1 0.25 psrlw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psrlw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psubb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psubb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psubd %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psubd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psubsb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psubsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psubsw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psubsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psubusb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psubusb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psubusw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psubusw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psubw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psubw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 punpckhbw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * punpckhbw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 punpckhdq %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * punpckhdq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 punpckhwd %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * punpckhwd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 punpcklbw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * punpcklbw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 punpckldq %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * punpckldq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 punpcklwd %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * punpcklwd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pxor %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pxor (%rax), %mm2 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 24.00 24.00 - - - - - 27.25 24.25 28.25 21.25 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - 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: 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: 0.50 0.50 - - - - - - - - - - movq %mm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packsswb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packsswb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packssdw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packssdw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packuswb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packuswb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddd %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pand %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pand (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pandn %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pandn (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddwd %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddwd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmullw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmullw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - por %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - por (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pslld $1, %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pslld %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pslld (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllq $1, %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllq %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psllq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllw $1, %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psllw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrad $1, %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrad %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psrad (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psraw $1, %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psraw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psraw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrld $1, %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrld %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psrld (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlq $1, %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlq %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psrlq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlw $1, %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psrlw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubd %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhbw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhdq %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhdq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhwd %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhwd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklbw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckldq %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckldq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklwd %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklwd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pxor %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pxor (%rax), %mm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - 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: 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: 0.50 0.50 - - - - - - - - - - movq %mm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packsswb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packsswb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packssdw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packssdw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packuswb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packuswb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddd %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pand %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pand (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pandn %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pandn (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddwd %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddwd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmullw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmullw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - por %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - por (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pslld $1, %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pslld %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pslld (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllq $1, %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllq %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psllq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllw $1, %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psllw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrad $1, %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrad %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psrad (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psraw $1, %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psraw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psraw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrld $1, %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrld %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psrld (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlq $1, %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlq %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psrlq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlw $1, %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psrlw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubd %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhbw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhdq %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhdq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhwd %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhwd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklbw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckldq %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckldq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklwd %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklwd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pxor %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pxor (%rax), %mm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-popcnt.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-popcnt.s index 969da2f..bb5c648 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-popcnt.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-popcnt.s @@ -18,38 +18,38 @@ popcntq (%rax), %rcx # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.25 popcntw %cx, %cx -# CHECK-NEXT: 2 5 0.50 * popcntw (%rax), %cx -# CHECK-NEXT: 1 1 0.25 popcntl %eax, %ecx -# CHECK-NEXT: 2 5 0.50 * popcntl (%rax), %ecx -# CHECK-NEXT: 1 1 0.25 popcntq %rax, %rcx -# CHECK-NEXT: 2 5 0.50 * popcntq (%rax), %rcx +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.25 popcntw %cx, %cx +# CHECK-NEXT: 2 5 0.50 * popcntw (%rax), %cx +# CHECK-NEXT: 1 1 0.25 popcntl %eax, %ecx +# CHECK-NEXT: 2 5 0.50 * popcntl (%rax), %ecx +# CHECK-NEXT: 1 1 0.25 popcntq %rax, %rcx +# CHECK-NEXT: 2 5 0.50 * popcntq (%rax), %rcx # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 1.50 1.50 1.50 1.50 1.50 1.50 - - - - - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - popcntw %cx, %cx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - popcntw (%rax), %cx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - popcntl %eax, %ecx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - popcntl (%rax), %ecx -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - popcntq %rax, %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - popcntq (%rax), %rcx +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - popcntw %cx, %cx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - popcntw (%rax), %cx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - popcntl %eax, %ecx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - popcntl (%rax), %ecx +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - popcntq %rax, %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - popcntq (%rax), %rcx diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s index 3ca2dcd..2b88704 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s @@ -193,274 +193,274 @@ xorps (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 andnps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * andnps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 andps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * andps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 -# CHECK-NEXT: 1 10 1.00 * comiss (%rax), %xmm1 -# CHECK-NEXT: 1 5 1.00 cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 1 12 1.00 * cvtps2pi (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: 1 5 1.00 cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 cvtss2si %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 cvtss2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %rcx -# CHECK-NEXT: 1 4 1.00 cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 1 12 1.00 * cvttps2pi (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 cvttss2si %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 cvttss2si %xmm0, %rcx -# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %ecx -# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %rcx -# CHECK-NEXT: 1 15 1.00 divps %xmm0, %xmm2 -# CHECK-NEXT: 1 22 1.00 * divps (%rax), %xmm2 -# CHECK-NEXT: 1 15 1.00 divss %xmm0, %xmm2 -# CHECK-NEXT: 1 22 1.00 * divss (%rax), %xmm2 -# CHECK-NEXT: 1 100 - * * * ldmxcsr (%rax) -# CHECK-NEXT: 1 100 - * * * maskmovq %mm0, %mm1 -# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * maxps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * maxss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * minps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * minss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 movaps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * movaps %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movaps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movhlps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 movlhps %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * movhps %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 * movlps %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movlps (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movmskps %xmm0, %ecx -# CHECK-NEXT: 1 1 0.50 * movntps %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 * * * movntq %mm0, (%rax) -# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * movss %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 movups %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * movups %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movups (%rax), %xmm2 -# CHECK-NEXT: 1 3 0.50 mulps %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulps (%rax), %xmm2 -# CHECK-NEXT: 1 3 0.50 mulss %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 orps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * orps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pavgb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pavgb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pavgw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pavgw (%rax), %mm2 -# CHECK-NEXT: 1 2 2.00 pextrw $1, %mm0, %ecx -# CHECK-NEXT: 1 1 0.25 pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 1 8 0.50 * pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pmaxsw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pmaxsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pmaxub %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pmaxub (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pminsw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pminsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pminub %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pminub (%rax), %mm2 -# CHECK-NEXT: 1 1 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2 -# CHECK-NEXT: 1 11 1.00 * pmulhuw (%rax), %mm2 -# CHECK-NEXT: 1 8 0.50 * * prefetcht0 (%rax) -# CHECK-NEXT: 1 8 0.50 * * prefetcht1 (%rax) -# CHECK-NEXT: 1 8 0.50 * * prefetcht2 (%rax) -# CHECK-NEXT: 1 8 0.50 * * prefetchnta (%rax) -# CHECK-NEXT: 1 3 1.00 psadbw %mm0, %mm2 -# CHECK-NEXT: 1 10 1.00 * psadbw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pshufw $1, (%rax), %mm2 -# CHECK-NEXT: 1 5 0.50 rcpps %xmm0, %xmm2 -# CHECK-NEXT: 1 12 0.50 * rcpps (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 rcpss %xmm0, %xmm2 -# CHECK-NEXT: 1 12 0.50 * rcpss (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 2 12 0.50 * rsqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 5 0.50 rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 2 12 1.00 * rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 * * * sfence -# CHECK-NEXT: 1 1 0.50 shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * shufps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 20 20.00 sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 1 27 20.00 * sqrtps (%rax), %xmm2 -# CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 1 27 20.00 * sqrtss (%rax), %xmm2 -# CHECK-NEXT: 1 100 - * * * stmxcsr (%rax) -# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * subps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * subss (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 1 10 1.00 * ucomiss (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * unpckhps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * unpcklps (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 xorps %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * xorps (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * addps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addss %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * addss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 andnps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * andnps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 andps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * andps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1 +# CHECK-NEXT: 1 10 1.00 * comiss (%rax), %xmm1 +# CHECK-NEXT: 1 5 1.00 cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 1 12 1.00 * cvtps2pi (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: 1 5 1.00 cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 cvtss2si %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 cvtss2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %rcx +# CHECK-NEXT: 1 4 1.00 cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 1 12 1.00 * cvttps2pi (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 cvttss2si %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 cvttss2si %xmm0, %rcx +# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %ecx +# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %rcx +# CHECK-NEXT: 1 15 1.00 divps %xmm0, %xmm2 +# CHECK-NEXT: 1 22 1.00 * divps (%rax), %xmm2 +# CHECK-NEXT: 1 15 1.00 divss %xmm0, %xmm2 +# CHECK-NEXT: 1 22 1.00 * divss (%rax), %xmm2 +# CHECK-NEXT: 1 100 - * * * ldmxcsr (%rax) +# CHECK-NEXT: 1 100 - * * * maskmovq %mm0, %mm1 +# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * maxps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * maxss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * minps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minss %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * minss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 movaps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * movaps %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movaps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movhlps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 movlhps %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * movhps %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 * movlps %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movlps (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movmskps %xmm0, %ecx +# CHECK-NEXT: 1 1 0.50 * movntps %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 * * * movntq %mm0, (%rax) +# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * movss %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 movups %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * movups %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movups (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 mulps %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulps (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 mulss %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 orps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * orps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pavgb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pavgb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pavgw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pavgw (%rax), %mm2 +# CHECK-NEXT: 1 2 2.00 pextrw $1, %mm0, %ecx +# CHECK-NEXT: 1 1 0.25 pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 1 8 0.50 * pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pmaxsw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pmaxsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pmaxub %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pmaxub (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pminsw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pminsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pminub %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pminub (%rax), %mm2 +# CHECK-NEXT: 1 1 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2 +# CHECK-NEXT: 1 11 1.00 * pmulhuw (%rax), %mm2 +# CHECK-NEXT: 1 8 0.50 * * prefetcht0 (%rax) +# CHECK-NEXT: 1 8 0.50 * * prefetcht1 (%rax) +# CHECK-NEXT: 1 8 0.50 * * prefetcht2 (%rax) +# CHECK-NEXT: 1 8 0.50 * * prefetchnta (%rax) +# CHECK-NEXT: 1 3 1.00 psadbw %mm0, %mm2 +# CHECK-NEXT: 1 10 1.00 * psadbw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pshufw $1, (%rax), %mm2 +# CHECK-NEXT: 1 5 0.50 rcpps %xmm0, %xmm2 +# CHECK-NEXT: 1 12 0.50 * rcpps (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 rcpss %xmm0, %xmm2 +# CHECK-NEXT: 1 12 0.50 * rcpss (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 2 12 0.50 * rsqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 5 0.50 rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 2 12 1.00 * rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 * * * sfence +# CHECK-NEXT: 1 1 0.50 shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * shufps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 20 20.00 sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 1 27 20.00 * sqrtps (%rax), %xmm2 +# CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 1 27 20.00 * sqrtss (%rax), %xmm2 +# CHECK-NEXT: 1 100 - * * * stmxcsr (%rax) +# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * subps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * subss (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 1 10 1.00 * ucomiss (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * unpckhps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * unpcklps (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 xorps %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * xorps (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 32.50 32.50 - - - - - 41.00 21.50 22.00 108.50 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 1.00 - - - - addps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - addss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andnps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andnps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpps $0, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpps $0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpss $0, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpss $0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - comiss %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - comiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtpi2ps %mm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtps2pi (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtsi2ssl %ecx, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtsi2ssq %rcx, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtsi2ssl (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvtss2si %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvtss2si %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvtss2si (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvtss2si (%rax), %rcx -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvttps2pi (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvttss2si %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvttss2si %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvttss2si (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvttss2si (%rax), %rcx -# CHECK-NEXT: - - - - - - - - - - 1.00 - divps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - divps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - divss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - divss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - ldmxcsr (%rax) -# CHECK-NEXT: - - - - - - - - - - - - maskmovq %mm0, %mm1 -# CHECK-NEXT: - - - - - - - 1.00 - - - - maxps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - maxps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - maxss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - maxss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - minps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - minps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - minss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - minss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movaps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movaps %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movaps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movhlps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movlhps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movhps %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movhps (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movlps %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movlps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - movmskps %xmm0, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntps %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntq %mm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movss %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movups %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movups %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movups (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - mulps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - mulss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - orps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - orps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrw $1, %mm0, %ecx -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, %eax, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxub %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxub (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminub %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminub (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhuw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhuw (%rax), %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - prefetcht0 (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - prefetcht1 (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - prefetcht2 (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - prefetchnta (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - psadbw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - psadbw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufw $1, %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufw $1, (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - rcpps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - rcpps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - rcpss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - rcpss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - rsqrtps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - rsqrtps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 - 0.50 - - rsqrtss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - rsqrtss (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - sfence -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - shufps $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - shufps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - stmxcsr (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - subps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - subss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - ucomiss %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - ucomiss (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpckhps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - unpckhps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpcklps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - unpcklps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - xorps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - xorps (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - 1.00 - - - - addps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - addss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andnps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andnps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpps $0, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpps $0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpss $0, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpss $0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - comiss %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - comiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtpi2ps %mm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtpi2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtps2pi (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtsi2ssl %ecx, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtsi2ssq %rcx, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtsi2ssl (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvtss2si %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvtss2si %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvtss2si (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvtss2si (%rax), %rcx +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvttps2pi (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvttss2si %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvttss2si %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvttss2si (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvttss2si (%rax), %rcx +# CHECK-NEXT: - - - - - - - - - - 1.00 - divps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - divps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - divss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - divss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - ldmxcsr (%rax) +# CHECK-NEXT: - - - - - - - - - - - - maskmovq %mm0, %mm1 +# CHECK-NEXT: - - - - - - - 1.00 - - - - maxps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - maxps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - maxss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - maxss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - minps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - minps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - minss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - minss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movaps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movaps %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movaps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movhlps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movlhps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movhps %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movhps (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movlps %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movlps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - movmskps %xmm0, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntps %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntq %mm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movss %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movups %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movups %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movups (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - mulps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - mulss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - orps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - orps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrw $1, %mm0, %ecx +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, %eax, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxub %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxub (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminub %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminub (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhuw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhuw (%rax), %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - prefetcht0 (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - prefetcht1 (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - prefetcht2 (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - prefetchnta (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - psadbw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - psadbw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufw $1, %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufw $1, (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - rcpps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - rcpps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - rcpss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - rcpss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - rsqrtps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - rsqrtps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 - 0.50 - - rsqrtss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - rsqrtss (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - sfence +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - shufps $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - shufps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - stmxcsr (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - subps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - subss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - ucomiss %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - ucomiss (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpckhps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - unpckhps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpcklps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - unpcklps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - xorps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - xorps (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s index 11110f9..f62973b 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s @@ -401,554 +401,554 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 andnpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * andnpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 andpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * andpd (%rax), %xmm2 -# CHECK-NEXT: 1 8 0.50 * * * clflush (%rax) -# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 -# CHECK-NEXT: 1 10 1.00 * comisd (%rax), %xmm1 -# CHECK-NEXT: 1 5 1.00 cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 12 1.00 * cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 1 12 1.00 * cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 1.00 * cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 cvtsd2si %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 1 12 1.00 * cvtsd2si (%rax), %ecx -# CHECK-NEXT: 1 12 1.00 * cvtsd2si (%rax), %rcx -# CHECK-NEXT: 1 4 1.00 cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: 1 5 1.00 cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 2 11 2.00 * cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 2 12 1.00 * cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 1 12 1.00 * cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: 1 5 1.00 cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 1 12 1.00 * cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: 1 5 1.00 cvttsd2si %xmm0, %ecx -# CHECK-NEXT: 1 5 1.00 cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 1 12 1.00 * cvttsd2si (%rax), %ecx -# CHECK-NEXT: 1 12 1.00 * cvttsd2si (%rax), %rcx -# CHECK-NEXT: 1 15 1.00 divpd %xmm0, %xmm2 -# CHECK-NEXT: 1 22 1.00 * divpd (%rax), %xmm2 -# CHECK-NEXT: 1 15 1.00 divsd %xmm0, %xmm2 -# CHECK-NEXT: 1 22 1.00 * divsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 * * * lfence -# CHECK-NEXT: 1 100 - * * * maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * maxpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * maxsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * minpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * minsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 movapd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * movapd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movapd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 movd %eax, %xmm2 -# CHECK-NEXT: 1 8 0.50 * movd (%rax), %xmm2 -# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx -# CHECK-NEXT: 1 1 0.50 * movd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.25 movdqa %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * movdqa %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movdqa (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 movdqu %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * movdqu %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movdqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 movdq2q %xmm0, %mm2 -# CHECK-NEXT: 1 1 0.50 * movhpd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 * movlpd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movlpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 movmskpd %xmm0, %ecx -# CHECK-NEXT: 1 1 0.50 * movntil %eax, (%rax) -# CHECK-NEXT: 1 1 0.50 * movntiq %rax, (%rax) -# CHECK-NEXT: 1 1 0.50 * movntdq %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 * movntpd %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.25 movq %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.25 movq %rax, %xmm2 -# CHECK-NEXT: 1 8 0.50 * movq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 movq %xmm0, %rcx -# CHECK-NEXT: 1 1 0.50 * movq %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.25 movq2dq %mm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 movsd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * movsd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 movupd %xmm0, %xmm2 -# CHECK-NEXT: 1 1 0.50 * movupd %xmm0, (%rax) -# CHECK-NEXT: 1 8 0.50 * movupd (%rax), %xmm2 -# CHECK-NEXT: 1 3 0.50 mulpd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 0.50 mulsd %xmm0, %xmm2 -# CHECK-NEXT: 2 10 0.50 * mulsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 orpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * orpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 packssdw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * packssdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 packsswb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * packsswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 packuswb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * packuswb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 paddb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * paddb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 paddd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * paddd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 paddq %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * paddq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 paddq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * paddq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 paddsb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * paddsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 paddsw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * paddsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 paddusb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * paddusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 paddusw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * paddusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 paddw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * paddw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pand %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pand (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pandn %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pandn (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pavgb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pavgb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pavgw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pavgw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: 1 2 2.00 pextrw $1, %xmm0, %ecx -# CHECK-NEXT: 1 4 1.00 pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * pmaddwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmaxsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmaxub (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pminsw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pminsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pminub %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pminub (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pmovmskb %xmm0, %ecx -# CHECK-NEXT: 1 4 1.00 pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * pmulhuw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * pmulhw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmullw %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * pmullw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2 -# CHECK-NEXT: 1 11 1.00 * pmuludq (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * pmuludq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 por %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * por (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * psadbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pslld $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 pslld %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * pslld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.25 psllq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psllq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * psllq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psllw $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psllw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * psllw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psrad $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrad %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * psrad (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psraw $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psraw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * psraw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psrld $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrld %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * psrld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 -# CHECK-NEXT: 1 1 0.25 psrlq $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * psrlq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psrlw $1, %xmm2 -# CHECK-NEXT: 1 1 1.00 psrlw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * psrlw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psubb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psubb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psubd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psubd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psubq %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psubq (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psubq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psubq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psubsb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psubsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psubsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psubusb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psubusb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psubusw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psubusw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psubw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psubw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * punpckhbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * punpckhdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * punpckhwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * punpcklbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * punpckldq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * punpcklwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pxor %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pxor (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 20 20.00 sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 1 27 20.00 * sqrtpd (%rax), %xmm2 -# CHECK-NEXT: 1 20 20.00 sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 1 27 20.00 * sqrtsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * subpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * subsd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 1 10 1.00 * ucomisd (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.50 unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * unpckhpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * unpcklpd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 xorpd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * xorpd (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * addpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * addsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 andnpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * andnpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 andpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * andpd (%rax), %xmm2 +# CHECK-NEXT: 1 8 0.50 * * * clflush (%rax) +# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1 +# CHECK-NEXT: 1 10 1.00 * comisd (%rax), %xmm1 +# CHECK-NEXT: 1 5 1.00 cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 12 1.00 * cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 1 12 1.00 * cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 1.00 * cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 cvtsd2si %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 1 12 1.00 * cvtsd2si (%rax), %ecx +# CHECK-NEXT: 1 12 1.00 * cvtsd2si (%rax), %rcx +# CHECK-NEXT: 1 4 1.00 cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: 1 5 1.00 cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 2 11 2.00 * cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 2 12 1.00 * cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 1 12 1.00 * cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: 1 5 1.00 cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 1 12 1.00 * cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: 1 5 1.00 cvttsd2si %xmm0, %ecx +# CHECK-NEXT: 1 5 1.00 cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 1 12 1.00 * cvttsd2si (%rax), %ecx +# CHECK-NEXT: 1 12 1.00 * cvttsd2si (%rax), %rcx +# CHECK-NEXT: 1 15 1.00 divpd %xmm0, %xmm2 +# CHECK-NEXT: 1 22 1.00 * divpd (%rax), %xmm2 +# CHECK-NEXT: 1 15 1.00 divsd %xmm0, %xmm2 +# CHECK-NEXT: 1 22 1.00 * divsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 * * * lfence +# CHECK-NEXT: 1 100 - * * * maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * maxpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * maxsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * minpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 minsd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * minsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 movapd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * movapd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movapd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 movd %eax, %xmm2 +# CHECK-NEXT: 1 8 0.50 * movd (%rax), %xmm2 +# CHECK-NEXT: 1 2 1.00 movd %xmm0, %ecx +# CHECK-NEXT: 1 1 0.50 * movd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.25 movdqa %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * movdqa %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movdqa (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 movdqu %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * movdqu %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movdqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 movdq2q %xmm0, %mm2 +# CHECK-NEXT: 1 1 0.50 * movhpd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 * movlpd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movlpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 movmskpd %xmm0, %ecx +# CHECK-NEXT: 1 1 0.50 * movntil %eax, (%rax) +# CHECK-NEXT: 1 1 0.50 * movntiq %rax, (%rax) +# CHECK-NEXT: 1 1 0.50 * movntdq %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 * movntpd %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.25 movq %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.25 movq %rax, %xmm2 +# CHECK-NEXT: 1 8 0.50 * movq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 movq %xmm0, %rcx +# CHECK-NEXT: 1 1 0.50 * movq %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.25 movq2dq %mm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 movsd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * movsd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 movupd %xmm0, %xmm2 +# CHECK-NEXT: 1 1 0.50 * movupd %xmm0, (%rax) +# CHECK-NEXT: 1 8 0.50 * movupd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 mulpd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 0.50 mulsd %xmm0, %xmm2 +# CHECK-NEXT: 2 10 0.50 * mulsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 orpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * orpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 packssdw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * packssdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 packsswb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * packsswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 packuswb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * packuswb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 paddb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * paddb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 paddd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * paddd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 paddq %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * paddq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 paddq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * paddq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 paddsb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * paddsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 paddsw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * paddsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 paddusb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * paddusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 paddusw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * paddusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 paddw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * paddw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pand %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pand (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pandn %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pandn (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pavgb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pavgb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pavgw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pavgw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: 1 2 2.00 pextrw $1, %xmm0, %ecx +# CHECK-NEXT: 1 4 1.00 pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * pmaddwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmaxsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmaxub (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pminsw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pminsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pminub %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pminub (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pmovmskb %xmm0, %ecx +# CHECK-NEXT: 1 4 1.00 pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * pmulhuw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * pmulhw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmullw %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * pmullw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2 +# CHECK-NEXT: 1 11 1.00 * pmuludq (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * pmuludq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 por %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * por (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * psadbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pslld $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 pslld %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * pslld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.25 psllq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psllq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * psllq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psllw $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psllw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * psllw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psrad $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrad %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * psrad (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psraw $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psraw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * psraw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psrld $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrld %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * psrld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2 +# CHECK-NEXT: 1 1 0.25 psrlq $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * psrlq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psrlw $1, %xmm2 +# CHECK-NEXT: 1 1 1.00 psrlw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * psrlw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psubb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psubb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psubd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psubd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psubq %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psubq (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psubq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psubq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psubsb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psubsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psubsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psubusb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psubusb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psubusw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psubusw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psubw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psubw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * punpckhbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * punpckhdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * punpckhwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * punpcklbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * punpckldq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * punpcklwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pxor %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pxor (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 20 20.00 sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 1 27 20.00 * sqrtpd (%rax), %xmm2 +# CHECK-NEXT: 1 20 20.00 sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 1 27 20.00 * sqrtsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * subpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 subsd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * subsd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 1 10 1.00 * ucomisd (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.50 unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * unpckhpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * unpcklpd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 xorpd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * xorpd (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 65.50 65.50 0.50 0.50 0.50 0.50 - 72.08 39.58 69.25 153.08 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 1.00 - - - - addpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - addsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andnpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andnpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andpd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - clflush (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - cmppd $0, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmppd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpsd $0, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpsd $0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - comisd %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - comisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvtdq2pd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtpd2ps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - cvtpd2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtpi2pd %mm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtpi2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - cvtsd2si %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - cvtsd2si %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - cvtsd2si (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - cvtsd2si (%rax), %rcx -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtsd2ss %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.33 0.33 - 1.33 - cvtsi2sdl %ecx, %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtsi2sdq %rcx, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtsi2sdl (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 2.00 - cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvttpd2pi (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - cvttsd2si %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - cvttsd2si %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - cvttsd2si (%rax), %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - cvttsd2si (%rax), %rcx -# CHECK-NEXT: - - - - - - - - - - 1.00 - divpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - divpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - divsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - divsd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - lfence -# CHECK-NEXT: - - - - - - - - - - - - maskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - - - - - 1.00 - - - - maxpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - maxpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - maxsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - maxsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - minpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - minpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - minsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - minsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movapd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movapd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movapd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - movd %eax, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - movd %xmm0, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movdqa %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movdqa %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movdqu %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movdqu %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movdqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movdq2q %xmm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movhpd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movhpd (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movlpd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movlpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - movmskpd %xmm0, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntil %eax, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntiq %rax, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntdq %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntpd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movq %rax, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movq (%rax), %xmm2 -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movq %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movq2dq %mm0, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movsd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movupd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movupd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movupd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - mulpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - mulsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - orpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - orpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packssdw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packssdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packsswb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packsswb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packuswb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packuswb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddq %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pand %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pand (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pandn %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pandn (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddwd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxub %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxub (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminub %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminub (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - pmovmskb %xmm0, %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhuw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmullw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmullw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmuludq %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmuludq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmuludq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmuludq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - por %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - por (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - psadbw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - psadbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pslld $1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - pslld %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - pslld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - pslldq $1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllq $1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - psllq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psllq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllw $1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - psllw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psllw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrad $1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - psrad %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrad (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psraw $1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - psraw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psraw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrld $1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - psrld %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - psrldq $1, %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlq $1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrlq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlw $1, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrlw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubq %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubq (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhbw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhdq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhqdq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhwd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklbw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckldq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckldq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklqdq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklqdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklwd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pxor %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pxor (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - shufpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - shufpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - subpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - subsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - ucomisd %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - ucomisd (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpckhpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - unpckhpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpcklpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - unpcklpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - xorpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - xorpd (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - 1.00 - - - - addpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - addsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andnpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andnpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andpd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - clflush (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - cmppd $0, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmppd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpsd $0, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpsd $0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - comisd %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - comisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvtdq2pd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtdq2pd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtdq2ps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtpd2ps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - cvtpd2ps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtpi2pd %mm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtpi2pd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtps2dq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - cvtsd2si %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - cvtsd2si %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - cvtsd2si (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - cvtsd2si (%rax), %rcx +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtsd2ss %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - cvtsd2ss (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.33 0.33 - 1.33 - cvtsi2sdl %ecx, %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtsi2sdq %rcx, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvtsi2sdl (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 2.00 - cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 1.00 - cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - cvttps2dq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - cvttsd2si %xmm0, %ecx +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - cvttsd2si %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - cvttsd2si (%rax), %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 1.00 - cvttsd2si (%rax), %rcx +# CHECK-NEXT: - - - - - - - - - - 1.00 - divpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - divpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - divsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - divsd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - lfence +# CHECK-NEXT: - - - - - - - - - - - - maskmovdqu %xmm0, %xmm1 +# CHECK-NEXT: - - - - - - - 1.00 - - - - maxpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - maxpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - maxsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - maxsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - minpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - minpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - minsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - minsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movapd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movapd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movapd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - movd %eax, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - movd %xmm0, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movdqa %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movdqa %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movdqu %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movdqu %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movdqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movdq2q %xmm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movhpd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movhpd (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movlpd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movlpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - movmskpd %xmm0, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntil %eax, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntiq %rax, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntdq %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntpd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movq %rax, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movq (%rax), %xmm2 +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movq %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movq2dq %mm0, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movsd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movupd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movupd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movupd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - mulpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - mulsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - orpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - orpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packssdw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packssdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packsswb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packsswb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packuswb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packuswb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddq %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pand %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pand (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pandn %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pandn (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddwd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxub %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxub (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminub %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminub (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - pmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhuw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmullw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmullw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmuludq %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmuludq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmuludq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmuludq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - por %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - por (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - psadbw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - psadbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pslld $1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - pslld %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - pslld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - pslldq $1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllq $1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - psllq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psllq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psllw $1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - psllw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psllw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrad $1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - psrad %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrad (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psraw $1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - psraw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psraw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrld $1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - psrld %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - psrldq $1, %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlq $1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrlq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrlw $1, %xmm2 +# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrlw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubq %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubq (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhbw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhdq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhqdq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhwd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklbw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckldq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckldq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklqdq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklqdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklwd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pxor %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pxor (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - shufpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - shufpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 20.00 - sqrtsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 20.00 - sqrtsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - subpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - subsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - subsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - ucomisd %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - ucomisd (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpckhpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - unpckhpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - unpcklpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - unpcklpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - xorpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - xorpd (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s index 8ffc026..1fb37a3 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse3.s @@ -38,64 +38,64 @@ movsldup (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 -# CHECK-NEXT: 1 10 1.00 * addsubps (%rax), %xmm2 -# CHECK-NEXT: 1 100 - haddpd %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * haddpd (%rax), %xmm2 -# CHECK-NEXT: 1 100 - haddps %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * haddps (%rax), %xmm2 -# CHECK-NEXT: 1 100 - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * hsubpd (%rax), %xmm2 -# CHECK-NEXT: 1 100 - hsubps %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * hsubps (%rax), %xmm2 -# CHECK-NEXT: 1 8 0.50 * lddqu (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movddup %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * movddup (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 movshdup %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * movshdup (%rax), %xmm2 -# CHECK-NEXT: 1 100 - movsldup %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * movsldup (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * addsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 3 1.00 addsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 10 1.00 * addsubps (%rax), %xmm2 +# CHECK-NEXT: 1 100 - haddpd %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * haddpd (%rax), %xmm2 +# CHECK-NEXT: 1 100 - haddps %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * haddps (%rax), %xmm2 +# CHECK-NEXT: 1 100 - hsubpd %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * hsubpd (%rax), %xmm2 +# CHECK-NEXT: 1 100 - hsubps %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * hsubps (%rax), %xmm2 +# CHECK-NEXT: 1 8 0.50 * lddqu (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movddup %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * movddup (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 movshdup %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * movshdup (%rax), %xmm2 +# CHECK-NEXT: 1 100 - movsldup %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * movsldup (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 2.50 2.50 - - - - - 4.00 2.00 2.00 - - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 1.00 - - - - addsubpd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - addsubps %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addsubps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - haddpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - haddpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - haddps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - haddps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - hsubpd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - hsubpd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - hsubps %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - hsubps (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - lddqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movddup %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movddup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movshdup %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movshdup (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - movsldup %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - movsldup (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - 1.00 - - - - addsubpd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - addsubps %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - addsubps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - haddpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - haddpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - haddps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - haddps (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - hsubpd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - hsubpd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - hsubps %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - hsubps (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - lddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movddup %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movddup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movshdup %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movshdup (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - movsldup %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - movsldup (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s index 9296f53..a5eb798 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s @@ -154,218 +154,218 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * blendps $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * dppd $22, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * dpps $22, (%rax), %xmm2 -# CHECK-NEXT: 2 2 2.00 extractps $1, %xmm0, %ecx -# CHECK-NEXT: 2 5 2.50 * extractps $1, %xmm0, (%rax) -# CHECK-NEXT: 1 1 0.50 insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * insertps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 8 0.50 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 1 100 - mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 packusdw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * packusdw (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.33 pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: 2 8 0.50 * pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: 1 2 2.00 pextrb $1, %xmm0, %ecx -# CHECK-NEXT: 2 5 3.00 * pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: 1 2 2.00 pextrd $1, %xmm0, %ecx -# CHECK-NEXT: 2 5 3.00 * pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: 1 2 2.00 pextrq $1, %xmm0, %rcx -# CHECK-NEXT: 2 5 3.00 * pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 2 5 3.00 * pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: 1 4 1.00 phminposuw %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * phminposuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: 1 8 0.50 * pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.25 pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: 1 8 0.50 * pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.25 pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: 1 8 0.50 * pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: 1 1 0.25 pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmaxsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmaxsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmaxud %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmaxud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmaxuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pminsb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pminsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pminsd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pminsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pminud %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pminud (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pminuw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pminuw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmuldq %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * pmuldq (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmulld %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * pmulld (%rax), %xmm2 -# CHECK-NEXT: 1 1 1.00 ptest %xmm0, %xmm1 -# CHECK-NEXT: 2 8 1.00 * ptest (%rax), %xmm1 -# CHECK-NEXT: 1 4 1.00 roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * roundps $1, (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: 2 11 1.00 * roundss $1, (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * blendps $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 100 - dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * dppd $22, (%rax), %xmm2 +# CHECK-NEXT: 1 100 - dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * dpps $22, (%rax), %xmm2 +# CHECK-NEXT: 2 2 2.00 extractps $1, %xmm0, %ecx +# CHECK-NEXT: 2 5 2.50 * extractps $1, %xmm0, (%rax) +# CHECK-NEXT: 1 1 0.50 insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * insertps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 8 0.50 * movntdqa (%rax), %xmm2 +# CHECK-NEXT: 1 100 - mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 packusdw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * packusdw (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.33 pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: 2 8 0.50 * pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: 1 2 2.00 pextrb $1, %xmm0, %ecx +# CHECK-NEXT: 2 5 3.00 * pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: 1 2 2.00 pextrd $1, %xmm0, %ecx +# CHECK-NEXT: 2 5 3.00 * pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: 1 2 2.00 pextrq $1, %xmm0, %rcx +# CHECK-NEXT: 2 5 3.00 * pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 2 5 3.00 * pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: 1 4 1.00 phminposuw %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * phminposuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: 1 8 0.50 * pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.25 pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: 1 8 0.50 * pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.25 pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: 1 8 0.50 * pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: 1 1 0.25 pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmaxsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmaxsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmaxud %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmaxud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmaxuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pminsb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pminsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pminsd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pminsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pminud %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pminud (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pminuw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pminuw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmuldq %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * pmuldq (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmulld %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * pmulld (%rax), %xmm2 +# CHECK-NEXT: 1 1 1.00 ptest %xmm0, %xmm1 +# CHECK-NEXT: 2 8 1.00 * ptest (%rax), %xmm1 +# CHECK-NEXT: 1 4 1.00 roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * roundps $1, (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: 2 11 1.00 * roundss $1, (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 25.00 25.00 - - - - - 25.17 26.67 44.00 21.17 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - blendpd $11, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - blendpd $11, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - blendps $11, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - blendps $11, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - blendvpd %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - blendvpd %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - blendvps %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - blendvps %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - dppd $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - dppd $22, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - dpps $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - dpps $22, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - extractps $1, %xmm0, %ecx -# CHECK-NEXT: 2.50 2.50 - - - - - - 0.50 2.50 - - extractps $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - insertps $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - insertps $1, (%rax), %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - mpsadbw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - mpsadbw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packusdw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packusdw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pblendvb %xmm0, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pblendvb %xmm0, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pblendw $11, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pblendw $11, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrb $1, %xmm0, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - pextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrd $1, %xmm0, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - pextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrq $1, %xmm0, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - pextrq $1, %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - pextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - phminposuw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - phminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrb $1, %eax, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrb $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrd $1, %eax, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrd $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrq $1, %rax, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrq $1, (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxud %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxud (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxuw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminud %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminud (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminuw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmuldq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmuldq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulld %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulld (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - ptest %xmm0, %xmm1 -# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - ptest (%rax), %xmm1 -# CHECK-NEXT: - - - - - - - - - - 1.00 - roundpd $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - roundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - roundps $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - roundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - roundsd $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - roundsd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 1.00 - roundss $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - roundss $1, (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - blendpd $11, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - blendpd $11, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - blendps $11, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - blendps $11, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - blendvpd %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - blendvpd %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - blendvps %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - blendvps %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - dppd $22, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - dppd $22, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - dpps $22, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - dpps $22, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - extractps $1, %xmm0, %ecx +# CHECK-NEXT: 2.50 2.50 - - - - - - 0.50 2.50 - - extractps $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - insertps $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - insertps $1, (%rax), %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - mpsadbw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packusdw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packusdw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pblendvb %xmm0, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pblendvb %xmm0, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pblendw $11, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pblendw $11, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrb $1, %xmm0, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - pextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrd $1, %xmm0, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - pextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrq $1, %xmm0, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - pextrq $1, %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - pextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - phminposuw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - phminposuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrb $1, %eax, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrb $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrd $1, %eax, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrd $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrq $1, %rax, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrq $1, (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxud %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxud (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxuw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminud %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminud (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminuw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminuw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmuldq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmuldq (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulld %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulld (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - ptest %xmm0, %xmm1 +# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - ptest (%rax), %xmm1 +# CHECK-NEXT: - - - - - - - - - - 1.00 - roundpd $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - roundpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - roundps $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - roundps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - roundsd $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - roundsd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - 1.00 - roundss $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - roundss $1, (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse42.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse42.s index bd55274..a9df94f 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse42.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse42.s @@ -39,66 +39,66 @@ pcmpgtq (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx -# CHECK-NEXT: 1 10 1.00 * crc32b (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx -# CHECK-NEXT: 1 10 1.00 * crc32l (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx -# CHECK-NEXT: 1 10 1.00 * crc32w (%rax), %ecx -# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx -# CHECK-NEXT: 1 10 1.00 * crc32b (%rax), %rcx -# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx -# CHECK-NEXT: 1 10 1.00 * crc32q (%rax), %rcx -# CHECK-NEXT: 1 100 - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.50 pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pcmpgtq (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx +# CHECK-NEXT: 1 10 1.00 * crc32b (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32l %eax, %ecx +# CHECK-NEXT: 1 10 1.00 * crc32l (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32w %ax, %ecx +# CHECK-NEXT: 1 10 1.00 * crc32w (%rax), %ecx +# CHECK-NEXT: 1 3 1.00 crc32b %al, %rcx +# CHECK-NEXT: 1 10 1.00 * crc32b (%rax), %rcx +# CHECK-NEXT: 1 3 1.00 crc32q %rax, %rcx +# CHECK-NEXT: 1 10 1.00 * crc32q (%rax), %rcx +# CHECK-NEXT: 1 100 - pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 - pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 - pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 - pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.50 pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pcmpgtq (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 3.00 3.00 - - - - - 11.00 - - 1.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32b %al, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32b (%rax), %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32l %eax, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32l (%rax), %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32w %ax, %ecx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32w (%rax), %ecx -# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32b %al, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32b (%rax), %rcx -# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32q %rax, %rcx -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32q (%rax), %rcx -# CHECK-NEXT: - - - - - - - - - - - - pcmpestri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - pcmpestri $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - pcmpestrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - pcmpestrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - pcmpistri $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - pcmpistri $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - pcmpistrm $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - pcmpistrm $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - pcmpgtq %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - pcmpgtq (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32b %al, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32b (%rax), %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32l %eax, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32l (%rax), %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32w %ax, %ecx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32w (%rax), %ecx +# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32b %al, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32b (%rax), %rcx +# CHECK-NEXT: - - - - - - - 1.00 - - - - crc32q %rax, %rcx +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - crc32q (%rax), %rcx +# CHECK-NEXT: - - - - - - - - - - - - pcmpestri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - pcmpestri $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - pcmpestrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - pcmpestrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - pcmpistri $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - pcmpistri $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - pcmpistrm $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - pcmpistrm $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - pcmpgtq %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - pcmpgtq (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse4a.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse4a.s index e71be53..f4c5c7f 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse4a.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse4a.s @@ -18,38 +18,38 @@ movntss %xmm0, (%rax) # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 2 1.00 extrq %xmm0, %xmm2 -# CHECK-NEXT: 1 2 1.00 extrq $22, $2, %xmm2 -# CHECK-NEXT: 1 4 1.00 insertq %xmm0, %xmm2 -# CHECK-NEXT: 1 4 1.00 insertq $22, $22, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 1.00 * movntsd %xmm0, (%rax) -# CHECK-NEXT: 1 8 1.00 * movntss %xmm0, (%rax) +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 2 1.00 extrq %xmm0, %xmm2 +# CHECK-NEXT: 1 2 1.00 extrq $22, $2, %xmm2 +# CHECK-NEXT: 1 4 1.00 insertq %xmm0, %xmm2 +# CHECK-NEXT: 1 4 1.00 insertq $22, $22, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 1.00 * movntsd %xmm0, (%rax) +# CHECK-NEXT: 1 8 1.00 * movntss %xmm0, (%rax) # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 1.00 1.00 - - - - - 1.00 3.00 5.00 1.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - - 0.50 1.50 - - extrq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - 0.50 1.50 - - extrq $22, $2, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 1.00 - 0.50 - insertq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - 0.50 1.00 - 0.50 - insertq $22, $22, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - movntsd %xmm0, (%rax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - movntss %xmm0, (%rax) +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - - 0.50 1.50 - - extrq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - 0.50 1.50 - - extrq $22, $2, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 1.00 - 0.50 - insertq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - 0.50 1.00 - 0.50 - insertq $22, $22, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - movntsd %xmm0, (%rax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - movntss %xmm0, (%rax) diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s index 1e1f955..b1eba40 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s @@ -105,154 +105,154 @@ psignw (%rax), %xmm2 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.25 pabsb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pabsb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pabsb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pabsb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pabsd %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pabsd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pabsd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pabsd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pabsw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pabsw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pabsw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pabsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 palignr $1, %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phaddd %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phaddd (%rax), %mm2 -# CHECK-NEXT: 1 100 - phaddd %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phaddd (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phaddsw %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phaddsw (%rax), %mm2 -# CHECK-NEXT: 1 100 - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phaddsw (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phaddw %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phaddw (%rax), %mm2 -# CHECK-NEXT: 1 100 - phaddw %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phaddw (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phsubd %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phsubd (%rax), %mm2 -# CHECK-NEXT: 1 100 - phsubd %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phsubd (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phsubsw %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phsubsw (%rax), %mm2 -# CHECK-NEXT: 1 100 - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phsubsw (%rax), %xmm2 -# CHECK-NEXT: 1 100 - phsubw %mm0, %mm2 -# CHECK-NEXT: 1 100 - * phsubw (%rax), %mm2 -# CHECK-NEXT: 1 100 - phsubw %xmm0, %xmm2 -# CHECK-NEXT: 1 100 - * phsubw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 1 11 1.00 * pmaddubsw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 1 11 1.00 * pmulhrsw (%rax), %mm2 -# CHECK-NEXT: 1 4 1.00 pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 1 11 1.00 * pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 pshufb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * pshufb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 pshufb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * pshufb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psignb %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psignb (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psignb %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psignb (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psignd %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psignd (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psignd %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psignd (%rax), %xmm2 -# CHECK-NEXT: 1 1 0.25 psignw %mm0, %mm2 -# CHECK-NEXT: 1 8 0.50 * psignw (%rax), %mm2 -# CHECK-NEXT: 1 1 0.25 psignw %xmm0, %xmm2 -# CHECK-NEXT: 1 8 0.50 * psignw (%rax), %xmm2 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.25 pabsb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pabsb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pabsb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pabsb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pabsd %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pabsd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pabsd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pabsd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pabsw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pabsw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pabsw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pabsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 palignr $1, %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %xmm2 +# CHECK-NEXT: 1 100 - phaddd %mm0, %mm2 +# CHECK-NEXT: 1 100 - * phaddd (%rax), %mm2 +# CHECK-NEXT: 1 100 - phaddd %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * phaddd (%rax), %xmm2 +# CHECK-NEXT: 1 100 - phaddsw %mm0, %mm2 +# CHECK-NEXT: 1 100 - * phaddsw (%rax), %mm2 +# CHECK-NEXT: 1 100 - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * phaddsw (%rax), %xmm2 +# CHECK-NEXT: 1 100 - phaddw %mm0, %mm2 +# CHECK-NEXT: 1 100 - * phaddw (%rax), %mm2 +# CHECK-NEXT: 1 100 - phaddw %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * phaddw (%rax), %xmm2 +# CHECK-NEXT: 1 100 - phsubd %mm0, %mm2 +# CHECK-NEXT: 1 100 - * phsubd (%rax), %mm2 +# CHECK-NEXT: 1 100 - phsubd %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * phsubd (%rax), %xmm2 +# CHECK-NEXT: 1 100 - phsubsw %mm0, %mm2 +# CHECK-NEXT: 1 100 - * phsubsw (%rax), %mm2 +# CHECK-NEXT: 1 100 - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * phsubsw (%rax), %xmm2 +# CHECK-NEXT: 1 100 - phsubw %mm0, %mm2 +# CHECK-NEXT: 1 100 - * phsubw (%rax), %mm2 +# CHECK-NEXT: 1 100 - phsubw %xmm0, %xmm2 +# CHECK-NEXT: 1 100 - * phsubw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 1 11 1.00 * pmaddubsw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 1 11 1.00 * pmulhrsw (%rax), %mm2 +# CHECK-NEXT: 1 4 1.00 pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 1 11 1.00 * pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 pshufb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * pshufb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 pshufb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psignb %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psignb (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psignb %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psignb (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psignd %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psignd (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psignd %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psignd (%rax), %xmm2 +# CHECK-NEXT: 1 1 0.25 psignw %mm0, %mm2 +# CHECK-NEXT: 1 8 0.50 * psignw (%rax), %mm2 +# CHECK-NEXT: 1 1 0.25 psignw %xmm0, %xmm2 +# CHECK-NEXT: 1 8 0.50 * psignw (%rax), %xmm2 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 10.00 10.00 - - - - - 16.00 8.00 8.00 8.00 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsd %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - palignr $1, %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - palignr $1, (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - palignr $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddd %mm0, %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddsw %mm0, %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddsw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddw %mm0, %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phaddw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubd %mm0, %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubsw %mm0, %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubsw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubw %mm0, %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - - - - phsubw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddubsw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddubsw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddubsw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddubsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhrsw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhrsw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhrsw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignb %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignb (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignb %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignd %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignd (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignd %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignw %mm0, %mm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignw (%rax), %mm2 -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignw %xmm0, %xmm2 -# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignw (%rax), %xmm2 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsd %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - palignr $1, %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - palignr $1, (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - palignr $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddd %mm0, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddsw %mm0, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddsw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddw %mm0, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phaddw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubd %mm0, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubsw %mm0, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubsw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubw %mm0, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - phsubw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddubsw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddubsw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddubsw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddubsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhrsw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhrsw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhrsw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhrsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignb %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignb (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignb %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignb (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignd %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignd (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignd %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignw %mm0, %mm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignw (%rax), %mm2 +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignw %xmm0, %xmm2 +# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignw (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s index 2abc074d..9ac36cb 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s @@ -606,1104 +606,1104 @@ xorq (%rax), %rdi # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 1 0.25 adcb $7, %al -# CHECK-NEXT: 1 1 0.25 adcb $7, %dil -# CHECK-NEXT: 2 5 0.50 * * adcb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 adcb %dil, %dil -# CHECK-NEXT: 2 5 0.50 * * adcb %dil, (%rax) -# CHECK-NEXT: 2 5 0.50 * adcb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 adcw $511, %ax -# CHECK-NEXT: 1 1 0.25 adcw $511, %di -# CHECK-NEXT: 2 5 0.50 * * adcw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 adcw $7, %di -# CHECK-NEXT: 2 5 0.50 * * adcw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 adcw %di, %di -# CHECK-NEXT: 2 5 0.50 * * adcw %di, (%rax) -# CHECK-NEXT: 2 5 0.50 * adcw (%rax), %di -# CHECK-NEXT: 1 1 0.25 adcl $665536, %eax -# CHECK-NEXT: 1 1 0.25 adcl $665536, %edi -# CHECK-NEXT: 2 5 0.50 * * adcl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 adcl $7, %edi -# CHECK-NEXT: 2 5 0.50 * * adcl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 adcl %edi, %edi -# CHECK-NEXT: 2 5 0.50 * * adcl %edi, (%rax) -# CHECK-NEXT: 2 5 0.50 * adcl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 adcq $665536, %rax -# CHECK-NEXT: 1 1 0.25 adcq $665536, %rdi -# CHECK-NEXT: 2 5 0.50 * * adcq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 adcq $7, %rdi -# CHECK-NEXT: 2 5 0.50 * * adcq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 adcq %rdi, %rdi -# CHECK-NEXT: 2 5 0.50 * * adcq %rdi, (%rax) -# CHECK-NEXT: 2 5 0.50 * adcq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 addb $7, %al -# CHECK-NEXT: 1 1 0.25 addb $7, %dil -# CHECK-NEXT: 2 5 0.50 * * addb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addb %dil, %dil -# CHECK-NEXT: 2 5 0.50 * * addb %dil, (%rax) -# CHECK-NEXT: 2 5 0.50 * addb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 addw $511, %ax -# CHECK-NEXT: 1 1 0.25 addw $511, %di -# CHECK-NEXT: 2 5 0.50 * * addw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 addw $7, %di -# CHECK-NEXT: 2 5 0.50 * * addw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addw %di, %di -# CHECK-NEXT: 2 5 0.50 * * addw %di, (%rax) -# CHECK-NEXT: 2 5 0.50 * addw (%rax), %di -# CHECK-NEXT: 1 1 0.25 addl $665536, %eax -# CHECK-NEXT: 1 1 0.25 addl $665536, %edi -# CHECK-NEXT: 2 5 0.50 * * addl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addl $7, %edi -# CHECK-NEXT: 2 5 0.50 * * addl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addl %edi, %edi -# CHECK-NEXT: 2 5 0.50 * * addl %edi, (%rax) -# CHECK-NEXT: 2 5 0.50 * addl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 addq $665536, %rax -# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi -# CHECK-NEXT: 2 5 0.50 * * addq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 addq $7, %rdi -# CHECK-NEXT: 2 5 0.50 * * addq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi -# CHECK-NEXT: 2 5 0.50 * * addq %rdi, (%rax) -# CHECK-NEXT: 2 5 0.50 * addq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 andb $7, %al -# CHECK-NEXT: 1 1 0.25 andb $7, %dil -# CHECK-NEXT: 2 5 0.50 * * andb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andb %dil, %dil -# CHECK-NEXT: 2 5 0.50 * * andb %dil, (%rax) -# CHECK-NEXT: 2 5 0.50 * andb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 andw $511, %ax -# CHECK-NEXT: 1 1 0.25 andw $511, %di -# CHECK-NEXT: 2 5 0.50 * * andw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 andw $7, %di -# CHECK-NEXT: 2 5 0.50 * * andw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andw %di, %di -# CHECK-NEXT: 2 5 0.50 * * andw %di, (%rax) -# CHECK-NEXT: 2 5 0.50 * andw (%rax), %di -# CHECK-NEXT: 1 1 0.25 andl $665536, %eax -# CHECK-NEXT: 1 1 0.25 andl $665536, %edi -# CHECK-NEXT: 2 5 0.50 * * andl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andl $7, %edi -# CHECK-NEXT: 2 5 0.50 * * andl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andl %edi, %edi -# CHECK-NEXT: 2 5 0.50 * * andl %edi, (%rax) -# CHECK-NEXT: 2 5 0.50 * andl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 andq $665536, %rax -# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi -# CHECK-NEXT: 2 5 0.50 * * andq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 andq $7, %rdi -# CHECK-NEXT: 2 5 0.50 * * andq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi -# CHECK-NEXT: 2 5 0.50 * * andq %rdi, (%rax) -# CHECK-NEXT: 2 5 0.50 * andq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 btw %si, %di -# CHECK-NEXT: 2 2 0.25 btcw %si, %di -# CHECK-NEXT: 2 2 0.25 btrw %si, %di -# CHECK-NEXT: 2 2 0.25 btsw %si, %di -# CHECK-NEXT: 2 5 0.50 * btw %si, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btcw %si, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btrw %si, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btsw %si, (%rax) -# CHECK-NEXT: 1 1 0.25 btw $7, %di -# CHECK-NEXT: 2 2 0.25 btcw $7, %di -# CHECK-NEXT: 2 2 0.25 btrw $7, %di -# CHECK-NEXT: 2 2 0.25 btsw $7, %di -# CHECK-NEXT: 2 5 0.50 * btw $7, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btcw $7, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btrw $7, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btsw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 btl %esi, %edi -# CHECK-NEXT: 2 2 0.25 btcl %esi, %edi -# CHECK-NEXT: 2 2 0.25 btrl %esi, %edi -# CHECK-NEXT: 2 2 0.25 btsl %esi, %edi -# CHECK-NEXT: 2 5 0.50 * btl %esi, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btcl %esi, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btrl %esi, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btsl %esi, (%rax) -# CHECK-NEXT: 1 1 0.25 btl $7, %edi -# CHECK-NEXT: 2 2 0.25 btcl $7, %edi -# CHECK-NEXT: 2 2 0.25 btrl $7, %edi -# CHECK-NEXT: 2 2 0.25 btsl $7, %edi -# CHECK-NEXT: 2 5 0.50 * btl $7, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btcl $7, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btrl $7, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btsl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 btq %rsi, %rdi -# CHECK-NEXT: 2 2 0.25 btcq %rsi, %rdi -# CHECK-NEXT: 2 2 0.25 btrq %rsi, %rdi -# CHECK-NEXT: 2 2 0.25 btsq %rsi, %rdi -# CHECK-NEXT: 2 5 0.50 * btq %rsi, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btcq %rsi, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btrq %rsi, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btsq %rsi, (%rax) -# CHECK-NEXT: 1 1 0.25 btq $7, %rdi -# CHECK-NEXT: 2 2 0.25 btcq $7, %rdi -# CHECK-NEXT: 2 2 0.25 btrq $7, %rdi -# CHECK-NEXT: 2 2 0.25 btsq $7, %rdi -# CHECK-NEXT: 2 5 0.50 * btq $7, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btcq $7, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btrq $7, (%rax) -# CHECK-NEXT: 2 6 0.50 * * btsq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 decb %dil -# CHECK-NEXT: 2 5 0.50 * * decb (%rax) -# CHECK-NEXT: 1 1 0.25 decw %di -# CHECK-NEXT: 2 5 0.50 * * decw (%rax) -# CHECK-NEXT: 1 1 0.25 decl %edi -# CHECK-NEXT: 2 5 0.50 * * decl (%rax) -# CHECK-NEXT: 1 1 0.25 decq %rdi -# CHECK-NEXT: 2 5 0.50 * * decq (%rax) -# CHECK-NEXT: 1 15 15.00 * divb %dil -# CHECK-NEXT: 2 19 15.00 * * divb (%rax) -# CHECK-NEXT: 2 17 17.00 * divw %si -# CHECK-NEXT: 3 21 17.00 * * divw (%rax) -# CHECK-NEXT: 2 25 25.00 * divl %edx -# CHECK-NEXT: 3 29 25.00 * * divl (%rax) -# CHECK-NEXT: 2 41 41.00 * divq %rcx -# CHECK-NEXT: 3 45 41.00 * * divq (%rax) -# CHECK-NEXT: 1 15 15.00 * idivb %dil -# CHECK-NEXT: 2 19 15.00 * * idivb (%rax) -# CHECK-NEXT: 2 17 17.00 * idivw %si -# CHECK-NEXT: 3 21 17.00 * * idivw (%rax) -# CHECK-NEXT: 2 25 25.00 * idivl %edx -# CHECK-NEXT: 3 29 25.00 * * idivl (%rax) -# CHECK-NEXT: 2 41 41.00 * idivq %rcx -# CHECK-NEXT: 3 45 41.00 * * idivq (%rax) -# CHECK-NEXT: 1 4 1.00 imulb %dil -# CHECK-NEXT: 2 8 1.00 * imulb (%rax) -# CHECK-NEXT: 1 3 1.00 imulw %di -# CHECK-NEXT: 1 8 1.00 * imulw (%rax) -# CHECK-NEXT: 1 3 1.00 imulw %di, %di -# CHECK-NEXT: 1 3 1.00 * imulw (%rax), %di -# CHECK-NEXT: 1 3 1.00 imulw $511, %di, %di -# CHECK-NEXT: 1 3 1.00 * imulw $511, (%rax), %di -# CHECK-NEXT: 1 3 1.00 imulw $7, %di, %di -# CHECK-NEXT: 1 3 1.00 * imulw $7, (%rax), %di -# CHECK-NEXT: 1 3 1.00 imull %edi -# CHECK-NEXT: 1 8 1.00 * imull (%rax) -# CHECK-NEXT: 1 3 1.00 imull %edi, %edi -# CHECK-NEXT: 1 3 1.00 * imull (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi -# CHECK-NEXT: 1 3 1.00 * imull $665536, (%rax), %edi -# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi -# CHECK-NEXT: 1 3 1.00 * imull $7, (%rax), %edi -# CHECK-NEXT: 2 4 1.00 imulq %rdi -# CHECK-NEXT: 2 9 1.00 * imulq (%rax) -# CHECK-NEXT: 2 4 1.00 imulq %rdi, %rdi -# CHECK-NEXT: 2 4 1.00 * imulq (%rax), %rdi -# CHECK-NEXT: 2 4 1.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: 2 4 1.00 * imulq $665536, (%rax), %rdi -# CHECK-NEXT: 2 4 1.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: 2 4 1.00 * imulq $7, (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 incb %dil -# CHECK-NEXT: 2 5 0.50 * * incb (%rax) -# CHECK-NEXT: 1 1 0.25 incw %di -# CHECK-NEXT: 2 5 0.50 * * incw (%rax) -# CHECK-NEXT: 1 1 0.25 incl %edi -# CHECK-NEXT: 2 5 0.50 * * incl (%rax) -# CHECK-NEXT: 1 1 0.25 incq %rdi -# CHECK-NEXT: 2 5 0.50 * * incq (%rax) -# CHECK-NEXT: 1 4 1.00 mulb %dil -# CHECK-NEXT: 2 8 1.00 * mulb (%rax) -# CHECK-NEXT: 1 3 1.00 mulw %si -# CHECK-NEXT: 1 8 1.00 * mulw (%rax) -# CHECK-NEXT: 1 3 1.00 mull %edx -# CHECK-NEXT: 1 8 1.00 * mull (%rax) -# CHECK-NEXT: 2 4 1.00 mulq %rcx -# CHECK-NEXT: 2 9 1.00 * mulq (%rax) -# CHECK-NEXT: 1 1 0.25 negb %dil -# CHECK-NEXT: 2 5 0.50 * * negb (%r8) -# CHECK-NEXT: 1 1 0.25 negw %si -# CHECK-NEXT: 2 5 0.50 * * negw (%r9) -# CHECK-NEXT: 1 1 0.25 negl %edx -# CHECK-NEXT: 2 5 0.50 * * negl (%rax) -# CHECK-NEXT: 1 1 0.25 negq %rcx -# CHECK-NEXT: 2 5 0.50 * * negq (%r10) -# CHECK-NEXT: 1 1 - nop -# CHECK-NEXT: 1 1 - nopw %di -# CHECK-NEXT: 1 1 - nopw (%rcx) -# CHECK-NEXT: 1 1 - nopl %esi -# CHECK-NEXT: 1 1 - nopl (%r8) -# CHECK-NEXT: 1 1 - nopq %rdx -# CHECK-NEXT: 1 1 - nopq (%r9) -# CHECK-NEXT: 1 1 0.25 notb %dil -# CHECK-NEXT: 2 5 0.50 * * notb (%r8) -# CHECK-NEXT: 1 1 0.25 notw %si -# CHECK-NEXT: 2 5 0.50 * * notw (%r9) -# CHECK-NEXT: 1 1 0.25 notl %edx -# CHECK-NEXT: 2 5 0.50 * * notl (%rax) -# CHECK-NEXT: 1 1 0.25 notq %rcx -# CHECK-NEXT: 2 5 0.50 * * notq (%r10) -# CHECK-NEXT: 1 1 0.25 orb $7, %al -# CHECK-NEXT: 1 1 0.25 orb $7, %dil -# CHECK-NEXT: 2 5 0.50 * * orb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orb %dil, %dil -# CHECK-NEXT: 2 5 0.50 * * orb %dil, (%rax) -# CHECK-NEXT: 2 5 0.50 * orb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 orw $511, %ax -# CHECK-NEXT: 1 1 0.25 orw $511, %di -# CHECK-NEXT: 2 5 0.50 * * orw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 orw $7, %di -# CHECK-NEXT: 2 5 0.50 * * orw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orw %di, %di -# CHECK-NEXT: 2 5 0.50 * * orw %di, (%rax) -# CHECK-NEXT: 2 5 0.50 * orw (%rax), %di -# CHECK-NEXT: 1 1 0.25 orl $665536, %eax -# CHECK-NEXT: 1 1 0.25 orl $665536, %edi -# CHECK-NEXT: 2 5 0.50 * * orl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orl $7, %edi -# CHECK-NEXT: 2 5 0.50 * * orl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orl %edi, %edi -# CHECK-NEXT: 2 5 0.50 * * orl %edi, (%rax) -# CHECK-NEXT: 2 5 0.50 * orl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 orq $665536, %rax -# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi -# CHECK-NEXT: 2 5 0.50 * * orq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 orq $7, %rdi -# CHECK-NEXT: 2 5 0.50 * * orq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi -# CHECK-NEXT: 2 5 0.50 * * orq %rdi, (%rax) -# CHECK-NEXT: 2 5 0.50 * orq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 rclb %dil -# CHECK-NEXT: 1 1 0.25 rcrb %dil -# CHECK-NEXT: 1 100 - * rclb (%rax) -# CHECK-NEXT: 1 100 - * rcrb (%rax) -# CHECK-NEXT: 1 1 0.25 rclb $7, %dil -# CHECK-NEXT: 1 1 0.25 rcrb $7, %dil -# CHECK-NEXT: 1 100 - * rclb $7, (%rax) -# CHECK-NEXT: 1 100 - * rcrb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 rclb %cl, %dil -# CHECK-NEXT: 1 1 0.25 rcrb %cl, %dil -# CHECK-NEXT: 1 100 - * rclb %cl, (%rax) -# CHECK-NEXT: 1 100 - * rcrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 rclw %di -# CHECK-NEXT: 1 1 0.25 rcrw %di -# CHECK-NEXT: 1 100 - * rclw (%rax) -# CHECK-NEXT: 1 100 - * rcrw (%rax) -# CHECK-NEXT: 1 1 0.25 rclw $7, %di -# CHECK-NEXT: 1 1 0.25 rcrw $7, %di -# CHECK-NEXT: 1 100 - * rclw $7, (%rax) -# CHECK-NEXT: 1 100 - * rcrw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 rclw %cl, %di -# CHECK-NEXT: 1 1 0.25 rcrw %cl, %di -# CHECK-NEXT: 1 100 - * rclw %cl, (%rax) -# CHECK-NEXT: 1 100 - * rcrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 rcll %edi -# CHECK-NEXT: 1 1 0.25 rcrl %edi -# CHECK-NEXT: 1 100 - * rcll (%rax) -# CHECK-NEXT: 1 100 - * rcrl (%rax) -# CHECK-NEXT: 1 1 0.25 rcll $7, %edi -# CHECK-NEXT: 1 1 0.25 rcrl $7, %edi -# CHECK-NEXT: 1 100 - * rcll $7, (%rax) -# CHECK-NEXT: 1 100 - * rcrl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 rcll %cl, %edi -# CHECK-NEXT: 1 1 0.25 rcrl %cl, %edi -# CHECK-NEXT: 1 100 - * rcll %cl, (%rax) -# CHECK-NEXT: 1 100 - * rcrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 rclq %rdi -# CHECK-NEXT: 1 1 0.25 rcrq %rdi -# CHECK-NEXT: 1 100 - * rclq (%rax) -# CHECK-NEXT: 1 100 - * rcrq (%rax) -# CHECK-NEXT: 1 1 0.25 rclq $7, %rdi -# CHECK-NEXT: 1 1 0.25 rcrq $7, %rdi -# CHECK-NEXT: 1 100 - * rclq $7, (%rax) -# CHECK-NEXT: 1 100 - * rcrq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 rclq %cl, %rdi -# CHECK-NEXT: 1 1 0.25 rcrq %cl, %rdi -# CHECK-NEXT: 1 100 - * rclq %cl, (%rax) -# CHECK-NEXT: 1 100 - * rcrq %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 rolb %dil -# CHECK-NEXT: 1 1 0.25 rorb %dil -# CHECK-NEXT: 3 5 1.00 * * rolb (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorb (%rax) -# CHECK-NEXT: 1 1 0.25 rolb $7, %dil -# CHECK-NEXT: 1 1 0.25 rorb $7, %dil -# CHECK-NEXT: 3 5 1.00 * * rolb $7, (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 rolb %cl, %dil -# CHECK-NEXT: 1 1 0.25 rorb %cl, %dil -# CHECK-NEXT: 3 5 1.00 * * rolb %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorb %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 rolw %di -# CHECK-NEXT: 1 1 0.25 rorw %di -# CHECK-NEXT: 3 5 1.00 * * rolw (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorw (%rax) -# CHECK-NEXT: 1 1 0.25 rolw $7, %di -# CHECK-NEXT: 1 1 0.25 rorw $7, %di -# CHECK-NEXT: 3 5 1.00 * * rolw $7, (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 rolw %cl, %di -# CHECK-NEXT: 1 1 0.25 rorw %cl, %di -# CHECK-NEXT: 3 5 1.00 * * rolw %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorw %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 roll %edi -# CHECK-NEXT: 1 1 0.25 rorl %edi -# CHECK-NEXT: 3 5 1.00 * * roll (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorl (%rax) -# CHECK-NEXT: 1 1 0.25 roll $7, %edi -# CHECK-NEXT: 1 1 0.25 rorl $7, %edi -# CHECK-NEXT: 3 5 1.00 * * roll $7, (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 roll %cl, %edi -# CHECK-NEXT: 1 1 0.25 rorl %cl, %edi -# CHECK-NEXT: 3 5 1.00 * * roll %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorl %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 rolq %rdi -# CHECK-NEXT: 1 1 0.25 rorq %rdi -# CHECK-NEXT: 3 5 1.00 * * rolq (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorq (%rax) -# CHECK-NEXT: 1 1 0.25 rolq $7, %rdi -# CHECK-NEXT: 1 1 0.25 rorq $7, %rdi -# CHECK-NEXT: 3 5 1.00 * * rolq $7, (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 rolq %cl, %rdi -# CHECK-NEXT: 1 1 0.25 rorq %cl, %rdi -# CHECK-NEXT: 3 5 1.00 * * rolq %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * rorq %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 sarb %dil -# CHECK-NEXT: 1 1 0.25 shlb %dil -# CHECK-NEXT: 1 1 0.25 shrb %dil -# CHECK-NEXT: 2 5 0.50 * * sarb (%rax) -# CHECK-NEXT: 2 5 0.50 * * shlb (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrb (%rax) -# CHECK-NEXT: 1 1 0.25 sarb $7, %dil -# CHECK-NEXT: 1 1 0.25 shlb $7, %dil -# CHECK-NEXT: 1 1 0.25 shrb $7, %dil -# CHECK-NEXT: 2 5 0.50 * * sarb $7, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shlb $7, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 sarb %cl, %dil -# CHECK-NEXT: 1 1 0.25 shlb %cl, %dil -# CHECK-NEXT: 1 1 0.25 shrb %cl, %dil -# CHECK-NEXT: 3 5 1.00 * * sarb %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * shlb %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * shrb %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 sarw %di -# CHECK-NEXT: 1 1 0.25 shlw %di -# CHECK-NEXT: 1 1 0.25 shrw %di -# CHECK-NEXT: 2 5 0.50 * * sarw (%rax) -# CHECK-NEXT: 2 5 0.50 * * shlw (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrw (%rax) -# CHECK-NEXT: 1 1 0.25 sarw $7, %di -# CHECK-NEXT: 1 1 0.25 shlw $7, %di -# CHECK-NEXT: 1 1 0.25 shrw $7, %di -# CHECK-NEXT: 2 5 0.50 * * sarw $7, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shlw $7, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 sarw %cl, %di -# CHECK-NEXT: 1 1 0.25 shlw %cl, %di -# CHECK-NEXT: 1 1 0.25 shrw %cl, %di -# CHECK-NEXT: 3 5 1.00 * * sarw %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * shlw %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * shrw %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 sarl %edi -# CHECK-NEXT: 1 1 0.25 shll %edi -# CHECK-NEXT: 1 1 0.25 shrl %edi -# CHECK-NEXT: 2 5 0.50 * * sarl (%rax) -# CHECK-NEXT: 2 5 0.50 * * shll (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrl (%rax) -# CHECK-NEXT: 1 1 0.25 sarl $7, %edi -# CHECK-NEXT: 1 1 0.25 shll $7, %edi -# CHECK-NEXT: 1 1 0.25 shrl $7, %edi -# CHECK-NEXT: 2 5 0.50 * * sarl $7, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shll $7, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 sarl %cl, %edi -# CHECK-NEXT: 1 1 0.25 shll %cl, %edi -# CHECK-NEXT: 1 1 0.25 shrl %cl, %edi -# CHECK-NEXT: 3 5 1.00 * * sarl %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * shll %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * shrl %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 sarq %rdi -# CHECK-NEXT: 1 1 0.25 shlq %rdi -# CHECK-NEXT: 1 1 0.25 shrq %rdi -# CHECK-NEXT: 2 5 0.50 * * sarq (%rax) -# CHECK-NEXT: 2 5 0.50 * * shlq (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrq (%rax) -# CHECK-NEXT: 1 1 0.25 sarq $7, %rdi -# CHECK-NEXT: 1 1 0.25 shlq $7, %rdi -# CHECK-NEXT: 1 1 0.25 shrq $7, %rdi -# CHECK-NEXT: 2 5 0.50 * * sarq $7, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shlq $7, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 sarq %cl, %rdi -# CHECK-NEXT: 1 1 0.25 shlq %cl, %rdi -# CHECK-NEXT: 1 1 0.25 shrq %cl, %rdi -# CHECK-NEXT: 3 5 1.00 * * sarq %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * shlq %cl, (%rax) -# CHECK-NEXT: 3 5 1.00 * * shrq %cl, (%rax) -# CHECK-NEXT: 1 1 0.25 sbbb $7, %al -# CHECK-NEXT: 1 1 0.25 sbbb $7, %dil -# CHECK-NEXT: 2 5 0.50 * * sbbb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 sbbb %dil, %dil -# CHECK-NEXT: 2 5 0.50 * * sbbb %dil, (%rax) -# CHECK-NEXT: 2 5 0.50 * sbbb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 sbbw $511, %ax -# CHECK-NEXT: 1 1 0.25 sbbw $511, %di -# CHECK-NEXT: 2 5 0.50 * * sbbw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 sbbw $7, %di -# CHECK-NEXT: 2 5 0.50 * * sbbw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 sbbw %di, %di -# CHECK-NEXT: 2 5 0.50 * * sbbw %di, (%rax) -# CHECK-NEXT: 2 5 0.50 * sbbw (%rax), %di -# CHECK-NEXT: 1 1 0.25 sbbl $665536, %eax -# CHECK-NEXT: 1 1 0.25 sbbl $665536, %edi -# CHECK-NEXT: 2 5 0.50 * * sbbl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 sbbl $7, %edi -# CHECK-NEXT: 2 5 0.50 * * sbbl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 sbbl %edi, %edi -# CHECK-NEXT: 2 5 0.50 * * sbbl %edi, (%rax) -# CHECK-NEXT: 2 5 0.50 * sbbl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 sbbq $665536, %rax -# CHECK-NEXT: 1 1 0.25 sbbq $665536, %rdi -# CHECK-NEXT: 2 5 0.50 * * sbbq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 sbbq $7, %rdi -# CHECK-NEXT: 2 5 0.50 * * sbbq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 sbbq %rdi, %rdi -# CHECK-NEXT: 2 5 0.50 * * sbbq %rdi, (%rax) -# CHECK-NEXT: 2 5 0.50 * sbbq (%rax), %rdi -# CHECK-NEXT: 1 100 - shldw %cl, %si, %di -# CHECK-NEXT: 1 100 - shrdw %cl, %si, %di -# CHECK-NEXT: 1 100 - * * shldw %cl, %si, (%rax) -# CHECK-NEXT: 1 100 - * * shrdw %cl, %si, (%rax) -# CHECK-NEXT: 1 1 0.25 shldw $7, %si, %di -# CHECK-NEXT: 1 1 0.25 shrdw $7, %si, %di -# CHECK-NEXT: 2 5 0.50 * * shldw $7, %si, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrdw $7, %si, (%rax) -# CHECK-NEXT: 1 100 - shldl %cl, %esi, %edi -# CHECK-NEXT: 1 100 - shrdl %cl, %esi, %edi -# CHECK-NEXT: 1 100 - * * shldl %cl, %esi, (%rax) -# CHECK-NEXT: 1 100 - * * shrdl %cl, %esi, (%rax) -# CHECK-NEXT: 1 1 0.25 shldl $7, %esi, %edi -# CHECK-NEXT: 1 1 0.25 shrdl $7, %esi, %edi -# CHECK-NEXT: 2 5 0.50 * * shldl $7, %esi, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrdl $7, %esi, (%rax) -# CHECK-NEXT: 1 100 - shldq %cl, %rsi, %rdi -# CHECK-NEXT: 1 100 - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: 1 100 - * * shldq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 100 - * * shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.25 shldq $7, %rsi, %rdi -# CHECK-NEXT: 1 1 0.25 shrdq $7, %rsi, %rdi -# CHECK-NEXT: 2 5 0.50 * * shldq $7, %rsi, (%rax) -# CHECK-NEXT: 2 5 0.50 * * shrdq $7, %rsi, (%rax) -# CHECK-NEXT: 1 1 0.25 subb $7, %al -# CHECK-NEXT: 1 1 0.25 subb $7, %dil -# CHECK-NEXT: 2 5 0.50 * * subb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subb %dil, %dil -# CHECK-NEXT: 2 5 0.50 * * subb %dil, (%rax) -# CHECK-NEXT: 2 5 0.50 * subb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 subw $511, %ax -# CHECK-NEXT: 1 1 0.25 subw $511, %di -# CHECK-NEXT: 2 5 0.50 * * subw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 subw $7, %di -# CHECK-NEXT: 2 5 0.50 * * subw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subw %di, %di -# CHECK-NEXT: 2 5 0.50 * * subw %di, (%rax) -# CHECK-NEXT: 2 5 0.50 * subw (%rax), %di -# CHECK-NEXT: 1 1 0.25 subl $665536, %eax -# CHECK-NEXT: 1 1 0.25 subl $665536, %edi -# CHECK-NEXT: 2 5 0.50 * * subl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subl $7, %edi -# CHECK-NEXT: 2 5 0.50 * * subl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subl %edi, %edi -# CHECK-NEXT: 2 5 0.50 * * subl %edi, (%rax) -# CHECK-NEXT: 2 5 0.50 * subl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 subq $665536, %rax -# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi -# CHECK-NEXT: 2 5 0.50 * * subq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 subq $7, %rdi -# CHECK-NEXT: 2 5 0.50 * * subq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi -# CHECK-NEXT: 2 5 0.50 * * subq %rdi, (%rax) -# CHECK-NEXT: 2 5 0.50 * subq (%rax), %rdi -# CHECK-NEXT: 1 1 0.25 xorb $7, %al -# CHECK-NEXT: 1 1 0.25 xorb $7, %dil -# CHECK-NEXT: 2 5 0.50 * * xorb $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil -# CHECK-NEXT: 2 5 0.50 * * xorb %dil, (%rax) -# CHECK-NEXT: 2 5 0.50 * xorb (%rax), %dil -# CHECK-NEXT: 1 1 0.25 xorw $511, %ax -# CHECK-NEXT: 1 1 0.25 xorw $511, %di -# CHECK-NEXT: 2 5 0.50 * * xorw $511, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw $7, %di -# CHECK-NEXT: 2 5 0.50 * * xorw $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorw %di, %di -# CHECK-NEXT: 2 5 0.50 * * xorw %di, (%rax) -# CHECK-NEXT: 2 5 0.50 * xorw (%rax), %di -# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax -# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi -# CHECK-NEXT: 2 5 0.50 * * xorl $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl $7, %edi -# CHECK-NEXT: 2 5 0.50 * * xorl $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi -# CHECK-NEXT: 2 5 0.50 * * xorl %edi, (%rax) -# CHECK-NEXT: 2 5 0.50 * xorl (%rax), %edi -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax -# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi -# CHECK-NEXT: 2 5 0.50 * * xorq $665536, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi -# CHECK-NEXT: 2 5 0.50 * * xorq $7, (%rax) -# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi -# CHECK-NEXT: 2 5 0.50 * * xorq %rdi, (%rax) -# CHECK-NEXT: 2 5 0.50 * xorq (%rax), %rdi +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.25 adcb $7, %al +# CHECK-NEXT: 1 1 0.25 adcb $7, %dil +# CHECK-NEXT: 2 5 0.50 * * adcb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 adcb %dil, %dil +# CHECK-NEXT: 2 5 0.50 * * adcb %dil, (%rax) +# CHECK-NEXT: 2 5 0.50 * adcb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 adcw $511, %ax +# CHECK-NEXT: 1 1 0.25 adcw $511, %di +# CHECK-NEXT: 2 5 0.50 * * adcw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 adcw $7, %di +# CHECK-NEXT: 2 5 0.50 * * adcw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 adcw %di, %di +# CHECK-NEXT: 2 5 0.50 * * adcw %di, (%rax) +# CHECK-NEXT: 2 5 0.50 * adcw (%rax), %di +# CHECK-NEXT: 1 1 0.25 adcl $665536, %eax +# CHECK-NEXT: 1 1 0.25 adcl $665536, %edi +# CHECK-NEXT: 2 5 0.50 * * adcl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 adcl $7, %edi +# CHECK-NEXT: 2 5 0.50 * * adcl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 adcl %edi, %edi +# CHECK-NEXT: 2 5 0.50 * * adcl %edi, (%rax) +# CHECK-NEXT: 2 5 0.50 * adcl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 adcq $665536, %rax +# CHECK-NEXT: 1 1 0.25 adcq $665536, %rdi +# CHECK-NEXT: 2 5 0.50 * * adcq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 adcq $7, %rdi +# CHECK-NEXT: 2 5 0.50 * * adcq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 adcq %rdi, %rdi +# CHECK-NEXT: 2 5 0.50 * * adcq %rdi, (%rax) +# CHECK-NEXT: 2 5 0.50 * adcq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 addb $7, %al +# CHECK-NEXT: 1 1 0.25 addb $7, %dil +# CHECK-NEXT: 2 5 0.50 * * addb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addb %dil, %dil +# CHECK-NEXT: 2 5 0.50 * * addb %dil, (%rax) +# CHECK-NEXT: 2 5 0.50 * addb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 addw $511, %ax +# CHECK-NEXT: 1 1 0.25 addw $511, %di +# CHECK-NEXT: 2 5 0.50 * * addw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 addw $7, %di +# CHECK-NEXT: 2 5 0.50 * * addw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addw %di, %di +# CHECK-NEXT: 2 5 0.50 * * addw %di, (%rax) +# CHECK-NEXT: 2 5 0.50 * addw (%rax), %di +# CHECK-NEXT: 1 1 0.25 addl $665536, %eax +# CHECK-NEXT: 1 1 0.25 addl $665536, %edi +# CHECK-NEXT: 2 5 0.50 * * addl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addl $7, %edi +# CHECK-NEXT: 2 5 0.50 * * addl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addl %edi, %edi +# CHECK-NEXT: 2 5 0.50 * * addl %edi, (%rax) +# CHECK-NEXT: 2 5 0.50 * addl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 addq $665536, %rax +# CHECK-NEXT: 1 1 0.25 addq $665536, %rdi +# CHECK-NEXT: 2 5 0.50 * * addq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 addq $7, %rdi +# CHECK-NEXT: 2 5 0.50 * * addq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 addq %rdi, %rdi +# CHECK-NEXT: 2 5 0.50 * * addq %rdi, (%rax) +# CHECK-NEXT: 2 5 0.50 * addq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 andb $7, %al +# CHECK-NEXT: 1 1 0.25 andb $7, %dil +# CHECK-NEXT: 2 5 0.50 * * andb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andb %dil, %dil +# CHECK-NEXT: 2 5 0.50 * * andb %dil, (%rax) +# CHECK-NEXT: 2 5 0.50 * andb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 andw $511, %ax +# CHECK-NEXT: 1 1 0.25 andw $511, %di +# CHECK-NEXT: 2 5 0.50 * * andw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 andw $7, %di +# CHECK-NEXT: 2 5 0.50 * * andw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andw %di, %di +# CHECK-NEXT: 2 5 0.50 * * andw %di, (%rax) +# CHECK-NEXT: 2 5 0.50 * andw (%rax), %di +# CHECK-NEXT: 1 1 0.25 andl $665536, %eax +# CHECK-NEXT: 1 1 0.25 andl $665536, %edi +# CHECK-NEXT: 2 5 0.50 * * andl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andl $7, %edi +# CHECK-NEXT: 2 5 0.50 * * andl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andl %edi, %edi +# CHECK-NEXT: 2 5 0.50 * * andl %edi, (%rax) +# CHECK-NEXT: 2 5 0.50 * andl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 andq $665536, %rax +# CHECK-NEXT: 1 1 0.25 andq $665536, %rdi +# CHECK-NEXT: 2 5 0.50 * * andq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 andq $7, %rdi +# CHECK-NEXT: 2 5 0.50 * * andq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 andq %rdi, %rdi +# CHECK-NEXT: 2 5 0.50 * * andq %rdi, (%rax) +# CHECK-NEXT: 2 5 0.50 * andq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 btw %si, %di +# CHECK-NEXT: 2 2 0.25 btcw %si, %di +# CHECK-NEXT: 2 2 0.25 btrw %si, %di +# CHECK-NEXT: 2 2 0.25 btsw %si, %di +# CHECK-NEXT: 2 5 0.50 * btw %si, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btcw %si, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btrw %si, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btsw %si, (%rax) +# CHECK-NEXT: 1 1 0.25 btw $7, %di +# CHECK-NEXT: 2 2 0.25 btcw $7, %di +# CHECK-NEXT: 2 2 0.25 btrw $7, %di +# CHECK-NEXT: 2 2 0.25 btsw $7, %di +# CHECK-NEXT: 2 5 0.50 * btw $7, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btcw $7, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btrw $7, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btsw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 btl %esi, %edi +# CHECK-NEXT: 2 2 0.25 btcl %esi, %edi +# CHECK-NEXT: 2 2 0.25 btrl %esi, %edi +# CHECK-NEXT: 2 2 0.25 btsl %esi, %edi +# CHECK-NEXT: 2 5 0.50 * btl %esi, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btcl %esi, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btrl %esi, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btsl %esi, (%rax) +# CHECK-NEXT: 1 1 0.25 btl $7, %edi +# CHECK-NEXT: 2 2 0.25 btcl $7, %edi +# CHECK-NEXT: 2 2 0.25 btrl $7, %edi +# CHECK-NEXT: 2 2 0.25 btsl $7, %edi +# CHECK-NEXT: 2 5 0.50 * btl $7, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btcl $7, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btrl $7, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btsl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 btq %rsi, %rdi +# CHECK-NEXT: 2 2 0.25 btcq %rsi, %rdi +# CHECK-NEXT: 2 2 0.25 btrq %rsi, %rdi +# CHECK-NEXT: 2 2 0.25 btsq %rsi, %rdi +# CHECK-NEXT: 2 5 0.50 * btq %rsi, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btcq %rsi, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btrq %rsi, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btsq %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 btq $7, %rdi +# CHECK-NEXT: 2 2 0.25 btcq $7, %rdi +# CHECK-NEXT: 2 2 0.25 btrq $7, %rdi +# CHECK-NEXT: 2 2 0.25 btsq $7, %rdi +# CHECK-NEXT: 2 5 0.50 * btq $7, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btcq $7, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btrq $7, (%rax) +# CHECK-NEXT: 2 6 0.50 * * btsq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 decb %dil +# CHECK-NEXT: 2 5 0.50 * * decb (%rax) +# CHECK-NEXT: 1 1 0.25 decw %di +# CHECK-NEXT: 2 5 0.50 * * decw (%rax) +# CHECK-NEXT: 1 1 0.25 decl %edi +# CHECK-NEXT: 2 5 0.50 * * decl (%rax) +# CHECK-NEXT: 1 1 0.25 decq %rdi +# CHECK-NEXT: 2 5 0.50 * * decq (%rax) +# CHECK-NEXT: 1 15 15.00 * divb %dil +# CHECK-NEXT: 2 19 15.00 * * divb (%rax) +# CHECK-NEXT: 2 17 17.00 * divw %si +# CHECK-NEXT: 3 21 17.00 * * divw (%rax) +# CHECK-NEXT: 2 25 25.00 * divl %edx +# CHECK-NEXT: 3 29 25.00 * * divl (%rax) +# CHECK-NEXT: 2 41 41.00 * divq %rcx +# CHECK-NEXT: 3 45 41.00 * * divq (%rax) +# CHECK-NEXT: 1 15 15.00 * idivb %dil +# CHECK-NEXT: 2 19 15.00 * * idivb (%rax) +# CHECK-NEXT: 2 17 17.00 * idivw %si +# CHECK-NEXT: 3 21 17.00 * * idivw (%rax) +# CHECK-NEXT: 2 25 25.00 * idivl %edx +# CHECK-NEXT: 3 29 25.00 * * idivl (%rax) +# CHECK-NEXT: 2 41 41.00 * idivq %rcx +# CHECK-NEXT: 3 45 41.00 * * idivq (%rax) +# CHECK-NEXT: 1 4 1.00 imulb %dil +# CHECK-NEXT: 2 8 1.00 * imulb (%rax) +# CHECK-NEXT: 1 3 1.00 imulw %di +# CHECK-NEXT: 1 8 1.00 * imulw (%rax) +# CHECK-NEXT: 1 3 1.00 imulw %di, %di +# CHECK-NEXT: 1 3 1.00 * imulw (%rax), %di +# CHECK-NEXT: 1 3 1.00 imulw $511, %di, %di +# CHECK-NEXT: 1 3 1.00 * imulw $511, (%rax), %di +# CHECK-NEXT: 1 3 1.00 imulw $7, %di, %di +# CHECK-NEXT: 1 3 1.00 * imulw $7, (%rax), %di +# CHECK-NEXT: 1 3 1.00 imull %edi +# CHECK-NEXT: 1 8 1.00 * imull (%rax) +# CHECK-NEXT: 1 3 1.00 imull %edi, %edi +# CHECK-NEXT: 1 3 1.00 * imull (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $665536, %edi, %edi +# CHECK-NEXT: 1 3 1.00 * imull $665536, (%rax), %edi +# CHECK-NEXT: 1 3 1.00 imull $7, %edi, %edi +# CHECK-NEXT: 1 3 1.00 * imull $7, (%rax), %edi +# CHECK-NEXT: 2 4 1.00 imulq %rdi +# CHECK-NEXT: 2 9 1.00 * imulq (%rax) +# CHECK-NEXT: 2 4 1.00 imulq %rdi, %rdi +# CHECK-NEXT: 2 4 1.00 * imulq (%rax), %rdi +# CHECK-NEXT: 2 4 1.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: 2 4 1.00 * imulq $665536, (%rax), %rdi +# CHECK-NEXT: 2 4 1.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: 2 4 1.00 * imulq $7, (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 incb %dil +# CHECK-NEXT: 2 5 0.50 * * incb (%rax) +# CHECK-NEXT: 1 1 0.25 incw %di +# CHECK-NEXT: 2 5 0.50 * * incw (%rax) +# CHECK-NEXT: 1 1 0.25 incl %edi +# CHECK-NEXT: 2 5 0.50 * * incl (%rax) +# CHECK-NEXT: 1 1 0.25 incq %rdi +# CHECK-NEXT: 2 5 0.50 * * incq (%rax) +# CHECK-NEXT: 1 4 1.00 mulb %dil +# CHECK-NEXT: 2 8 1.00 * mulb (%rax) +# CHECK-NEXT: 1 3 1.00 mulw %si +# CHECK-NEXT: 1 8 1.00 * mulw (%rax) +# CHECK-NEXT: 1 3 1.00 mull %edx +# CHECK-NEXT: 1 8 1.00 * mull (%rax) +# CHECK-NEXT: 2 4 1.00 mulq %rcx +# CHECK-NEXT: 2 9 1.00 * mulq (%rax) +# CHECK-NEXT: 1 1 0.25 negb %dil +# CHECK-NEXT: 2 5 0.50 * * negb (%r8) +# CHECK-NEXT: 1 1 0.25 negw %si +# CHECK-NEXT: 2 5 0.50 * * negw (%r9) +# CHECK-NEXT: 1 1 0.25 negl %edx +# CHECK-NEXT: 2 5 0.50 * * negl (%rax) +# CHECK-NEXT: 1 1 0.25 negq %rcx +# CHECK-NEXT: 2 5 0.50 * * negq (%r10) +# CHECK-NEXT: 1 1 - nop +# CHECK-NEXT: 1 1 - nopw %di +# CHECK-NEXT: 1 1 - nopw (%rcx) +# CHECK-NEXT: 1 1 - nopl %esi +# CHECK-NEXT: 1 1 - nopl (%r8) +# CHECK-NEXT: 1 1 - nopq %rdx +# CHECK-NEXT: 1 1 - nopq (%r9) +# CHECK-NEXT: 1 1 0.25 notb %dil +# CHECK-NEXT: 2 5 0.50 * * notb (%r8) +# CHECK-NEXT: 1 1 0.25 notw %si +# CHECK-NEXT: 2 5 0.50 * * notw (%r9) +# CHECK-NEXT: 1 1 0.25 notl %edx +# CHECK-NEXT: 2 5 0.50 * * notl (%rax) +# CHECK-NEXT: 1 1 0.25 notq %rcx +# CHECK-NEXT: 2 5 0.50 * * notq (%r10) +# CHECK-NEXT: 1 1 0.25 orb $7, %al +# CHECK-NEXT: 1 1 0.25 orb $7, %dil +# CHECK-NEXT: 2 5 0.50 * * orb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orb %dil, %dil +# CHECK-NEXT: 2 5 0.50 * * orb %dil, (%rax) +# CHECK-NEXT: 2 5 0.50 * orb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 orw $511, %ax +# CHECK-NEXT: 1 1 0.25 orw $511, %di +# CHECK-NEXT: 2 5 0.50 * * orw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 orw $7, %di +# CHECK-NEXT: 2 5 0.50 * * orw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orw %di, %di +# CHECK-NEXT: 2 5 0.50 * * orw %di, (%rax) +# CHECK-NEXT: 2 5 0.50 * orw (%rax), %di +# CHECK-NEXT: 1 1 0.25 orl $665536, %eax +# CHECK-NEXT: 1 1 0.25 orl $665536, %edi +# CHECK-NEXT: 2 5 0.50 * * orl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orl $7, %edi +# CHECK-NEXT: 2 5 0.50 * * orl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orl %edi, %edi +# CHECK-NEXT: 2 5 0.50 * * orl %edi, (%rax) +# CHECK-NEXT: 2 5 0.50 * orl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 orq $665536, %rax +# CHECK-NEXT: 1 1 0.25 orq $665536, %rdi +# CHECK-NEXT: 2 5 0.50 * * orq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 orq $7, %rdi +# CHECK-NEXT: 2 5 0.50 * * orq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 orq %rdi, %rdi +# CHECK-NEXT: 2 5 0.50 * * orq %rdi, (%rax) +# CHECK-NEXT: 2 5 0.50 * orq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 rclb %dil +# CHECK-NEXT: 1 1 0.25 rcrb %dil +# CHECK-NEXT: 1 100 - * rclb (%rax) +# CHECK-NEXT: 1 100 - * rcrb (%rax) +# CHECK-NEXT: 1 1 0.25 rclb $7, %dil +# CHECK-NEXT: 1 1 0.25 rcrb $7, %dil +# CHECK-NEXT: 1 100 - * rclb $7, (%rax) +# CHECK-NEXT: 1 100 - * rcrb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 rclb %cl, %dil +# CHECK-NEXT: 1 1 0.25 rcrb %cl, %dil +# CHECK-NEXT: 1 100 - * rclb %cl, (%rax) +# CHECK-NEXT: 1 100 - * rcrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 rclw %di +# CHECK-NEXT: 1 1 0.25 rcrw %di +# CHECK-NEXT: 1 100 - * rclw (%rax) +# CHECK-NEXT: 1 100 - * rcrw (%rax) +# CHECK-NEXT: 1 1 0.25 rclw $7, %di +# CHECK-NEXT: 1 1 0.25 rcrw $7, %di +# CHECK-NEXT: 1 100 - * rclw $7, (%rax) +# CHECK-NEXT: 1 100 - * rcrw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 rclw %cl, %di +# CHECK-NEXT: 1 1 0.25 rcrw %cl, %di +# CHECK-NEXT: 1 100 - * rclw %cl, (%rax) +# CHECK-NEXT: 1 100 - * rcrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 rcll %edi +# CHECK-NEXT: 1 1 0.25 rcrl %edi +# CHECK-NEXT: 1 100 - * rcll (%rax) +# CHECK-NEXT: 1 100 - * rcrl (%rax) +# CHECK-NEXT: 1 1 0.25 rcll $7, %edi +# CHECK-NEXT: 1 1 0.25 rcrl $7, %edi +# CHECK-NEXT: 1 100 - * rcll $7, (%rax) +# CHECK-NEXT: 1 100 - * rcrl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 rcll %cl, %edi +# CHECK-NEXT: 1 1 0.25 rcrl %cl, %edi +# CHECK-NEXT: 1 100 - * rcll %cl, (%rax) +# CHECK-NEXT: 1 100 - * rcrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 rclq %rdi +# CHECK-NEXT: 1 1 0.25 rcrq %rdi +# CHECK-NEXT: 1 100 - * rclq (%rax) +# CHECK-NEXT: 1 100 - * rcrq (%rax) +# CHECK-NEXT: 1 1 0.25 rclq $7, %rdi +# CHECK-NEXT: 1 1 0.25 rcrq $7, %rdi +# CHECK-NEXT: 1 100 - * rclq $7, (%rax) +# CHECK-NEXT: 1 100 - * rcrq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 rclq %cl, %rdi +# CHECK-NEXT: 1 1 0.25 rcrq %cl, %rdi +# CHECK-NEXT: 1 100 - * rclq %cl, (%rax) +# CHECK-NEXT: 1 100 - * rcrq %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 rolb %dil +# CHECK-NEXT: 1 1 0.25 rorb %dil +# CHECK-NEXT: 3 5 1.00 * * rolb (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorb (%rax) +# CHECK-NEXT: 1 1 0.25 rolb $7, %dil +# CHECK-NEXT: 1 1 0.25 rorb $7, %dil +# CHECK-NEXT: 3 5 1.00 * * rolb $7, (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 rolb %cl, %dil +# CHECK-NEXT: 1 1 0.25 rorb %cl, %dil +# CHECK-NEXT: 3 5 1.00 * * rolb %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorb %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 rolw %di +# CHECK-NEXT: 1 1 0.25 rorw %di +# CHECK-NEXT: 3 5 1.00 * * rolw (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorw (%rax) +# CHECK-NEXT: 1 1 0.25 rolw $7, %di +# CHECK-NEXT: 1 1 0.25 rorw $7, %di +# CHECK-NEXT: 3 5 1.00 * * rolw $7, (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 rolw %cl, %di +# CHECK-NEXT: 1 1 0.25 rorw %cl, %di +# CHECK-NEXT: 3 5 1.00 * * rolw %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorw %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 roll %edi +# CHECK-NEXT: 1 1 0.25 rorl %edi +# CHECK-NEXT: 3 5 1.00 * * roll (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorl (%rax) +# CHECK-NEXT: 1 1 0.25 roll $7, %edi +# CHECK-NEXT: 1 1 0.25 rorl $7, %edi +# CHECK-NEXT: 3 5 1.00 * * roll $7, (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 roll %cl, %edi +# CHECK-NEXT: 1 1 0.25 rorl %cl, %edi +# CHECK-NEXT: 3 5 1.00 * * roll %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorl %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 rolq %rdi +# CHECK-NEXT: 1 1 0.25 rorq %rdi +# CHECK-NEXT: 3 5 1.00 * * rolq (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorq (%rax) +# CHECK-NEXT: 1 1 0.25 rolq $7, %rdi +# CHECK-NEXT: 1 1 0.25 rorq $7, %rdi +# CHECK-NEXT: 3 5 1.00 * * rolq $7, (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 rolq %cl, %rdi +# CHECK-NEXT: 1 1 0.25 rorq %cl, %rdi +# CHECK-NEXT: 3 5 1.00 * * rolq %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * rorq %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 sarb %dil +# CHECK-NEXT: 1 1 0.25 shlb %dil +# CHECK-NEXT: 1 1 0.25 shrb %dil +# CHECK-NEXT: 2 5 0.50 * * sarb (%rax) +# CHECK-NEXT: 2 5 0.50 * * shlb (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrb (%rax) +# CHECK-NEXT: 1 1 0.25 sarb $7, %dil +# CHECK-NEXT: 1 1 0.25 shlb $7, %dil +# CHECK-NEXT: 1 1 0.25 shrb $7, %dil +# CHECK-NEXT: 2 5 0.50 * * sarb $7, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shlb $7, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 sarb %cl, %dil +# CHECK-NEXT: 1 1 0.25 shlb %cl, %dil +# CHECK-NEXT: 1 1 0.25 shrb %cl, %dil +# CHECK-NEXT: 3 5 1.00 * * sarb %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * shlb %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * shrb %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 sarw %di +# CHECK-NEXT: 1 1 0.25 shlw %di +# CHECK-NEXT: 1 1 0.25 shrw %di +# CHECK-NEXT: 2 5 0.50 * * sarw (%rax) +# CHECK-NEXT: 2 5 0.50 * * shlw (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrw (%rax) +# CHECK-NEXT: 1 1 0.25 sarw $7, %di +# CHECK-NEXT: 1 1 0.25 shlw $7, %di +# CHECK-NEXT: 1 1 0.25 shrw $7, %di +# CHECK-NEXT: 2 5 0.50 * * sarw $7, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shlw $7, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 sarw %cl, %di +# CHECK-NEXT: 1 1 0.25 shlw %cl, %di +# CHECK-NEXT: 1 1 0.25 shrw %cl, %di +# CHECK-NEXT: 3 5 1.00 * * sarw %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * shlw %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * shrw %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 sarl %edi +# CHECK-NEXT: 1 1 0.25 shll %edi +# CHECK-NEXT: 1 1 0.25 shrl %edi +# CHECK-NEXT: 2 5 0.50 * * sarl (%rax) +# CHECK-NEXT: 2 5 0.50 * * shll (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrl (%rax) +# CHECK-NEXT: 1 1 0.25 sarl $7, %edi +# CHECK-NEXT: 1 1 0.25 shll $7, %edi +# CHECK-NEXT: 1 1 0.25 shrl $7, %edi +# CHECK-NEXT: 2 5 0.50 * * sarl $7, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shll $7, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 sarl %cl, %edi +# CHECK-NEXT: 1 1 0.25 shll %cl, %edi +# CHECK-NEXT: 1 1 0.25 shrl %cl, %edi +# CHECK-NEXT: 3 5 1.00 * * sarl %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * shll %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * shrl %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 sarq %rdi +# CHECK-NEXT: 1 1 0.25 shlq %rdi +# CHECK-NEXT: 1 1 0.25 shrq %rdi +# CHECK-NEXT: 2 5 0.50 * * sarq (%rax) +# CHECK-NEXT: 2 5 0.50 * * shlq (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrq (%rax) +# CHECK-NEXT: 1 1 0.25 sarq $7, %rdi +# CHECK-NEXT: 1 1 0.25 shlq $7, %rdi +# CHECK-NEXT: 1 1 0.25 shrq $7, %rdi +# CHECK-NEXT: 2 5 0.50 * * sarq $7, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shlq $7, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 sarq %cl, %rdi +# CHECK-NEXT: 1 1 0.25 shlq %cl, %rdi +# CHECK-NEXT: 1 1 0.25 shrq %cl, %rdi +# CHECK-NEXT: 3 5 1.00 * * sarq %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * shlq %cl, (%rax) +# CHECK-NEXT: 3 5 1.00 * * shrq %cl, (%rax) +# CHECK-NEXT: 1 1 0.25 sbbb $7, %al +# CHECK-NEXT: 1 1 0.25 sbbb $7, %dil +# CHECK-NEXT: 2 5 0.50 * * sbbb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 sbbb %dil, %dil +# CHECK-NEXT: 2 5 0.50 * * sbbb %dil, (%rax) +# CHECK-NEXT: 2 5 0.50 * sbbb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 sbbw $511, %ax +# CHECK-NEXT: 1 1 0.25 sbbw $511, %di +# CHECK-NEXT: 2 5 0.50 * * sbbw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 sbbw $7, %di +# CHECK-NEXT: 2 5 0.50 * * sbbw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 sbbw %di, %di +# CHECK-NEXT: 2 5 0.50 * * sbbw %di, (%rax) +# CHECK-NEXT: 2 5 0.50 * sbbw (%rax), %di +# CHECK-NEXT: 1 1 0.25 sbbl $665536, %eax +# CHECK-NEXT: 1 1 0.25 sbbl $665536, %edi +# CHECK-NEXT: 2 5 0.50 * * sbbl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 sbbl $7, %edi +# CHECK-NEXT: 2 5 0.50 * * sbbl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 sbbl %edi, %edi +# CHECK-NEXT: 2 5 0.50 * * sbbl %edi, (%rax) +# CHECK-NEXT: 2 5 0.50 * sbbl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 sbbq $665536, %rax +# CHECK-NEXT: 1 1 0.25 sbbq $665536, %rdi +# CHECK-NEXT: 2 5 0.50 * * sbbq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 sbbq $7, %rdi +# CHECK-NEXT: 2 5 0.50 * * sbbq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 sbbq %rdi, %rdi +# CHECK-NEXT: 2 5 0.50 * * sbbq %rdi, (%rax) +# CHECK-NEXT: 2 5 0.50 * sbbq (%rax), %rdi +# CHECK-NEXT: 1 100 - shldw %cl, %si, %di +# CHECK-NEXT: 1 100 - shrdw %cl, %si, %di +# CHECK-NEXT: 1 100 - * * shldw %cl, %si, (%rax) +# CHECK-NEXT: 1 100 - * * shrdw %cl, %si, (%rax) +# CHECK-NEXT: 1 1 0.25 shldw $7, %si, %di +# CHECK-NEXT: 1 1 0.25 shrdw $7, %si, %di +# CHECK-NEXT: 2 5 0.50 * * shldw $7, %si, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrdw $7, %si, (%rax) +# CHECK-NEXT: 1 100 - shldl %cl, %esi, %edi +# CHECK-NEXT: 1 100 - shrdl %cl, %esi, %edi +# CHECK-NEXT: 1 100 - * * shldl %cl, %esi, (%rax) +# CHECK-NEXT: 1 100 - * * shrdl %cl, %esi, (%rax) +# CHECK-NEXT: 1 1 0.25 shldl $7, %esi, %edi +# CHECK-NEXT: 1 1 0.25 shrdl $7, %esi, %edi +# CHECK-NEXT: 2 5 0.50 * * shldl $7, %esi, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrdl $7, %esi, (%rax) +# CHECK-NEXT: 1 100 - shldq %cl, %rsi, %rdi +# CHECK-NEXT: 1 100 - shrdq %cl, %rsi, %rdi +# CHECK-NEXT: 1 100 - * * shldq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 100 - * * shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 shldq $7, %rsi, %rdi +# CHECK-NEXT: 1 1 0.25 shrdq $7, %rsi, %rdi +# CHECK-NEXT: 2 5 0.50 * * shldq $7, %rsi, (%rax) +# CHECK-NEXT: 2 5 0.50 * * shrdq $7, %rsi, (%rax) +# CHECK-NEXT: 1 1 0.25 subb $7, %al +# CHECK-NEXT: 1 1 0.25 subb $7, %dil +# CHECK-NEXT: 2 5 0.50 * * subb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subb %dil, %dil +# CHECK-NEXT: 2 5 0.50 * * subb %dil, (%rax) +# CHECK-NEXT: 2 5 0.50 * subb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 subw $511, %ax +# CHECK-NEXT: 1 1 0.25 subw $511, %di +# CHECK-NEXT: 2 5 0.50 * * subw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 subw $7, %di +# CHECK-NEXT: 2 5 0.50 * * subw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subw %di, %di +# CHECK-NEXT: 2 5 0.50 * * subw %di, (%rax) +# CHECK-NEXT: 2 5 0.50 * subw (%rax), %di +# CHECK-NEXT: 1 1 0.25 subl $665536, %eax +# CHECK-NEXT: 1 1 0.25 subl $665536, %edi +# CHECK-NEXT: 2 5 0.50 * * subl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subl $7, %edi +# CHECK-NEXT: 2 5 0.50 * * subl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subl %edi, %edi +# CHECK-NEXT: 2 5 0.50 * * subl %edi, (%rax) +# CHECK-NEXT: 2 5 0.50 * subl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 subq $665536, %rax +# CHECK-NEXT: 1 1 0.25 subq $665536, %rdi +# CHECK-NEXT: 2 5 0.50 * * subq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 subq $7, %rdi +# CHECK-NEXT: 2 5 0.50 * * subq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 subq %rdi, %rdi +# CHECK-NEXT: 2 5 0.50 * * subq %rdi, (%rax) +# CHECK-NEXT: 2 5 0.50 * subq (%rax), %rdi +# CHECK-NEXT: 1 1 0.25 xorb $7, %al +# CHECK-NEXT: 1 1 0.25 xorb $7, %dil +# CHECK-NEXT: 2 5 0.50 * * xorb $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorb %dil, %dil +# CHECK-NEXT: 2 5 0.50 * * xorb %dil, (%rax) +# CHECK-NEXT: 2 5 0.50 * xorb (%rax), %dil +# CHECK-NEXT: 1 1 0.25 xorw $511, %ax +# CHECK-NEXT: 1 1 0.25 xorw $511, %di +# CHECK-NEXT: 2 5 0.50 * * xorw $511, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw $7, %di +# CHECK-NEXT: 2 5 0.50 * * xorw $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorw %di, %di +# CHECK-NEXT: 2 5 0.50 * * xorw %di, (%rax) +# CHECK-NEXT: 2 5 0.50 * xorw (%rax), %di +# CHECK-NEXT: 1 1 0.25 xorl $665536, %eax +# CHECK-NEXT: 1 1 0.25 xorl $665536, %edi +# CHECK-NEXT: 2 5 0.50 * * xorl $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl $7, %edi +# CHECK-NEXT: 2 5 0.50 * * xorl $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorl %edi, %edi +# CHECK-NEXT: 2 5 0.50 * * xorl %edi, (%rax) +# CHECK-NEXT: 2 5 0.50 * xorl (%rax), %edi +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rax +# CHECK-NEXT: 1 1 0.25 xorq $665536, %rdi +# CHECK-NEXT: 2 5 0.50 * * xorq $665536, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq $7, %rdi +# CHECK-NEXT: 2 5 0.50 * * xorq $7, (%rax) +# CHECK-NEXT: 1 1 0.25 xorq %rdi, %rdi +# CHECK-NEXT: 2 5 0.50 * * xorq %rdi, (%rax) +# CHECK-NEXT: 2 5 0.50 * xorq (%rax), %rdi # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 131.50 131.50 111.50 145.50 127.50 111.50 392.00 - - - - 34.00 # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcb $7, %al -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcb $7, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcb %dil, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcw $511, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcw $7, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcw %di, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcl $665536, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcl $7, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcl %edi, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcq $7, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addb $7, %al -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addb $7, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addb %dil, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addw $511, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addw $7, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addw %di, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addl $665536, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addl $7, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addl %edi, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addq $7, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andb $7, %al -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andb $7, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andb %dil, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andw $511, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andw $7, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andw %di, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andl $665536, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andl $7, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andl %edi, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andq $7, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btw %si, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcw %si, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrw %si, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsw %si, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btw %si, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcw %si, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrw %si, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsw %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsw $7, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btl %esi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcl %esi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrl %esi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsl %esi, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btl %esi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcl %esi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrl %esi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsl %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsl $7, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btq %rsi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcq %rsi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrq %rsi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsq %rsi, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btq %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcq %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrq %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsq %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsq $7, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decb %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decb (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decw %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decw (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decl %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decl (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decq %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decq (%rax) -# CHECK-NEXT: - - - - 1.00 - 15.00 - - - - - divb %dil -# CHECK-NEXT: 0.50 0.50 - - 1.00 - 15.00 - - - - - divb (%rax) -# CHECK-NEXT: - - - - 1.00 - 17.00 - - - - - divw %si -# CHECK-NEXT: 0.50 0.50 - - 1.00 - 17.00 - - - - - divw (%rax) -# CHECK-NEXT: - - - - 1.00 - 25.00 - - - - - divl %edx -# CHECK-NEXT: 0.50 0.50 - - 1.00 - 25.00 - - - - - divl (%rax) -# CHECK-NEXT: - - - - 1.00 - 41.00 - - - - - divq %rcx -# CHECK-NEXT: 0.50 0.50 - - 1.00 - 41.00 - - - - - divq (%rax) -# CHECK-NEXT: - - - - 1.00 - 15.00 - - - - - idivb %dil -# CHECK-NEXT: 0.50 0.50 - - 1.00 - 15.00 - - - - - idivb (%rax) -# CHECK-NEXT: - - - - 1.00 - 17.00 - - - - - idivw %si -# CHECK-NEXT: 0.50 0.50 - - 1.00 - 17.00 - - - - - idivw (%rax) -# CHECK-NEXT: - - - - 1.00 - 25.00 - - - - - idivl %edx -# CHECK-NEXT: 0.50 0.50 - - 1.00 - 25.00 - - - - - idivl (%rax) -# CHECK-NEXT: - - - - 1.00 - 41.00 - - - - - idivq %rcx -# CHECK-NEXT: 0.50 0.50 - - 1.00 - 41.00 - - - - - idivq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulb %dil -# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imulb (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw %di -# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imulw (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw %di, %di -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw (%rax), %di -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $511, %di, %di -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $511, (%rax), %di -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $7, %di, %di -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $7, (%rax), %di -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull %edi -# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imull (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull %edi, %edi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $665536, %edi, %edi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $665536, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $7, %edi, %edi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $7, (%rax), %edi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq %rdi -# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imulq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq %rdi, %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $665536, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $665536, (%rax), %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $7, %rdi, %rdi -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $7, (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incb %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incb (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incw %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incw (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incl %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incl (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incq %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incq (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulb %dil -# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulb (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulw %si -# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulw (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mull %edx -# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mull (%rax) -# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulq %rcx -# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulq (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - negb %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - negb (%r8) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - negw %si -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - negw (%r9) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - negl %edx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - negl (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - negq %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - negq (%r10) -# CHECK-NEXT: - - - - - - - - - - - - nop -# CHECK-NEXT: - - - - - - - - - - - - nopw %di -# CHECK-NEXT: - - - - - - - - - - - - nopw (%rcx) -# CHECK-NEXT: - - - - - - - - - - - - nopl %esi -# CHECK-NEXT: - - - - - - - - - - - - nopl (%r8) -# CHECK-NEXT: - - - - - - - - - - - - nopq %rdx -# CHECK-NEXT: - - - - - - - - - - - - nopq (%r9) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - notb %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - notb (%r8) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - notw %si -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - notw (%r9) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - notl %edx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - notl (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - notq %rcx -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - notq (%r10) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orb $7, %al -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orb $7, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orb %dil, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orw $511, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orw $7, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orw %di, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orl $665536, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orl $7, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orl %edi, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orq $7, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclb %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrb %dil -# CHECK-NEXT: - - - - - - - - - - - - rclb (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrb (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrb $7, %dil -# CHECK-NEXT: - - - - - - - - - - - - rclb $7, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclb %cl, %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrb %cl, %dil -# CHECK-NEXT: - - - - - - - - - - - - rclb %cl, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrb %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclw %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrw %di -# CHECK-NEXT: - - - - - - - - - - - - rclw (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrw (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrw $7, %di -# CHECK-NEXT: - - - - - - - - - - - - rclw $7, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclw %cl, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrw %cl, %di -# CHECK-NEXT: - - - - - - - - - - - - rclw %cl, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrw %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcll %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrl %edi -# CHECK-NEXT: - - - - - - - - - - - - rcll (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrl (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcll $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrl $7, %edi -# CHECK-NEXT: - - - - - - - - - - - - rcll $7, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcll %cl, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrl %cl, %edi -# CHECK-NEXT: - - - - - - - - - - - - rcll %cl, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrl %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrq %rdi -# CHECK-NEXT: - - - - - - - - - - - - rclq (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrq (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrq $7, %rdi -# CHECK-NEXT: - - - - - - - - - - - - rclq $7, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclq %cl, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrq %cl, %rdi -# CHECK-NEXT: - - - - - - - - - - - - rclq %cl, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - rcrq %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolb %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorb %dil -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolb (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorb (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorb $7, %dil -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolb $7, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolb %cl, %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorb %cl, %dil -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolb %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorb %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolw %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorw %di -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolw (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorw (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorw $7, %di -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolw $7, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolw %cl, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorw %cl, %di -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolw %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorw %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - roll %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorl %edi -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - roll (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorl (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - roll $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorl $7, %edi -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - roll $7, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - roll %cl, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorl %cl, %edi -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - roll %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorl %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorq %rdi -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolq (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorq (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorq $7, %rdi -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolq $7, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolq %cl, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorq %cl, %rdi -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolq %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorq %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarb %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlb %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrb %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarb (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlb (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrb (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlb $7, %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrb $7, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlb $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarb %cl, %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlb %cl, %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrb %cl, %dil -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - sarb %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shlb %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shrb %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarw %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlw %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrw %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarw (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlw (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrw (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlw $7, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrw $7, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlw $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarw %cl, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlw %cl, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrw %cl, %di -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - sarw %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shlw %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shrw %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarl %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shll %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrl %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarl (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shll (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrl (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarl $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shll $7, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrl $7, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarl $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shll $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarl %cl, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shll %cl, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrl %cl, %edi -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - sarl %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shll %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shrl %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlq %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrq %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarq (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlq (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrq (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlq $7, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrq $7, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlq $7, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarq %cl, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlq %cl, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrq %cl, %rdi -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - sarq %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shlq %cl, (%rax) -# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shrq %cl, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbb $7, %al -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbb $7, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbb %dil, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbw $511, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbw $7, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbw %di, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbl $665536, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbl $7, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbl %edi, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbq $7, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbq (%rax), %rdi -# CHECK-NEXT: - - - - - - - - - - - - shldw %cl, %si, %di -# CHECK-NEXT: - - - - - - - - - - - - shrdw %cl, %si, %di -# CHECK-NEXT: - - - - - - - - - - - - shldw %cl, %si, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - shrdw %cl, %si, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shldw $7, %si, %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrdw $7, %si, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shldw $7, %si, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrdw $7, %si, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - shldl %cl, %esi, %edi -# CHECK-NEXT: - - - - - - - - - - - - shrdl %cl, %esi, %edi -# CHECK-NEXT: - - - - - - - - - - - - shldl %cl, %esi, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - shrdl %cl, %esi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shldl $7, %esi, %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrdl $7, %esi, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shldl $7, %esi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrdl $7, %esi, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - shldq %cl, %rsi, %rdi -# CHECK-NEXT: - - - - - - - - - - - - shrdq %cl, %rsi, %rdi -# CHECK-NEXT: - - - - - - - - - - - - shldq %cl, %rsi, (%rax) -# CHECK-NEXT: - - - - - - - - - - - - shrdq %cl, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shldq $7, %rsi, %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrdq $7, %rsi, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shldq $7, %rsi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrdq $7, %rsi, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb $7, %al -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb $7, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb %dil, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subw $511, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subw $7, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subw %di, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subl $665536, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subl $7, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subl %edi, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subq $7, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subq (%rax), %rdi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorb $7, %al -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorb $7, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorb $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorb %dil, %dil -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorb %dil, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorb (%rax), %dil -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorw $511, %ax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorw $511, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorw $511, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorw $7, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorw $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorw %di, %di -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorw %di, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorw (%rax), %di -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorl $665536, %eax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorl $665536, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorl $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorl $7, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorl $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorl %edi, %edi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorl %edi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorl (%rax), %edi -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorq $665536, %rax -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorq $665536, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorq $665536, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorq $7, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorq $7, (%rax) -# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorq %rdi, %rdi -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorq %rdi, (%rax) -# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorq (%rax), %rdi +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcb $7, %al +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcb $7, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcb %dil, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcw $511, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcw $7, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcw %di, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcl $665536, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcl $7, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcl %edi, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcq $7, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - adcq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - adcq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addb $7, %al +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addb $7, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addb %dil, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addw $511, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addw $7, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addw %di, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addl $665536, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addl $7, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addl %edi, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addq $7, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - addq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - addq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andb $7, %al +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andb $7, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andb %dil, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andw $511, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andw $7, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andw %di, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andl $665536, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andl $7, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andl %edi, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andq $7, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - andq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - andq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btw %si, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcw %si, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrw %si, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsw %si, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btw %si, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcw %si, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrw %si, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsw %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsw $7, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btl %esi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcl %esi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrl %esi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsl %esi, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btl %esi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcl %esi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrl %esi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsl %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsl $7, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btq %rsi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcq %rsi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrq %rsi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsq %rsi, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btq %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcq %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrq %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsq %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btcq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btrq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - btsq $7, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decb %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decb (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decw %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decw (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decl %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decl (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decq %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decq (%rax) +# CHECK-NEXT: - - - - 1.00 - 15.00 - - - - - divb %dil +# CHECK-NEXT: 0.50 0.50 - - 1.00 - 15.00 - - - - - divb (%rax) +# CHECK-NEXT: - - - - 1.00 - 17.00 - - - - - divw %si +# CHECK-NEXT: 0.50 0.50 - - 1.00 - 17.00 - - - - - divw (%rax) +# CHECK-NEXT: - - - - 1.00 - 25.00 - - - - - divl %edx +# CHECK-NEXT: 0.50 0.50 - - 1.00 - 25.00 - - - - - divl (%rax) +# CHECK-NEXT: - - - - 1.00 - 41.00 - - - - - divq %rcx +# CHECK-NEXT: 0.50 0.50 - - 1.00 - 41.00 - - - - - divq (%rax) +# CHECK-NEXT: - - - - 1.00 - 15.00 - - - - - idivb %dil +# CHECK-NEXT: 0.50 0.50 - - 1.00 - 15.00 - - - - - idivb (%rax) +# CHECK-NEXT: - - - - 1.00 - 17.00 - - - - - idivw %si +# CHECK-NEXT: 0.50 0.50 - - 1.00 - 17.00 - - - - - idivw (%rax) +# CHECK-NEXT: - - - - 1.00 - 25.00 - - - - - idivl %edx +# CHECK-NEXT: 0.50 0.50 - - 1.00 - 25.00 - - - - - idivl (%rax) +# CHECK-NEXT: - - - - 1.00 - 41.00 - - - - - idivq %rcx +# CHECK-NEXT: 0.50 0.50 - - 1.00 - 41.00 - - - - - idivq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulb %dil +# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imulb (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw %di +# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imulw (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw %di, %di +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw (%rax), %di +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $511, %di, %di +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $511, (%rax), %di +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $7, %di, %di +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulw $7, (%rax), %di +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull %edi +# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imull (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull %edi, %edi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $665536, %edi, %edi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $665536, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $7, %edi, %edi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imull $7, (%rax), %edi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq %rdi +# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 imulq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq %rdi, %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $665536, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $665536, (%rax), %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $7, %rdi, %rdi +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 imulq $7, (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incb %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incb (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incw %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incw (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incl %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incl (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incq %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incq (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulb %dil +# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulb (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulw %si +# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulw (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mull %edx +# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mull (%rax) +# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulq %rcx +# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulq (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - negb %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - negb (%r8) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - negw %si +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - negw (%r9) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - negl %edx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - negl (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - negq %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - negq (%r10) +# CHECK-NEXT: - - - - - - - - - - - - nop +# CHECK-NEXT: - - - - - - - - - - - - nopw %di +# CHECK-NEXT: - - - - - - - - - - - - nopw (%rcx) +# CHECK-NEXT: - - - - - - - - - - - - nopl %esi +# CHECK-NEXT: - - - - - - - - - - - - nopl (%r8) +# CHECK-NEXT: - - - - - - - - - - - - nopq %rdx +# CHECK-NEXT: - - - - - - - - - - - - nopq (%r9) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - notb %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - notb (%r8) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - notw %si +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - notw (%r9) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - notl %edx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - notl (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - notq %rcx +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - notq (%r10) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orb $7, %al +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orb $7, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orb %dil, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orw $511, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orw $7, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orw %di, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orl $665536, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orl $7, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orl %edi, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orq $7, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - orq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - orq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclb %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrb %dil +# CHECK-NEXT: - - - - - - - - - - - - rclb (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrb (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrb $7, %dil +# CHECK-NEXT: - - - - - - - - - - - - rclb $7, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclb %cl, %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrb %cl, %dil +# CHECK-NEXT: - - - - - - - - - - - - rclb %cl, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrb %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclw %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrw %di +# CHECK-NEXT: - - - - - - - - - - - - rclw (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrw (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrw $7, %di +# CHECK-NEXT: - - - - - - - - - - - - rclw $7, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclw %cl, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrw %cl, %di +# CHECK-NEXT: - - - - - - - - - - - - rclw %cl, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrw %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcll %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrl %edi +# CHECK-NEXT: - - - - - - - - - - - - rcll (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrl (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcll $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrl $7, %edi +# CHECK-NEXT: - - - - - - - - - - - - rcll $7, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcll %cl, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrl %cl, %edi +# CHECK-NEXT: - - - - - - - - - - - - rcll %cl, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrl %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrq %rdi +# CHECK-NEXT: - - - - - - - - - - - - rclq (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrq (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrq $7, %rdi +# CHECK-NEXT: - - - - - - - - - - - - rclq $7, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rclq %cl, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rcrq %cl, %rdi +# CHECK-NEXT: - - - - - - - - - - - - rclq %cl, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - rcrq %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolb %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorb %dil +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolb (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorb (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorb $7, %dil +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolb $7, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolb %cl, %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorb %cl, %dil +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolb %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorb %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolw %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorw %di +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolw (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorw (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorw $7, %di +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolw $7, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolw %cl, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorw %cl, %di +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolw %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorw %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - roll %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorl %edi +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - roll (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorl (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - roll $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorl $7, %edi +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - roll $7, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - roll %cl, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorl %cl, %edi +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - roll %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorl %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorq %rdi +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolq (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorq (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorq $7, %rdi +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolq $7, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rolq %cl, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorq %cl, %rdi +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolq %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorq %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarb %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlb %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrb %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarb (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlb (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrb (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlb $7, %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrb $7, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlb $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarb %cl, %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlb %cl, %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrb %cl, %dil +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - sarb %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shlb %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shrb %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarw %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlw %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrw %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarw (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlw (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrw (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlw $7, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrw $7, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlw $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarw %cl, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlw %cl, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrw %cl, %di +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - sarw %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shlw %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shrw %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarl %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shll %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrl %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarl (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shll (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrl (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarl $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shll $7, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrl $7, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarl $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shll $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarl %cl, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shll %cl, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrl %cl, %edi +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - sarl %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shll %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shrl %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlq %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrq %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarq (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlq (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrq (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlq $7, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrq $7, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sarq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shlq $7, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarq %cl, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlq %cl, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrq %cl, %rdi +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - sarq %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shlq %cl, (%rax) +# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - shrq %cl, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbb $7, %al +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbb $7, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbb %dil, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbw $511, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbw $7, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbw %di, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbl $665536, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbl $7, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbl %edi, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbq $7, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sbbq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - sbbq (%rax), %rdi +# CHECK-NEXT: - - - - - - - - - - - - shldw %cl, %si, %di +# CHECK-NEXT: - - - - - - - - - - - - shrdw %cl, %si, %di +# CHECK-NEXT: - - - - - - - - - - - - shldw %cl, %si, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - shrdw %cl, %si, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shldw $7, %si, %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrdw $7, %si, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shldw $7, %si, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrdw $7, %si, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - shldl %cl, %esi, %edi +# CHECK-NEXT: - - - - - - - - - - - - shrdl %cl, %esi, %edi +# CHECK-NEXT: - - - - - - - - - - - - shldl %cl, %esi, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - shrdl %cl, %esi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shldl $7, %esi, %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrdl $7, %esi, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shldl $7, %esi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrdl $7, %esi, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - shldq %cl, %rsi, %rdi +# CHECK-NEXT: - - - - - - - - - - - - shrdq %cl, %rsi, %rdi +# CHECK-NEXT: - - - - - - - - - - - - shldq %cl, %rsi, (%rax) +# CHECK-NEXT: - - - - - - - - - - - - shrdq %cl, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shldq $7, %rsi, %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrdq $7, %rsi, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shldq $7, %rsi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrdq $7, %rsi, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb $7, %al +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb $7, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb %dil, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subw $511, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subw $7, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subw %di, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subl $665536, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subl $7, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subl %edi, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subq $7, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subq (%rax), %rdi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorb $7, %al +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorb $7, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorb $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorb %dil, %dil +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorb %dil, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorb (%rax), %dil +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorw $511, %ax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorw $511, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorw $511, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorw $7, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorw $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorw %di, %di +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorw %di, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorw (%rax), %di +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorl $665536, %eax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorl $665536, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorl $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorl $7, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorl $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorl %edi, %edi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorl %edi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorl (%rax), %edi +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorq $665536, %rax +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorq $665536, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorq $665536, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorq $7, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorq $7, (%rax) +# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - xorq %rdi, %rdi +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorq %rdi, (%rax) +# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - xorq (%rax), %rdi diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s index 11ca3a1..f359bd2 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s @@ -205,322 +205,322 @@ fyl2xp1 # CHECK-NEXT: [5]: MayStore # CHECK-NEXT: [6]: HasSideEffects -# CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# CHECK-NEXT: 1 100 - * f2xm1 -# CHECK-NEXT: 1 2 1.00 * fabs -# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fadd %st(2) -# CHECK-NEXT: 1 10 1.00 * * fadds (%ecx) -# CHECK-NEXT: 1 10 1.00 * * faddl (%ecx) -# CHECK-NEXT: 1 3 1.00 * faddp %st(1) -# CHECK-NEXT: 1 3 1.00 * faddp %st(2) -# CHECK-NEXT: 1 10 1.00 * * fiadds (%ecx) -# CHECK-NEXT: 1 10 1.00 * * fiaddl (%ecx) -# CHECK-NEXT: 1 100 - * fbld (%ecx) -# CHECK-NEXT: 1 100 - * fbstp (%eax) -# CHECK-NEXT: 1 1 1.00 * fchs -# CHECK-NEXT: 1 100 - * fnclex -# CHECK-NEXT: 1 100 - * fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmove %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 100 - * fcmovu %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 * fcom %st(1) -# CHECK-NEXT: 1 1 1.00 * fcom %st(3) -# CHECK-NEXT: 1 8 1.00 * fcoms (%ecx) -# CHECK-NEXT: 1 8 1.00 * fcoml (%eax) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) -# CHECK-NEXT: 1 8 1.00 * fcomps (%ecx) -# CHECK-NEXT: 1 8 1.00 * fcompl (%eax) -# CHECK-NEXT: 1 1 1.00 * fcompp -# CHECK-NEXT: 1 9 0.50 * fcomi %st(3) -# CHECK-NEXT: 1 9 0.50 * fcompi %st(3) -# CHECK-NEXT: 1 100 - * fcos -# CHECK-NEXT: 1 11 1.00 * fdecstp -# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1) -# CHECK-NEXT: 1 15 1.00 * fdiv %st(2) -# CHECK-NEXT: 1 22 1.00 * * fdivs (%ecx) -# CHECK-NEXT: 1 22 1.00 * * fdivl (%eax) -# CHECK-NEXT: 1 15 1.00 * fdivp %st(1) -# CHECK-NEXT: 1 15 1.00 * fdivp %st(2) -# CHECK-NEXT: 1 22 1.00 * * fidivs (%ecx) -# CHECK-NEXT: 1 22 1.00 * * fidivl (%eax) -# CHECK-NEXT: 1 15 1.00 * fdivr %st(0), %st(1) -# CHECK-NEXT: 1 15 1.00 * fdivr %st(2) -# CHECK-NEXT: 1 22 1.00 * * fdivrs (%ecx) -# CHECK-NEXT: 1 22 1.00 * * fdivrl (%eax) -# CHECK-NEXT: 1 15 1.00 * fdivrp %st(1) -# CHECK-NEXT: 1 15 1.00 * fdivrp %st(2) -# CHECK-NEXT: 1 22 1.00 * * fidivrs (%ecx) -# CHECK-NEXT: 1 22 1.00 * * fidivrl (%eax) -# CHECK-NEXT: 1 11 1.00 * ffree %st(0) -# CHECK-NEXT: 2 12 1.50 * ficoms (%ecx) -# CHECK-NEXT: 2 12 1.50 * ficoml (%eax) -# CHECK-NEXT: 2 12 1.50 * ficomps (%ecx) -# CHECK-NEXT: 2 12 1.50 * ficompl (%eax) -# CHECK-NEXT: 2 11 1.00 * * filds (%edx) -# CHECK-NEXT: 2 11 1.00 * * fildl (%ecx) -# CHECK-NEXT: 2 11 1.00 * * fildll (%eax) -# CHECK-NEXT: 1 11 1.00 * fincstp -# CHECK-NEXT: 1 100 - * fninit -# CHECK-NEXT: 1 12 0.50 * * fists (%edx) -# CHECK-NEXT: 1 12 0.50 * * fistl (%ecx) -# CHECK-NEXT: 1 12 0.50 * * fistps (%edx) -# CHECK-NEXT: 1 12 0.50 * * fistpl (%ecx) -# CHECK-NEXT: 1 12 0.50 * * fistpll (%eax) -# CHECK-NEXT: 1 12 0.50 * * fisttps (%edx) -# CHECK-NEXT: 1 12 0.50 * * fisttpl (%ecx) -# CHECK-NEXT: 1 12 0.50 * * fisttpll (%eax) -# CHECK-NEXT: 1 1 0.50 * fld %st(0) -# CHECK-NEXT: 1 8 0.50 * * flds (%edx) -# CHECK-NEXT: 1 8 0.50 * * fldl (%ecx) -# CHECK-NEXT: 2 1 0.50 * * fldt (%eax) -# CHECK-NEXT: 1 100 - * * fldcw (%eax) -# CHECK-NEXT: 1 100 - * fldenv (%eax) -# CHECK-NEXT: 1 11 1.00 * fld1 -# CHECK-NEXT: 1 11 1.00 * fldl2e -# CHECK-NEXT: 1 11 1.00 * fldl2t -# CHECK-NEXT: 1 11 1.00 * fldlg2 -# CHECK-NEXT: 1 11 1.00 * fldln2 -# CHECK-NEXT: 1 11 1.00 * fldpi -# CHECK-NEXT: 1 8 0.50 * fldz -# CHECK-NEXT: 1 3 0.50 * fmul %st(0), %st(1) -# CHECK-NEXT: 1 3 0.50 * fmul %st(2) -# CHECK-NEXT: 2 10 0.50 * * fmuls (%ecx) -# CHECK-NEXT: 2 10 0.50 * * fmull (%eax) -# CHECK-NEXT: 1 3 0.50 * fmulp %st(1) -# CHECK-NEXT: 1 3 0.50 * fmulp %st(2) -# CHECK-NEXT: 2 10 0.50 * * fimuls (%ecx) -# CHECK-NEXT: 2 10 0.50 * * fimull (%eax) -# CHECK-NEXT: 1 1 1.00 * fnop -# CHECK-NEXT: 1 100 - * fpatan -# CHECK-NEXT: 1 100 - * fprem -# CHECK-NEXT: 1 100 - * fprem1 -# CHECK-NEXT: 1 100 - * fptan -# CHECK-NEXT: 1 100 - * frndint -# CHECK-NEXT: 1 100 - * frstor (%eax) -# CHECK-NEXT: 1 100 - * fnsave (%eax) -# CHECK-NEXT: 1 100 - * fscale -# CHECK-NEXT: 1 100 - * fsin -# CHECK-NEXT: 1 100 - * fsincos -# CHECK-NEXT: 1 20 20.00 * fsqrt -# CHECK-NEXT: 2 5 0.50 * fst %st(0) -# CHECK-NEXT: 1 1 0.50 * * fsts (%edx) -# CHECK-NEXT: 1 1 0.50 * * fstl (%ecx) -# CHECK-NEXT: 2 5 0.50 * fstp %st(0) -# CHECK-NEXT: 1 1 0.50 * * fstpl (%edx) -# CHECK-NEXT: 1 1 0.50 * * fstpl (%ecx) -# CHECK-NEXT: 1 5 0.50 * * fstpt (%eax) -# CHECK-NEXT: 1 100 - * * fnstcw (%eax) -# CHECK-NEXT: 1 100 - * fnstenv (%eax) -# CHECK-NEXT: 1 100 - * fnstsw (%eax) -# CHECK-NEXT: 1 100 - * frstor (%eax) -# CHECK-NEXT: 1 1 1.00 * wait -# CHECK-NEXT: 1 100 - * fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsub %st(2) -# CHECK-NEXT: 1 10 1.00 * * fsubs (%ecx) -# CHECK-NEXT: 1 10 1.00 * * fsubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) -# CHECK-NEXT: 1 10 1.00 * * fisubs (%ecx) -# CHECK-NEXT: 1 10 1.00 * * fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) -# CHECK-NEXT: 1 10 1.00 * * fsubrs (%ecx) -# CHECK-NEXT: 1 10 1.00 * * fsubrl (%eax) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) -# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) -# CHECK-NEXT: 1 10 1.00 * * fisubrs (%ecx) -# CHECK-NEXT: 1 10 1.00 * * fisubrl (%eax) -# CHECK-NEXT: 1 1 1.00 * ftst -# CHECK-NEXT: 1 1 1.00 * fucom %st(1) -# CHECK-NEXT: 1 1 1.00 * fucom %st(3) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) -# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) -# CHECK-NEXT: 1 1 1.00 * fucompp -# CHECK-NEXT: 1 9 0.50 * fucomi %st(3) -# CHECK-NEXT: 1 9 0.50 * fucompi %st(3) -# CHECK-NEXT: 1 1 1.00 * wait -# CHECK-NEXT: 1 1 1.00 * fxam -# CHECK-NEXT: 1 1 0.25 * fxch %st(1) -# CHECK-NEXT: 1 1 0.25 * fxch %st(3) -# CHECK-NEXT: 1 100 - * * * fxrstor (%eax) -# CHECK-NEXT: 1 100 - * * * fxsave (%eax) -# CHECK-NEXT: 1 100 - * fxtract -# CHECK-NEXT: 1 100 - * fyl2x -# CHECK-NEXT: 1 100 - * fyl2xp1 +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 100 - * f2xm1 +# CHECK-NEXT: 1 2 1.00 * fabs +# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fadd %st(2) +# CHECK-NEXT: 1 10 1.00 * * fadds (%ecx) +# CHECK-NEXT: 1 10 1.00 * * faddl (%ecx) +# CHECK-NEXT: 1 3 1.00 * faddp %st(1) +# CHECK-NEXT: 1 3 1.00 * faddp %st(2) +# CHECK-NEXT: 1 10 1.00 * * fiadds (%ecx) +# CHECK-NEXT: 1 10 1.00 * * fiaddl (%ecx) +# CHECK-NEXT: 1 100 - * fbld (%ecx) +# CHECK-NEXT: 1 100 - * fbstp (%eax) +# CHECK-NEXT: 1 1 1.00 * fchs +# CHECK-NEXT: 1 100 - * fnclex +# CHECK-NEXT: 1 100 - * fcmovb %st(1), %st(0) +# CHECK-NEXT: 1 100 - * fcmovbe %st(1), %st(0) +# CHECK-NEXT: 1 100 - * fcmove %st(1), %st(0) +# CHECK-NEXT: 1 100 - * fcmovnb %st(1), %st(0) +# CHECK-NEXT: 1 100 - * fcmovnbe %st(1), %st(0) +# CHECK-NEXT: 1 100 - * fcmovne %st(1), %st(0) +# CHECK-NEXT: 1 100 - * fcmovnu %st(1), %st(0) +# CHECK-NEXT: 1 100 - * fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 1 1.00 * fcom %st(1) +# CHECK-NEXT: 1 1 1.00 * fcom %st(3) +# CHECK-NEXT: 1 8 1.00 * fcoms (%ecx) +# CHECK-NEXT: 1 8 1.00 * fcoml (%eax) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fcomp %st(3) +# CHECK-NEXT: 1 8 1.00 * fcomps (%ecx) +# CHECK-NEXT: 1 8 1.00 * fcompl (%eax) +# CHECK-NEXT: 1 1 1.00 * fcompp +# CHECK-NEXT: 1 9 0.50 * fcomi %st(3) +# CHECK-NEXT: 1 9 0.50 * fcompi %st(3) +# CHECK-NEXT: 1 100 - * fcos +# CHECK-NEXT: 1 11 1.00 * fdecstp +# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 * fdiv %st(2) +# CHECK-NEXT: 1 22 1.00 * * fdivs (%ecx) +# CHECK-NEXT: 1 22 1.00 * * fdivl (%eax) +# CHECK-NEXT: 1 15 1.00 * fdivp %st(1) +# CHECK-NEXT: 1 15 1.00 * fdivp %st(2) +# CHECK-NEXT: 1 22 1.00 * * fidivs (%ecx) +# CHECK-NEXT: 1 22 1.00 * * fidivl (%eax) +# CHECK-NEXT: 1 15 1.00 * fdivr %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 * fdivr %st(2) +# CHECK-NEXT: 1 22 1.00 * * fdivrs (%ecx) +# CHECK-NEXT: 1 22 1.00 * * fdivrl (%eax) +# CHECK-NEXT: 1 15 1.00 * fdivrp %st(1) +# CHECK-NEXT: 1 15 1.00 * fdivrp %st(2) +# CHECK-NEXT: 1 22 1.00 * * fidivrs (%ecx) +# CHECK-NEXT: 1 22 1.00 * * fidivrl (%eax) +# CHECK-NEXT: 1 11 1.00 * ffree %st(0) +# CHECK-NEXT: 2 12 1.50 * ficoms (%ecx) +# CHECK-NEXT: 2 12 1.50 * ficoml (%eax) +# CHECK-NEXT: 2 12 1.50 * ficomps (%ecx) +# CHECK-NEXT: 2 12 1.50 * ficompl (%eax) +# CHECK-NEXT: 2 11 1.00 * * filds (%edx) +# CHECK-NEXT: 2 11 1.00 * * fildl (%ecx) +# CHECK-NEXT: 2 11 1.00 * * fildll (%eax) +# CHECK-NEXT: 1 11 1.00 * fincstp +# CHECK-NEXT: 1 100 - * fninit +# CHECK-NEXT: 1 12 0.50 * * fists (%edx) +# CHECK-NEXT: 1 12 0.50 * * fistl (%ecx) +# CHECK-NEXT: 1 12 0.50 * * fistps (%edx) +# CHECK-NEXT: 1 12 0.50 * * fistpl (%ecx) +# CHECK-NEXT: 1 12 0.50 * * fistpll (%eax) +# CHECK-NEXT: 1 12 0.50 * * fisttps (%edx) +# CHECK-NEXT: 1 12 0.50 * * fisttpl (%ecx) +# CHECK-NEXT: 1 12 0.50 * * fisttpll (%eax) +# CHECK-NEXT: 1 1 0.50 * fld %st(0) +# CHECK-NEXT: 1 8 0.50 * * flds (%edx) +# CHECK-NEXT: 1 8 0.50 * * fldl (%ecx) +# CHECK-NEXT: 2 1 0.50 * * fldt (%eax) +# CHECK-NEXT: 1 100 - * * fldcw (%eax) +# CHECK-NEXT: 1 100 - * fldenv (%eax) +# CHECK-NEXT: 1 11 1.00 * fld1 +# CHECK-NEXT: 1 11 1.00 * fldl2e +# CHECK-NEXT: 1 11 1.00 * fldl2t +# CHECK-NEXT: 1 11 1.00 * fldlg2 +# CHECK-NEXT: 1 11 1.00 * fldln2 +# CHECK-NEXT: 1 11 1.00 * fldpi +# CHECK-NEXT: 1 8 0.50 * fldz +# CHECK-NEXT: 1 3 0.50 * fmul %st(0), %st(1) +# CHECK-NEXT: 1 3 0.50 * fmul %st(2) +# CHECK-NEXT: 2 10 0.50 * * fmuls (%ecx) +# CHECK-NEXT: 2 10 0.50 * * fmull (%eax) +# CHECK-NEXT: 1 3 0.50 * fmulp %st(1) +# CHECK-NEXT: 1 3 0.50 * fmulp %st(2) +# CHECK-NEXT: 2 10 0.50 * * fimuls (%ecx) +# CHECK-NEXT: 2 10 0.50 * * fimull (%eax) +# CHECK-NEXT: 1 1 1.00 * fnop +# CHECK-NEXT: 1 100 - * fpatan +# CHECK-NEXT: 1 100 - * fprem +# CHECK-NEXT: 1 100 - * fprem1 +# CHECK-NEXT: 1 100 - * fptan +# CHECK-NEXT: 1 100 - * frndint +# CHECK-NEXT: 1 100 - * frstor (%eax) +# CHECK-NEXT: 1 100 - * fnsave (%eax) +# CHECK-NEXT: 1 100 - * fscale +# CHECK-NEXT: 1 100 - * fsin +# CHECK-NEXT: 1 100 - * fsincos +# CHECK-NEXT: 1 20 20.00 * fsqrt +# CHECK-NEXT: 2 5 0.50 * fst %st(0) +# CHECK-NEXT: 1 1 0.50 * * fsts (%edx) +# CHECK-NEXT: 1 1 0.50 * * fstl (%ecx) +# CHECK-NEXT: 2 5 0.50 * fstp %st(0) +# CHECK-NEXT: 1 1 0.50 * * fstpl (%edx) +# CHECK-NEXT: 1 1 0.50 * * fstpl (%ecx) +# CHECK-NEXT: 1 5 0.50 * * fstpt (%eax) +# CHECK-NEXT: 1 100 - * * fnstcw (%eax) +# CHECK-NEXT: 1 100 - * fnstenv (%eax) +# CHECK-NEXT: 1 100 - * fnstsw (%eax) +# CHECK-NEXT: 1 100 - * frstor (%eax) +# CHECK-NEXT: 1 1 1.00 * wait +# CHECK-NEXT: 1 100 - * fnsave (%eax) +# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsub %st(2) +# CHECK-NEXT: 1 10 1.00 * * fsubs (%ecx) +# CHECK-NEXT: 1 10 1.00 * * fsubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubp %st(2) +# CHECK-NEXT: 1 10 1.00 * * fisubs (%ecx) +# CHECK-NEXT: 1 10 1.00 * * fisubl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubr %st(2) +# CHECK-NEXT: 1 10 1.00 * * fsubrs (%ecx) +# CHECK-NEXT: 1 10 1.00 * * fsubrl (%eax) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1) +# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2) +# CHECK-NEXT: 1 10 1.00 * * fisubrs (%ecx) +# CHECK-NEXT: 1 10 1.00 * * fisubrl (%eax) +# CHECK-NEXT: 1 1 1.00 * ftst +# CHECK-NEXT: 1 1 1.00 * fucom %st(1) +# CHECK-NEXT: 1 1 1.00 * fucom %st(3) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(1) +# CHECK-NEXT: 1 1 1.00 * fucomp %st(3) +# CHECK-NEXT: 1 1 1.00 * fucompp +# CHECK-NEXT: 1 9 0.50 * fucomi %st(3) +# CHECK-NEXT: 1 9 0.50 * fucompi %st(3) +# CHECK-NEXT: 1 1 1.00 * wait +# CHECK-NEXT: 1 1 1.00 * fxam +# CHECK-NEXT: 1 1 0.25 * fxch %st(1) +# CHECK-NEXT: 1 1 0.25 * fxch %st(3) +# CHECK-NEXT: 1 100 - * * * fxrstor (%eax) +# CHECK-NEXT: 1 100 - * * * fxsave (%eax) +# CHECK-NEXT: 1 100 - * fxtract +# CHECK-NEXT: 1 100 - * fyl2x +# CHECK-NEXT: 1 100 - * fyl2xp1 # CHECK: Resources: -# CHECK-NEXT: [0] - ZnAGU0 -# CHECK-NEXT: [1] - ZnAGU1 -# CHECK-NEXT: [2] - ZnALU0 -# CHECK-NEXT: [3] - ZnALU1 -# CHECK-NEXT: [4] - ZnALU2 -# CHECK-NEXT: [5] - ZnALU3 -# CHECK-NEXT: [6] - ZnDivider -# CHECK-NEXT: [7] - ZnFPU0 -# CHECK-NEXT: [8] - ZnFPU1 -# CHECK-NEXT: [9] - ZnFPU2 -# CHECK-NEXT: [10] - ZnFPU3 -# CHECK-NEXT: [11] - ZnMultiplier +# CHECK-NEXT: [0] - ZnAGU0 +# CHECK-NEXT: [1] - ZnAGU1 +# CHECK-NEXT: [2] - ZnALU0 +# CHECK-NEXT: [3] - ZnALU1 +# CHECK-NEXT: [4] - ZnALU2 +# CHECK-NEXT: [5] - ZnALU3 +# CHECK-NEXT: [6] - ZnDivider +# CHECK-NEXT: [7] - ZnFPU0 +# CHECK-NEXT: [8] - ZnFPU1 +# CHECK-NEXT: [9] - ZnFPU2 +# CHECK-NEXT: [10] - ZnFPU3 +# CHECK-NEXT: [11] - ZnMultiplier # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] # CHECK-NEXT: 32.50 32.50 - - - - - 54.50 6.00 8.00 64.50 - # CHECK: Resource pressure by instruction: -# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: -# CHECK-NEXT: - - - - - - - - - - - - f2xm1 -# CHECK-NEXT: - - - - - - - - - - 1.00 - fabs -# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fadds (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - faddl (%ecx) -# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fiadds (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fiaddl (%ecx) -# CHECK-NEXT: - - - - - - - - - - - - fbld (%ecx) -# CHECK-NEXT: - - - - - - - - - - - - fbstp (%eax) -# CHECK-NEXT: - - - - - - - - - - 1.00 - fchs -# CHECK-NEXT: - - - - - - - - - - - - fnclex -# CHECK-NEXT: - - - - - - - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovu %st(1), %st(0) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fcom %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fcom %st(3) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcoms (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcoml (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fcomp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fcomp %st(3) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcomps (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcompl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fcompp -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcomi %st(3) -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcompi %st(3) -# CHECK-NEXT: - - - - - - - - - - - - fcos -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdecstp -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st(0), %st(1) -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivl (%eax) -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivp %st(1) -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivp %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivl (%eax) -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st(0), %st(1) -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivrs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivrl (%eax) -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivrp %st(1) -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivrp %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivrs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivrl (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - ffree %st(0) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficoms (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficoml (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficomps (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficompl (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - filds (%edx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fildl (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fildll (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fincstp -# CHECK-NEXT: - - - - - - - - - - - - fninit -# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fists (%edx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistl (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistps (%edx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistpl (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistpll (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttps (%edx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttpl (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttpll (%eax) -# CHECK-NEXT: - - - - - - - - 0.50 - 0.50 - fld %st(0) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - flds (%edx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fldl (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - fldt (%eax) -# CHECK-NEXT: - - - - - - - - - - - - fldcw (%eax) -# CHECK-NEXT: - - - - - - - - - - - - fldenv (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fld1 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldl2e -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldl2t -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldlg2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldln2 -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldpi -# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - fldz -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmuls (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmull (%eax) -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st(1) -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fimuls (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fimull (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fnop -# CHECK-NEXT: - - - - - - - - - - - - fpatan -# CHECK-NEXT: - - - - - - - - - - - - fprem -# CHECK-NEXT: - - - - - - - - - - - - fprem1 -# CHECK-NEXT: - - - - - - - - - - - - fptan -# CHECK-NEXT: - - - - - - - - - - - - frndint -# CHECK-NEXT: - - - - - - - - - - - - frstor (%eax) -# CHECK-NEXT: - - - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - - - - - - - - - - fscale -# CHECK-NEXT: - - - - - - - - - - - - fsin -# CHECK-NEXT: - - - - - - - - - - - - fsincos -# CHECK-NEXT: - - - - - - - - - - 20.00 - fsqrt -# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fst %st(0) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fsts (%edx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstl (%ecx) -# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fstp %st(0) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstpl (%edx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstpl (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fstpt (%eax) -# CHECK-NEXT: - - - - - - - - - - - - fnstcw (%eax) -# CHECK-NEXT: - - - - - - - - - - - - fnstenv (%eax) -# CHECK-NEXT: - - - - - - - - - - - - fnstsw (%eax) -# CHECK-NEXT: - - - - - - - - - - - - frstor (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - wait -# CHECK-NEXT: - - - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st(0), %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st(2) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubrs (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubrl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - ftst -# CHECK-NEXT: - - - - - - - 1.00 - - - - fucom %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fucom %st(3) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fucomp %st(1) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fucomp %st(3) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fucompp -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucomi %st(3) -# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucompi %st(3) -# CHECK-NEXT: - - - - - - - 1.00 - - - - wait -# CHECK-NEXT: - - - - - - - - - - 1.00 - fxam -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - fxch %st(1) -# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - fxch %st(3) -# CHECK-NEXT: - - - - - - - - - - - - fxrstor (%eax) -# CHECK-NEXT: - - - - - - - - - - - - fxsave (%eax) -# CHECK-NEXT: - - - - - - - - - - - - fxtract -# CHECK-NEXT: - - - - - - - - - - - - fyl2x -# CHECK-NEXT: - - - - - - - - - - - - fyl2xp1 +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - f2xm1 +# CHECK-NEXT: - - - - - - - - - - 1.00 - fabs +# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fadds (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - faddl (%ecx) +# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fiadds (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fiaddl (%ecx) +# CHECK-NEXT: - - - - - - - - - - - - fbld (%ecx) +# CHECK-NEXT: - - - - - - - - - - - - fbstp (%eax) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fchs +# CHECK-NEXT: - - - - - - - - - - - - fnclex +# CHECK-NEXT: - - - - - - - - - - - - fcmovb %st(1), %st(0) +# CHECK-NEXT: - - - - - - - - - - - - fcmovbe %st(1), %st(0) +# CHECK-NEXT: - - - - - - - - - - - - fcmove %st(1), %st(0) +# CHECK-NEXT: - - - - - - - - - - - - fcmovnb %st(1), %st(0) +# CHECK-NEXT: - - - - - - - - - - - - fcmovnbe %st(1), %st(0) +# CHECK-NEXT: - - - - - - - - - - - - fcmovne %st(1), %st(0) +# CHECK-NEXT: - - - - - - - - - - - - fcmovnu %st(1), %st(0) +# CHECK-NEXT: - - - - - - - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fcom %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fcom %st(3) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcoms (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcoml (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fcomp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fcomp %st(3) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcomps (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcompl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fcompp +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcomi %st(3) +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcompi %st(3) +# CHECK-NEXT: - - - - - - - - - - - - fcos +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdecstp +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivl (%eax) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivp %st(1) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivp %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivl (%eax) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivrs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivrl (%eax) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivrp %st(1) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivrp %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivrs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivrl (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - ffree %st(0) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficoms (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficoml (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficomps (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficompl (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - filds (%edx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fildl (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fildll (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fincstp +# CHECK-NEXT: - - - - - - - - - - - - fninit +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fists (%edx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistl (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistps (%edx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistpl (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistpll (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttps (%edx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttpl (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttpll (%eax) +# CHECK-NEXT: - - - - - - - - 0.50 - 0.50 - fld %st(0) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - flds (%edx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fldl (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - fldt (%eax) +# CHECK-NEXT: - - - - - - - - - - - - fldcw (%eax) +# CHECK-NEXT: - - - - - - - - - - - - fldenv (%eax) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fld1 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldl2e +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldl2t +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldlg2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldln2 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldpi +# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - fldz +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmuls (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmull (%eax) +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st(1) +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fimuls (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fimull (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fnop +# CHECK-NEXT: - - - - - - - - - - - - fpatan +# CHECK-NEXT: - - - - - - - - - - - - fprem +# CHECK-NEXT: - - - - - - - - - - - - fprem1 +# CHECK-NEXT: - - - - - - - - - - - - fptan +# CHECK-NEXT: - - - - - - - - - - - - frndint +# CHECK-NEXT: - - - - - - - - - - - - frstor (%eax) +# CHECK-NEXT: - - - - - - - - - - - - fnsave (%eax) +# CHECK-NEXT: - - - - - - - - - - - - fscale +# CHECK-NEXT: - - - - - - - - - - - - fsin +# CHECK-NEXT: - - - - - - - - - - - - fsincos +# CHECK-NEXT: - - - - - - - - - - 20.00 - fsqrt +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fst %st(0) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fsts (%edx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstl (%ecx) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fstp %st(0) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstpl (%edx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstpl (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fstpt (%eax) +# CHECK-NEXT: - - - - - - - - - - - - fnstcw (%eax) +# CHECK-NEXT: - - - - - - - - - - - - fnstenv (%eax) +# CHECK-NEXT: - - - - - - - - - - - - fnstsw (%eax) +# CHECK-NEXT: - - - - - - - - - - - - frstor (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - wait +# CHECK-NEXT: - - - - - - - - - - - - fnsave (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st(2) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubrs (%ecx) +# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubrl (%eax) +# CHECK-NEXT: - - - - - - - 1.00 - - - - ftst +# CHECK-NEXT: - - - - - - - 1.00 - - - - fucom %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fucom %st(3) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fucomp %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fucomp %st(3) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fucompp +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucomi %st(3) +# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucompi %st(3) +# CHECK-NEXT: - - - - - - - 1.00 - - - - wait +# CHECK-NEXT: - - - - - - - - - - 1.00 - fxam +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - fxch %st(1) +# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - fxch %st(3) +# CHECK-NEXT: - - - - - - - - - - - - fxrstor (%eax) +# CHECK-NEXT: - - - - - - - - - - - - fxsave (%eax) +# CHECK-NEXT: - - - - - - - - - - - - fxtract +# CHECK-NEXT: - - - - - - - - - - - - fyl2x +# CHECK-NEXT: - - - - - - - - - - - - fyl2xp1 -- 2.7.4