[llvm] r335034 - [MCA][NFC] Add generic XOP resource tests

Roman Lebedev via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 19 02:21:27 PDT 2018


Author: lebedevri
Date: Tue Jun 19 02:21:27 2018
New Revision: 335034

URL: http://llvm.org/viewvc/llvm-project?rev=335034&view=rev
Log:
[MCA][NFC] Add generic XOP resource tests

Summary:
Based on
* [[ https://support.amd.com/TechDocs/43479.pdf | AMD64 Architecture Programmer’s Manual Volume 6: 128-Bit and 256-Bit XOP and FMA4 Instructions ]],
* [[ https://support.amd.com/TechDocs/24594.pdf | AMD64 Architecture Programmer’s Manual Volume 3: General-Purpose and System Instructions]],
* https://en.wikipedia.org/wiki/XOP_instruction_set

Appears to be only supported in AMD's 15h generation, so only in b**d**ver[1-4],
for which currently llvm has no scheduling profiles.

Reviewers: RKSimon, craig.topper, andreadb, spatel

Reviewed By: RKSimon

Subscribers: gbedwell, llvm-commits

Differential Revision: https://reviews.llvm.org/D48264

Added:
    llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-xop.s

Added: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-xop.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-xop.s?rev=335034&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-xop.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-xop.s Tue Jun 19 02:21:27 2018
@@ -0,0 +1,534 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
+
+vfrczpd %xmm0, %xmm3
+vfrczpd (%rax), %xmm3
+
+vfrczpd %ymm0, %ymm3
+vfrczpd (%rax), %ymm3
+
+vfrczps %xmm0, %xmm3
+vfrczps (%rax), %xmm3
+
+vfrczps %ymm0, %ymm3
+vfrczps (%rax), %ymm3
+
+vfrczsd %xmm0, %xmm3
+vfrczsd (%rax), %xmm3
+
+vfrczss %xmm0, %xmm3
+vfrczss (%rax), %xmm3
+
+vpcmov %xmm0, %xmm1, %xmm2, %xmm3
+vpcmov (%rax), %xmm0, %xmm1, %xmm3
+vpcmov %xmm0, (%rax), %xmm1, %xmm3
+
+vpcmov %ymm0, %ymm1, %ymm2, %ymm3
+vpcmov (%rax), %ymm0, %ymm1, %ymm3
+vpcmov %ymm0, (%rax), %ymm1, %ymm3
+
+vpcomb $0, %xmm0, %xmm1, %xmm3
+vpcomb $0, (%rax), %xmm0, %xmm3
+
+vpcomd $0, %xmm0, %xmm1, %xmm3
+vpcomd $0, (%rax), %xmm0, %xmm3
+
+vpcomq $0, %xmm0, %xmm1, %xmm3
+vpcomq $0, (%rax), %xmm0, %xmm3
+
+vpcomub $0, %xmm0, %xmm1, %xmm3
+vpcomub $0, (%rax), %xmm0, %xmm3
+
+vpcomud $0, %xmm0, %xmm1, %xmm3
+vpcomud $0, (%rax), %xmm0, %xmm3
+
+vpcomuq $0, %xmm0, %xmm1, %xmm3
+vpcomuq $0, (%rax), %xmm0, %xmm3
+
+vpcomuw $0, %xmm0, %xmm1, %xmm3
+vpcomuw $0, (%rax), %xmm0, %xmm3
+
+vpcomw $0, %xmm0, %xmm1, %xmm3
+vpcomw $0, (%rax), %xmm0, %xmm3
+
+vpermil2pd $0, %xmm0, %xmm1, %xmm2, %xmm3
+vpermil2pd $0, (%rax), %xmm0, %xmm1, %xmm3
+vpermil2pd $0, %xmm0, (%rax), %xmm1, %xmm3
+
+vpermil2pd $0, %ymm0, %ymm1, %ymm2, %ymm3
+vpermil2pd $0, (%rax), %ymm0, %ymm1, %ymm3
+vpermil2pd $0, %ymm0, (%rax), %ymm1, %ymm3
+
+vpermil2ps $0, %xmm0, %xmm1, %xmm2, %xmm3
+vpermil2ps $0, (%rax), %xmm0, %xmm1, %xmm3
+vpermil2ps $0, %xmm0, (%rax), %xmm1, %xmm3
+
+vpermil2ps $0, %ymm0, %ymm1, %ymm2, %ymm3
+vpermil2ps $0, (%rax), %ymm0, %ymm1, %ymm3
+vpermil2ps $0, %ymm0, (%rax), %ymm1, %ymm3
+
+vphaddbd %xmm0, %xmm3
+vphaddbd (%rax), %xmm3
+
+vphaddbq %xmm0, %xmm3
+vphaddbq (%rax), %xmm3
+
+vphaddbw %xmm0, %xmm3
+vphaddbw (%rax), %xmm3
+
+vphadddq %xmm0, %xmm3
+vphadddq (%rax), %xmm3
+
+vphaddubd %xmm0, %xmm3
+vphaddubd (%rax), %xmm3
+
+vphaddubq %xmm0, %xmm3
+vphaddubq (%rax), %xmm3
+
+vphaddubw %xmm0, %xmm3
+vphaddubw (%rax), %xmm3
+
+vphaddudq %xmm0, %xmm3
+vphaddudq (%rax), %xmm3
+
+vphadduwd %xmm0, %xmm3
+vphadduwd (%rax), %xmm3
+
+vphadduwq %xmm0, %xmm3
+vphadduwq (%rax), %xmm3
+
+vphaddwd %xmm0, %xmm3
+vphaddwd (%rax), %xmm3
+
+vphaddwq %xmm0, %xmm3
+vphaddwq (%rax), %xmm3
+
+vphsubbw %xmm0, %xmm3
+vphsubbw (%rax), %xmm3
+
+vphsubdq %xmm0, %xmm3
+vphsubdq (%rax), %xmm3
+
+vphsubwd %xmm0, %xmm3
+vphsubwd (%rax), %xmm3
+
+vpmacsdd %xmm0, %xmm1, %xmm2, %xmm3
+vpmacsdd %xmm0, (%rax), %xmm1, %xmm3
+
+vpmacsdqh %xmm0, %xmm1, %xmm2, %xmm3
+vpmacsdqh %xmm0, (%rax), %xmm1, %xmm3
+
+vpmacsdql %xmm0, %xmm1, %xmm2, %xmm3
+vpmacsdql %xmm0, (%rax), %xmm1, %xmm3
+
+vpmacssdd %xmm0, %xmm1, %xmm2, %xmm3
+vpmacssdd %xmm0, (%rax), %xmm1, %xmm3
+
+vpmacssdqh %xmm0, %xmm1, %xmm2, %xmm3
+vpmacssdqh %xmm0, (%rax), %xmm1, %xmm3
+
+vpmacssdql %xmm0, %xmm1, %xmm2, %xmm3
+vpmacssdql %xmm0, (%rax), %xmm1, %xmm3
+
+vpmacsswd %xmm0, %xmm1, %xmm2, %xmm3
+vpmacsswd %xmm0, (%rax), %xmm1, %xmm3
+
+vpmacssww %xmm0, %xmm1, %xmm2, %xmm3
+vpmacssww %xmm0, (%rax), %xmm1, %xmm3
+
+vpmacswd %xmm0, %xmm1, %xmm2, %xmm3
+vpmacswd %xmm0, (%rax), %xmm1, %xmm3
+
+vpmacsww %xmm0, %xmm1, %xmm2, %xmm3
+vpmacsww %xmm0, (%rax), %xmm1, %xmm3
+
+vpmadcsswd %xmm0, %xmm1, %xmm2, %xmm3
+vpmadcsswd %xmm0, (%rax), %xmm1, %xmm3
+
+vpmadcswd %xmm0, %xmm1, %xmm2, %xmm3
+vpmadcswd %xmm0, (%rax), %xmm1, %xmm3
+
+vpperm %xmm0, %xmm1, %xmm2, %xmm3
+vpperm (%rax), %xmm0, %xmm1, %xmm3
+vpperm %xmm0, (%rax), %xmm1, %xmm3
+
+vprotb %xmm0, %xmm1, %xmm3
+vprotb (%rax), %xmm0, %xmm3
+vprotb %xmm0, (%rax), %xmm3
+
+vprotb $0, %xmm0, %xmm3
+vprotb $0, (%rax), %xmm3
+
+vprotd %xmm0, %xmm1, %xmm3
+vprotd (%rax), %xmm0, %xmm3
+vprotd %xmm0, (%rax), %xmm3
+
+vprotd $0, %xmm0, %xmm3
+vprotd $0, (%rax), %xmm3
+
+vprotq %xmm0, %xmm1, %xmm3
+vprotq (%rax), %xmm0, %xmm3
+vprotq %xmm0, (%rax), %xmm3
+
+vprotq $0, %xmm0, %xmm3
+vprotq $0, (%rax), %xmm3
+
+vprotw %xmm0, %xmm1, %xmm3
+vprotw (%rax), %xmm0, %xmm3
+vprotw %xmm0, (%rax), %xmm3
+
+vprotw $0, %xmm0, %xmm3
+vprotw $0, (%rax), %xmm3
+
+vpshab %xmm0, %xmm1, %xmm3
+vpshab (%rax), %xmm0, %xmm3
+vpshab %xmm0, (%rax), %xmm3
+
+vpshad %xmm0, %xmm1, %xmm3
+vpshad (%rax), %xmm0, %xmm3
+vpshad %xmm0, (%rax), %xmm3
+
+vpshaq %xmm0, %xmm1, %xmm3
+vpshaq (%rax), %xmm0, %xmm3
+vpshaq %xmm0, (%rax), %xmm3
+
+vpshaw %xmm0, %xmm1, %xmm3
+vpshaw (%rax), %xmm0, %xmm3
+vpshaw %xmm0, (%rax), %xmm3
+
+vpshlb %xmm0, %xmm1, %xmm3
+vpshlb (%rax), %xmm0, %xmm3
+vpshlb %xmm0, (%rax), %xmm3
+
+vpshld %xmm0, %xmm1, %xmm3
+vpshld (%rax), %xmm0, %xmm3
+vpshld %xmm0, (%rax), %xmm3
+
+vpshlq %xmm0, %xmm1, %xmm3
+vpshlq (%rax), %xmm0, %xmm3
+vpshlq %xmm0, (%rax), %xmm3
+
+vpshlw %xmm0, %xmm1, %xmm3
+vpshlw (%rax), %xmm0, %xmm3
+vpshlw %xmm0, (%rax), %xmm3
+
+# CHECK:      Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects
+
+# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  1      3     1.00                        vfrczpd	%xmm0, %xmm3
+# CHECK-NEXT:  2      9     1.00    *                   vfrczpd	(%rax), %xmm3
+# CHECK-NEXT:  1      3     1.00                        vfrczpd	%ymm0, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfrczpd	(%rax), %ymm3
+# CHECK-NEXT:  1      3     1.00                        vfrczps	%xmm0, %xmm3
+# CHECK-NEXT:  2      9     1.00    *                   vfrczps	(%rax), %xmm3
+# CHECK-NEXT:  1      3     1.00                        vfrczps	%ymm0, %ymm3
+# CHECK-NEXT:  2      10    1.00    *                   vfrczps	(%rax), %ymm3
+# CHECK-NEXT:  1      3     1.00                        vfrczsd	%xmm0, %xmm3
+# CHECK-NEXT:  2      9     1.00    *                   vfrczsd	(%rax), %xmm3
+# CHECK-NEXT:  1      3     1.00                        vfrczss	%xmm0, %xmm3
+# CHECK-NEXT:  2      9     1.00    *                   vfrczss	(%rax), %xmm3
+# CHECK-NEXT:  1      1     0.50                        vpcmov	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcmov	(%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcmov	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpcmov	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      8     1.00    *                   vpcmov	(%rax), %ymm0, %ymm1, %ymm3
+# CHECK-NEXT:  2      8     1.00    *                   vpcmov	%ymm0, (%rax), %ymm1, %ymm3
+# CHECK-NEXT:  1      1     0.50                        vpcomb	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcomb	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  1      1     0.50                        vpcomd	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcomd	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  1      1     0.50                        vpcomq	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcomq	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  1      1     0.50                        vpcomub	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcomub	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  1      1     0.50                        vpcomud	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcomud	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  1      1     0.50                        vpcomuq	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcomuq	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  1      1     0.50                        vpcomuw	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcomuw	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  1      1     0.50                        vpcomw	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpcomw	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpermil2pd	$0, %xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpermil2pd	$0, (%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpermil2pd	$0, %xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpermil2pd	$0, %ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      8     1.00    *                   vpermil2pd	$0, (%rax), %ymm0, %ymm1, %ymm3
+# CHECK-NEXT:  2      8     1.00    *                   vpermil2pd	$0, %ymm0, (%rax), %ymm1, %ymm3
+# CHECK-NEXT:  1      1     1.00                        vpermil2ps	$0, %xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpermil2ps	$0, (%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpermil2ps	$0, %xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpermil2ps	$0, %ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  2      8     1.00    *                   vpermil2ps	$0, (%rax), %ymm0, %ymm1, %ymm3
+# CHECK-NEXT:  2      8     1.00    *                   vpermil2ps	$0, %ymm0, (%rax), %ymm1, %ymm3
+# CHECK-NEXT:  3      3     1.50                        vphaddbd	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphaddbd	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphaddbq	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphaddbq	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphaddbw	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphaddbw	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphadddq	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphadddq	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphaddubd	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphaddubd	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphaddubq	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphaddubq	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphaddubw	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphaddubw	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphaddudq	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphaddudq	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphadduwd	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphadduwd	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphadduwq	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphadduwq	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphaddwd	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphaddwd	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphaddwq	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphaddwq	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphsubbw	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphsubbw	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphsubdq	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphsubdq	(%rax), %xmm3
+# CHECK-NEXT:  3      3     1.50                        vphsubwd	%xmm0, %xmm3
+# CHECK-NEXT:  4      9     1.50    *                   vphsubwd	(%rax), %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacsdd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacsdd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacsdqh	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacsdqh	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacsdql	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacsdql	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacssdd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacssdd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacssdqh	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacssdqh	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacssdql	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacssdql	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacsswd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacsswd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacssww	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacssww	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacswd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacswd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmacsww	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmacsww	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmadcsswd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmadcsswd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      5     1.00                        vpmadcswd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      11    1.00    *                   vpmadcswd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      1     0.50                        vpperm	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpperm	(%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     0.50    *                   vpperm	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  1      1     1.00                        vprotb	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotb	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotb	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vprotb	$0, %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotb	$0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vprotd	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotd	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotd	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vprotd	$0, %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotd	$0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vprotq	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotq	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotq	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vprotq	$0, %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotq	$0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vprotw	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotw	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotw	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vprotw	$0, %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vprotw	$0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpshab	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshab	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshab	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpshad	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshad	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshad	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpshaq	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshaq	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshaq	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpshaw	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshaw	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshaw	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpshlb	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshlb	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshlb	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpshld	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshld	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshld	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpshlq	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshlq	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshlq	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  1      1     1.00                        vpshlw	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshlw	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  2      7     1.00    *                   vpshlw	%xmm0, (%rax), %xmm3
+
+# CHECK:      Resources:
+# CHECK-NEXT: [0]   - SBDivider
+# CHECK-NEXT: [1]   - SBFPDivider
+# CHECK-NEXT: [2]   - SBPort0
+# CHECK-NEXT: [3]   - SBPort1
+# CHECK-NEXT: [4]   - SBPort4
+# CHECK-NEXT: [5]   - SBPort5
+# CHECK-NEXT: [6.0] - SBPort23
+# CHECK-NEXT: [6.1] - SBPort23
+
+# CHECK:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
+# CHECK-NEXT:  -      -     68.00  68.00   -     71.00  41.50  41.50
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vfrczpd	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vfrczpd	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vfrczpd	%ymm0, %ymm3
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vfrczpd	(%rax), %ymm3
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vfrczps	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vfrczps	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vfrczps	%ymm0, %ymm3
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vfrczps	(%rax), %ymm3
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vfrczsd	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vfrczsd	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vfrczss	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   vfrczss	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcmov	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmov	(%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcmov	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcmov	%ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpcmov	(%rax), %ymm0, %ymm1, %ymm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpcmov	%ymm0, (%rax), %ymm1, %ymm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcomb	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcomb	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcomd	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcomd	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcomq	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcomq	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcomub	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcomub	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcomud	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcomud	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcomuq	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcomuq	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcomuw	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcomuw	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpcomw	$0, %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpcomw	$0, (%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermil2pd	$0, %xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermil2pd	$0, (%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermil2pd	$0, %xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermil2pd	$0, %ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermil2pd	$0, (%rax), %ymm0, %ymm1, %ymm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermil2pd	$0, %ymm0, (%rax), %ymm1, %ymm3
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermil2ps	$0, %xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermil2ps	$0, (%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermil2ps	$0, %xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermil2ps	$0, %ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermil2ps	$0, (%rax), %ymm0, %ymm1, %ymm3
+# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermil2ps	$0, %ymm0, (%rax), %ymm1, %ymm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddbd	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddbd	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddbq	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddbq	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddbw	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddbw	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphadddq	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphadddq	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddubd	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddubd	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddubq	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddubq	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddubw	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddubw	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddudq	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddudq	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphadduwd	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphadduwd	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphadduwq	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphadduwq	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddwd	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddwd	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphaddwq	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphaddwq	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphsubbw	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphsubbw	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphsubdq	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphsubdq	(%rax), %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50    -      -     vphsubwd	%xmm0, %xmm3
+# CHECK-NEXT:  -      -      -     1.50    -     1.50   0.50   0.50   vphsubwd	(%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacsdd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacsdd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacsdqh	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacsdqh	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacsdql	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacsdql	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacssdd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacssdd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacssdqh	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacssdqh	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacssdql	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacssdql	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacsswd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacsswd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacssww	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacssww	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacswd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacswd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmacsww	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmacsww	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmadcsswd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmadcsswd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpmadcswd	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpmadcswd	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpperm	%xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpperm	(%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpperm	%xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vprotb	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotb	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotb	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vprotb	$0, %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotb	$0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vprotd	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotd	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotd	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vprotd	$0, %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotd	$0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vprotq	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotq	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotq	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vprotq	$0, %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotq	$0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vprotw	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotw	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotw	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vprotw	$0, %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vprotw	$0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshab	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshab	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshab	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshad	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshad	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshad	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshaq	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshaq	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshaq	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshaw	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshaw	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshaw	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshlb	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshlb	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshlb	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshld	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshld	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshld	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshlq	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshlq	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshlq	%xmm0, (%rax), %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshlw	%xmm0, %xmm1, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshlw	(%rax), %xmm0, %xmm3
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshlw	%xmm0, (%rax), %xmm3




More information about the llvm-commits mailing list