[llvm] r331108 - [llvm-mca][X86] Add shift/rotate resource tests to all relevant models

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 28 07:56:18 PDT 2018


Author: rksimon
Date: Sat Apr 28 07:56:18 2018
New Revision: 331108

URL: http://llvm.org/viewvc/llvm-project?rev=331108&view=rev
Log:
[llvm-mca][X86] Add shift/rotate resource tests to all relevant models

I intend to add further instruction tests to the resources-x86_64.s test file as required, but this initial commit is to help remove a load of unnecessary InstRW overrides in a future patch

Added:
    llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
    llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s

Added: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s?rev=331108&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s Sat Apr 28 07:56:18 2018
@@ -0,0 +1,548 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=broadwell -instruction-tables < %s | FileCheck %s
+
+rclb %dil
+rcrb %dil
+rclb (%rax)
+rcrb (%rax)
+rclb $7, %dil
+rcrb $7, %dil
+rclb $7, (%rax)
+rcrb $7, (%rax)
+rclb %cl, %dil
+rcrb %cl, %dil
+rclb %cl, (%rax)
+rcrb %cl, (%rax)
+
+rclw %di
+rcrw %di
+rclw (%rax)
+rcrw (%rax)
+rclw $7, %di
+rcrw $7, %di
+rclw $7, (%rax)
+rcrw $7, (%rax)
+rclw %cl, %di
+rcrw %cl, %di
+rclw %cl, (%rax)
+rcrw %cl, (%rax)
+
+rcll %edi
+rcrl %edi
+rcll (%rax)
+rcrl (%rax)
+rcll $7, %edi
+rcrl $7, %edi
+rcll $7, (%rax)
+rcrl $7, (%rax)
+rcll %cl, %edi
+rcrl %cl, %edi
+rcll %cl, (%rax)
+rcrl %cl, (%rax)
+
+rclq %rdi
+rcrq %rdi
+rclq (%rax)
+rcrq (%rax)
+rclq $7, %rdi
+rcrq $7, %rdi
+rclq $7, (%rax)
+rcrq $7, (%rax)
+rclq %cl, %rdi
+rcrq %cl, %rdi
+rclq %cl, (%rax)
+rcrq %cl, (%rax)
+
+rolb %dil
+rorb %dil
+rolb (%rax)
+rorb (%rax)
+rolb $7, %dil
+rorb $7, %dil
+rolb $7, (%rax)
+rorb $7, (%rax)
+rolb %cl, %dil
+rorb %cl, %dil
+rolb %cl, (%rax)
+rorb %cl, (%rax)
+
+rolw %di
+rorw %di
+rolw (%rax)
+rorw (%rax)
+rolw $7, %di
+rorw $7, %di
+rolw $7, (%rax)
+rorw $7, (%rax)
+rolw %cl, %di
+rorw %cl, %di
+rolw %cl, (%rax)
+rorw %cl, (%rax)
+
+roll %edi
+rorl %edi
+roll (%rax)
+rorl (%rax)
+roll $7, %edi
+rorl $7, %edi
+roll $7, (%rax)
+rorl $7, (%rax)
+roll %cl, %edi
+rorl %cl, %edi
+roll %cl, (%rax)
+rorl %cl, (%rax)
+
+rolq %rdi
+rorq %rdi
+rolq (%rax)
+rorq (%rax)
+rolq $7, %rdi
+rorq $7, %rdi
+rolq $7, (%rax)
+rorq $7, (%rax)
+rolq %cl, %rdi
+rorq %cl, %rdi
+rolq %cl, (%rax)
+rorq %cl, (%rax)
+
+sarb %dil
+shlb %dil
+shrb %dil
+sarb (%rax)
+shlb (%rax)
+shrb (%rax)
+sarb $7, %dil
+shlb $7, %dil
+shrb $7, %dil
+sarb $7, (%rax)
+shlb $7, (%rax)
+shrb $7, (%rax)
+sarb %cl, %dil
+shlb %cl, %dil
+shrb %cl, %dil
+sarb %cl, (%rax)
+shlb %cl, (%rax)
+shrb %cl, (%rax)
+
+sarw %di
+shlw %di
+shrw %di
+sarw (%rax)
+shlw (%rax)
+shrw (%rax)
+sarw $7, %di
+shlw $7, %di
+shrw $7, %di
+sarw $7, (%rax)
+shlw $7, (%rax)
+shrw $7, (%rax)
+sarw %cl, %di
+shlw %cl, %di
+shrw %cl, %di
+sarw %cl, (%rax)
+shlw %cl, (%rax)
+shrw %cl, (%rax)
+
+sarl %edi
+shll %edi
+shrl %edi
+sarl (%rax)
+shll (%rax)
+shrl (%rax)
+sarl $7, %edi
+shll $7, %edi
+shrl $7, %edi
+sarl $7, (%rax)
+shll $7, (%rax)
+shrl $7, (%rax)
+sarl %cl, %edi
+shll %cl, %edi
+shrl %cl, %edi
+sarl %cl, (%rax)
+shll %cl, (%rax)
+shrl %cl, (%rax)
+
+sarq %rdi
+shlq %rdi
+shrq %rdi
+sarq (%rax)
+shlq (%rax)
+shrq (%rax)
+sarq $7, %rdi
+shlq $7, %rdi
+shrq $7, %rdi
+sarq $7, (%rax)
+shlq $7, (%rax)
+shrq $7, (%rax)
+sarq %cl, %rdi
+shlq %cl, %rdi
+shrq %cl, %rdi
+sarq %cl, (%rax)
+shlq %cl, (%rax)
+shrq %cl, (%rax)
+
+# 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:  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:      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:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
+# CHECK-NEXT:  -      -     172.75 69.25  70.00  70.00  56.00  42.25  172.75 28.00
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    	Instructions:
+# 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)
+

Added: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s?rev=331108&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s Sat Apr 28 07:56:18 2018
@@ -0,0 +1,552 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s
+
+rclb %dil
+rcrb %dil
+rclb (%rax)
+rcrb (%rax)
+rclb $7, %dil
+rcrb $7, %dil
+rclb $7, (%rax)
+rcrb $7, (%rax)
+rclb %cl, %dil
+rcrb %cl, %dil
+rclb %cl, (%rax)
+rcrb %cl, (%rax)
+
+rclw %di
+rcrw %di
+rclw (%rax)
+rcrw (%rax)
+rclw $7, %di
+rcrw $7, %di
+rclw $7, (%rax)
+rcrw $7, (%rax)
+rclw %cl, %di
+rcrw %cl, %di
+rclw %cl, (%rax)
+rcrw %cl, (%rax)
+
+rcll %edi
+rcrl %edi
+rcll (%rax)
+rcrl (%rax)
+rcll $7, %edi
+rcrl $7, %edi
+rcll $7, (%rax)
+rcrl $7, (%rax)
+rcll %cl, %edi
+rcrl %cl, %edi
+rcll %cl, (%rax)
+rcrl %cl, (%rax)
+
+rclq %rdi
+rcrq %rdi
+rclq (%rax)
+rcrq (%rax)
+rclq $7, %rdi
+rcrq $7, %rdi
+rclq $7, (%rax)
+rcrq $7, (%rax)
+rclq %cl, %rdi
+rcrq %cl, %rdi
+rclq %cl, (%rax)
+rcrq %cl, (%rax)
+
+rolb %dil
+rorb %dil
+rolb (%rax)
+rorb (%rax)
+rolb $7, %dil
+rorb $7, %dil
+rolb $7, (%rax)
+rorb $7, (%rax)
+rolb %cl, %dil
+rorb %cl, %dil
+rolb %cl, (%rax)
+rorb %cl, (%rax)
+
+rolw %di
+rorw %di
+rolw (%rax)
+rorw (%rax)
+rolw $7, %di
+rorw $7, %di
+rolw $7, (%rax)
+rorw $7, (%rax)
+rolw %cl, %di
+rorw %cl, %di
+rolw %cl, (%rax)
+rorw %cl, (%rax)
+
+roll %edi
+rorl %edi
+roll (%rax)
+rorl (%rax)
+roll $7, %edi
+rorl $7, %edi
+roll $7, (%rax)
+rorl $7, (%rax)
+roll %cl, %edi
+rorl %cl, %edi
+roll %cl, (%rax)
+rorl %cl, (%rax)
+
+rolq %rdi
+rorq %rdi
+rolq (%rax)
+rorq (%rax)
+rolq $7, %rdi
+rorq $7, %rdi
+rolq $7, (%rax)
+rorq $7, (%rax)
+rolq %cl, %rdi
+rorq %cl, %rdi
+rolq %cl, (%rax)
+rorq %cl, (%rax)
+
+sarb %dil
+shlb %dil
+shrb %dil
+sarb (%rax)
+shlb (%rax)
+shrb (%rax)
+sarb $7, %dil
+shlb $7, %dil
+shrb $7, %dil
+sarb $7, (%rax)
+shlb $7, (%rax)
+shrb $7, (%rax)
+sarb %cl, %dil
+shlb %cl, %dil
+shrb %cl, %dil
+sarb %cl, (%rax)
+shlb %cl, (%rax)
+shrb %cl, (%rax)
+
+sarw %di
+shlw %di
+shrw %di
+sarw (%rax)
+shlw (%rax)
+shrw (%rax)
+sarw $7, %di
+shlw $7, %di
+shrw $7, %di
+sarw $7, (%rax)
+shlw $7, (%rax)
+shrw $7, (%rax)
+sarw %cl, %di
+shlw %cl, %di
+shrw %cl, %di
+sarw %cl, (%rax)
+shlw %cl, (%rax)
+shrw %cl, (%rax)
+
+sarl %edi
+shll %edi
+shrl %edi
+sarl (%rax)
+shll (%rax)
+shrl (%rax)
+sarl $7, %edi
+shll $7, %edi
+shrl $7, %edi
+sarl $7, (%rax)
+shll $7, (%rax)
+shrl $7, (%rax)
+sarl %cl, %edi
+shll %cl, %edi
+shrl %cl, %edi
+sarl %cl, (%rax)
+shll %cl, (%rax)
+shrl %cl, (%rax)
+
+sarq %rdi
+shlq %rdi
+shrq %rdi
+sarq (%rax)
+shlq (%rax)
+shrq (%rax)
+sarq $7, %rdi
+shlq $7, %rdi
+shrq $7, %rdi
+sarq $7, (%rax)
+shlq $7, (%rax)
+shrq $7, (%rax)
+sarq %cl, %rdi
+shlq %cl, %rdi
+shrq %cl, %rdi
+sarq %cl, (%rax)
+shlq %cl, (%rax)
+shrq %cl, (%rax)
+
+# 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      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:      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:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
+# CHECK-NEXT: 84.00  84.00   -      -      -      -      -     84.00   -     84.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    -      -      -      -      -      -      -      -      -      -      -      -     	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)
+

Added: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s?rev=331108&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s Sat Apr 28 07:56:18 2018
@@ -0,0 +1,548 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -instruction-tables < %s | FileCheck %s
+
+rclb %dil
+rcrb %dil
+rclb (%rax)
+rcrb (%rax)
+rclb $7, %dil
+rcrb $7, %dil
+rclb $7, (%rax)
+rcrb $7, (%rax)
+rclb %cl, %dil
+rcrb %cl, %dil
+rclb %cl, (%rax)
+rcrb %cl, (%rax)
+
+rclw %di
+rcrw %di
+rclw (%rax)
+rcrw (%rax)
+rclw $7, %di
+rcrw $7, %di
+rclw $7, (%rax)
+rcrw $7, (%rax)
+rclw %cl, %di
+rcrw %cl, %di
+rclw %cl, (%rax)
+rcrw %cl, (%rax)
+
+rcll %edi
+rcrl %edi
+rcll (%rax)
+rcrl (%rax)
+rcll $7, %edi
+rcrl $7, %edi
+rcll $7, (%rax)
+rcrl $7, (%rax)
+rcll %cl, %edi
+rcrl %cl, %edi
+rcll %cl, (%rax)
+rcrl %cl, (%rax)
+
+rclq %rdi
+rcrq %rdi
+rclq (%rax)
+rcrq (%rax)
+rclq $7, %rdi
+rcrq $7, %rdi
+rclq $7, (%rax)
+rcrq $7, (%rax)
+rclq %cl, %rdi
+rcrq %cl, %rdi
+rclq %cl, (%rax)
+rcrq %cl, (%rax)
+
+rolb %dil
+rorb %dil
+rolb (%rax)
+rorb (%rax)
+rolb $7, %dil
+rorb $7, %dil
+rolb $7, (%rax)
+rorb $7, (%rax)
+rolb %cl, %dil
+rorb %cl, %dil
+rolb %cl, (%rax)
+rorb %cl, (%rax)
+
+rolw %di
+rorw %di
+rolw (%rax)
+rorw (%rax)
+rolw $7, %di
+rorw $7, %di
+rolw $7, (%rax)
+rorw $7, (%rax)
+rolw %cl, %di
+rorw %cl, %di
+rolw %cl, (%rax)
+rorw %cl, (%rax)
+
+roll %edi
+rorl %edi
+roll (%rax)
+rorl (%rax)
+roll $7, %edi
+rorl $7, %edi
+roll $7, (%rax)
+rorl $7, (%rax)
+roll %cl, %edi
+rorl %cl, %edi
+roll %cl, (%rax)
+rorl %cl, (%rax)
+
+rolq %rdi
+rorq %rdi
+rolq (%rax)
+rorq (%rax)
+rolq $7, %rdi
+rorq $7, %rdi
+rolq $7, (%rax)
+rorq $7, (%rax)
+rolq %cl, %rdi
+rorq %cl, %rdi
+rolq %cl, (%rax)
+rorq %cl, (%rax)
+
+sarb %dil
+shlb %dil
+shrb %dil
+sarb (%rax)
+shlb (%rax)
+shrb (%rax)
+sarb $7, %dil
+shlb $7, %dil
+shrb $7, %dil
+sarb $7, (%rax)
+shlb $7, (%rax)
+shrb $7, (%rax)
+sarb %cl, %dil
+shlb %cl, %dil
+shrb %cl, %dil
+sarb %cl, (%rax)
+shlb %cl, (%rax)
+shrb %cl, (%rax)
+
+sarw %di
+shlw %di
+shrw %di
+sarw (%rax)
+shlw (%rax)
+shrw (%rax)
+sarw $7, %di
+shlw $7, %di
+shrw $7, %di
+sarw $7, (%rax)
+shlw $7, (%rax)
+shrw $7, (%rax)
+sarw %cl, %di
+shlw %cl, %di
+shrw %cl, %di
+sarw %cl, (%rax)
+shlw %cl, (%rax)
+shrw %cl, (%rax)
+
+sarl %edi
+shll %edi
+shrl %edi
+sarl (%rax)
+shll (%rax)
+shrl (%rax)
+sarl $7, %edi
+shll $7, %edi
+shrl $7, %edi
+sarl $7, (%rax)
+shll $7, (%rax)
+shrl $7, (%rax)
+sarl %cl, %edi
+shll %cl, %edi
+shrl %cl, %edi
+sarl %cl, (%rax)
+shll %cl, (%rax)
+shrl %cl, (%rax)
+
+sarq %rdi
+shlq %rdi
+shrq %rdi
+sarq (%rax)
+shlq (%rax)
+shrq (%rax)
+sarq $7, %rdi
+shlq $7, %rdi
+shrq $7, %rdi
+sarq $7, (%rax)
+shlq $7, (%rax)
+shrq $7, (%rax)
+sarq %cl, %rdi
+shlq %cl, %rdi
+shrq %cl, %rdi
+sarq %cl, (%rax)
+shlq %cl, (%rax)
+shrq %cl, (%rax)
+
+# 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:  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:      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:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
+# CHECK-NEXT:  -      -     172.75 69.25  70.00  70.00  56.00  42.25  172.75 28.00
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    	Instructions:
+# 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)
+

Added: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s?rev=331108&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s Sat Apr 28 07:56:18 2018
@@ -0,0 +1,546 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=slm -instruction-tables < %s | FileCheck %s
+
+rclb %dil
+rcrb %dil
+rclb (%rax)
+rcrb (%rax)
+rclb $7, %dil
+rcrb $7, %dil
+rclb $7, (%rax)
+rcrb $7, (%rax)
+rclb %cl, %dil
+rcrb %cl, %dil
+rclb %cl, (%rax)
+rcrb %cl, (%rax)
+
+rclw %di
+rcrw %di
+rclw (%rax)
+rcrw (%rax)
+rclw $7, %di
+rcrw $7, %di
+rclw $7, (%rax)
+rcrw $7, (%rax)
+rclw %cl, %di
+rcrw %cl, %di
+rclw %cl, (%rax)
+rcrw %cl, (%rax)
+
+rcll %edi
+rcrl %edi
+rcll (%rax)
+rcrl (%rax)
+rcll $7, %edi
+rcrl $7, %edi
+rcll $7, (%rax)
+rcrl $7, (%rax)
+rcll %cl, %edi
+rcrl %cl, %edi
+rcll %cl, (%rax)
+rcrl %cl, (%rax)
+
+rclq %rdi
+rcrq %rdi
+rclq (%rax)
+rcrq (%rax)
+rclq $7, %rdi
+rcrq $7, %rdi
+rclq $7, (%rax)
+rcrq $7, (%rax)
+rclq %cl, %rdi
+rcrq %cl, %rdi
+rclq %cl, (%rax)
+rcrq %cl, (%rax)
+
+rolb %dil
+rorb %dil
+rolb (%rax)
+rorb (%rax)
+rolb $7, %dil
+rorb $7, %dil
+rolb $7, (%rax)
+rorb $7, (%rax)
+rolb %cl, %dil
+rorb %cl, %dil
+rolb %cl, (%rax)
+rorb %cl, (%rax)
+
+rolw %di
+rorw %di
+rolw (%rax)
+rorw (%rax)
+rolw $7, %di
+rorw $7, %di
+rolw $7, (%rax)
+rorw $7, (%rax)
+rolw %cl, %di
+rorw %cl, %di
+rolw %cl, (%rax)
+rorw %cl, (%rax)
+
+roll %edi
+rorl %edi
+roll (%rax)
+rorl (%rax)
+roll $7, %edi
+rorl $7, %edi
+roll $7, (%rax)
+rorl $7, (%rax)
+roll %cl, %edi
+rorl %cl, %edi
+roll %cl, (%rax)
+rorl %cl, (%rax)
+
+rolq %rdi
+rorq %rdi
+rolq (%rax)
+rorq (%rax)
+rolq $7, %rdi
+rorq $7, %rdi
+rolq $7, (%rax)
+rorq $7, (%rax)
+rolq %cl, %rdi
+rorq %cl, %rdi
+rolq %cl, (%rax)
+rorq %cl, (%rax)
+
+sarb %dil
+shlb %dil
+shrb %dil
+sarb (%rax)
+shlb (%rax)
+shrb (%rax)
+sarb $7, %dil
+shlb $7, %dil
+shrb $7, %dil
+sarb $7, (%rax)
+shlb $7, (%rax)
+shrb $7, (%rax)
+sarb %cl, %dil
+shlb %cl, %dil
+shrb %cl, %dil
+sarb %cl, (%rax)
+shlb %cl, (%rax)
+shrb %cl, (%rax)
+
+sarw %di
+shlw %di
+shrw %di
+sarw (%rax)
+shlw (%rax)
+shrw (%rax)
+sarw $7, %di
+shlw $7, %di
+shrw $7, %di
+sarw $7, (%rax)
+shlw $7, (%rax)
+shrw $7, (%rax)
+sarw %cl, %di
+shlw %cl, %di
+shrw %cl, %di
+sarw %cl, (%rax)
+shlw %cl, (%rax)
+shrw %cl, (%rax)
+
+sarl %edi
+shll %edi
+shrl %edi
+sarl (%rax)
+shll (%rax)
+shrl (%rax)
+sarl $7, %edi
+shll $7, %edi
+shrl $7, %edi
+sarl $7, (%rax)
+shll $7, (%rax)
+shrl $7, (%rax)
+sarl %cl, %edi
+shll %cl, %edi
+shrl %cl, %edi
+sarl %cl, (%rax)
+shll %cl, (%rax)
+shrl %cl, (%rax)
+
+sarq %rdi
+shlq %rdi
+shrq %rdi
+sarq (%rax)
+shlq (%rax)
+shrq (%rax)
+sarq $7, %rdi
+shlq $7, %rdi
+shrq $7, %rdi
+sarq $7, (%rax)
+shlq $7, (%rax)
+shrq $7, (%rax)
+sarq %cl, %rdi
+shlq %cl, %rdi
+shrq %cl, %rdi
+sarq %cl, (%rax)
+shlq %cl, (%rax)
+shrq %cl, (%rax)
+
+# 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      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:      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:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
+# CHECK-NEXT:  -      -      -      -      -     168.00  -     168.00
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    	Instructions:
+# 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)
+

Added: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s?rev=331108&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s Sat Apr 28 07:56:18 2018
@@ -0,0 +1,546 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=sandybridge -instruction-tables < %s | FileCheck %s
+
+rclb %dil
+rcrb %dil
+rclb (%rax)
+rcrb (%rax)
+rclb $7, %dil
+rcrb $7, %dil
+rclb $7, (%rax)
+rcrb $7, (%rax)
+rclb %cl, %dil
+rcrb %cl, %dil
+rclb %cl, (%rax)
+rcrb %cl, (%rax)
+
+rclw %di
+rcrw %di
+rclw (%rax)
+rcrw (%rax)
+rclw $7, %di
+rcrw $7, %di
+rclw $7, (%rax)
+rcrw $7, (%rax)
+rclw %cl, %di
+rcrw %cl, %di
+rclw %cl, (%rax)
+rcrw %cl, (%rax)
+
+rcll %edi
+rcrl %edi
+rcll (%rax)
+rcrl (%rax)
+rcll $7, %edi
+rcrl $7, %edi
+rcll $7, (%rax)
+rcrl $7, (%rax)
+rcll %cl, %edi
+rcrl %cl, %edi
+rcll %cl, (%rax)
+rcrl %cl, (%rax)
+
+rclq %rdi
+rcrq %rdi
+rclq (%rax)
+rcrq (%rax)
+rclq $7, %rdi
+rcrq $7, %rdi
+rclq $7, (%rax)
+rcrq $7, (%rax)
+rclq %cl, %rdi
+rcrq %cl, %rdi
+rclq %cl, (%rax)
+rcrq %cl, (%rax)
+
+rolb %dil
+rorb %dil
+rolb (%rax)
+rorb (%rax)
+rolb $7, %dil
+rorb $7, %dil
+rolb $7, (%rax)
+rorb $7, (%rax)
+rolb %cl, %dil
+rorb %cl, %dil
+rolb %cl, (%rax)
+rorb %cl, (%rax)
+
+rolw %di
+rorw %di
+rolw (%rax)
+rorw (%rax)
+rolw $7, %di
+rorw $7, %di
+rolw $7, (%rax)
+rorw $7, (%rax)
+rolw %cl, %di
+rorw %cl, %di
+rolw %cl, (%rax)
+rorw %cl, (%rax)
+
+roll %edi
+rorl %edi
+roll (%rax)
+rorl (%rax)
+roll $7, %edi
+rorl $7, %edi
+roll $7, (%rax)
+rorl $7, (%rax)
+roll %cl, %edi
+rorl %cl, %edi
+roll %cl, (%rax)
+rorl %cl, (%rax)
+
+rolq %rdi
+rorq %rdi
+rolq (%rax)
+rorq (%rax)
+rolq $7, %rdi
+rorq $7, %rdi
+rolq $7, (%rax)
+rorq $7, (%rax)
+rolq %cl, %rdi
+rorq %cl, %rdi
+rolq %cl, (%rax)
+rorq %cl, (%rax)
+
+sarb %dil
+shlb %dil
+shrb %dil
+sarb (%rax)
+shlb (%rax)
+shrb (%rax)
+sarb $7, %dil
+shlb $7, %dil
+shrb $7, %dil
+sarb $7, (%rax)
+shlb $7, (%rax)
+shrb $7, (%rax)
+sarb %cl, %dil
+shlb %cl, %dil
+shrb %cl, %dil
+sarb %cl, (%rax)
+shlb %cl, (%rax)
+shrb %cl, (%rax)
+
+sarw %di
+shlw %di
+shrw %di
+sarw (%rax)
+shlw (%rax)
+shrw (%rax)
+sarw $7, %di
+shlw $7, %di
+shrw $7, %di
+sarw $7, (%rax)
+shlw $7, (%rax)
+shrw $7, (%rax)
+sarw %cl, %di
+shlw %cl, %di
+shrw %cl, %di
+sarw %cl, (%rax)
+shlw %cl, (%rax)
+shrw %cl, (%rax)
+
+sarl %edi
+shll %edi
+shrl %edi
+sarl (%rax)
+shll (%rax)
+shrl (%rax)
+sarl $7, %edi
+shll $7, %edi
+shrl $7, %edi
+sarl $7, (%rax)
+shll $7, (%rax)
+shrl $7, (%rax)
+sarl %cl, %edi
+shll %cl, %edi
+shrl %cl, %edi
+sarl %cl, (%rax)
+shll %cl, (%rax)
+shrl %cl, (%rax)
+
+sarq %rdi
+shlq %rdi
+shrq %rdi
+sarq (%rax)
+shlq (%rax)
+shrq (%rax)
+sarq $7, %rdi
+shlq $7, %rdi
+shrq $7, %rdi
+sarq $7, (%rax)
+shlq $7, (%rax)
+shrq $7, (%rax)
+sarq %cl, %rdi
+shlq %cl, %rdi
+shrq %cl, %rdi
+sarq %cl, (%rax)
+shlq %cl, (%rax)
+shrq %cl, (%rax)
+
+# 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      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:      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:  -      -     140.00  -     84.00  140.00 84.00  84.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    -      -     	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)
+

Added: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s?rev=331108&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s Sat Apr 28 07:56:18 2018
@@ -0,0 +1,548 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -instruction-tables < %s | FileCheck %s
+
+rclb %dil
+rcrb %dil
+rclb (%rax)
+rcrb (%rax)
+rclb $7, %dil
+rcrb $7, %dil
+rclb $7, (%rax)
+rcrb $7, (%rax)
+rclb %cl, %dil
+rcrb %cl, %dil
+rclb %cl, (%rax)
+rcrb %cl, (%rax)
+
+rclw %di
+rcrw %di
+rclw (%rax)
+rcrw (%rax)
+rclw $7, %di
+rcrw $7, %di
+rclw $7, (%rax)
+rcrw $7, (%rax)
+rclw %cl, %di
+rcrw %cl, %di
+rclw %cl, (%rax)
+rcrw %cl, (%rax)
+
+rcll %edi
+rcrl %edi
+rcll (%rax)
+rcrl (%rax)
+rcll $7, %edi
+rcrl $7, %edi
+rcll $7, (%rax)
+rcrl $7, (%rax)
+rcll %cl, %edi
+rcrl %cl, %edi
+rcll %cl, (%rax)
+rcrl %cl, (%rax)
+
+rclq %rdi
+rcrq %rdi
+rclq (%rax)
+rcrq (%rax)
+rclq $7, %rdi
+rcrq $7, %rdi
+rclq $7, (%rax)
+rcrq $7, (%rax)
+rclq %cl, %rdi
+rcrq %cl, %rdi
+rclq %cl, (%rax)
+rcrq %cl, (%rax)
+
+rolb %dil
+rorb %dil
+rolb (%rax)
+rorb (%rax)
+rolb $7, %dil
+rorb $7, %dil
+rolb $7, (%rax)
+rorb $7, (%rax)
+rolb %cl, %dil
+rorb %cl, %dil
+rolb %cl, (%rax)
+rorb %cl, (%rax)
+
+rolw %di
+rorw %di
+rolw (%rax)
+rorw (%rax)
+rolw $7, %di
+rorw $7, %di
+rolw $7, (%rax)
+rorw $7, (%rax)
+rolw %cl, %di
+rorw %cl, %di
+rolw %cl, (%rax)
+rorw %cl, (%rax)
+
+roll %edi
+rorl %edi
+roll (%rax)
+rorl (%rax)
+roll $7, %edi
+rorl $7, %edi
+roll $7, (%rax)
+rorl $7, (%rax)
+roll %cl, %edi
+rorl %cl, %edi
+roll %cl, (%rax)
+rorl %cl, (%rax)
+
+rolq %rdi
+rorq %rdi
+rolq (%rax)
+rorq (%rax)
+rolq $7, %rdi
+rorq $7, %rdi
+rolq $7, (%rax)
+rorq $7, (%rax)
+rolq %cl, %rdi
+rorq %cl, %rdi
+rolq %cl, (%rax)
+rorq %cl, (%rax)
+
+sarb %dil
+shlb %dil
+shrb %dil
+sarb (%rax)
+shlb (%rax)
+shrb (%rax)
+sarb $7, %dil
+shlb $7, %dil
+shrb $7, %dil
+sarb $7, (%rax)
+shlb $7, (%rax)
+shrb $7, (%rax)
+sarb %cl, %dil
+shlb %cl, %dil
+shrb %cl, %dil
+sarb %cl, (%rax)
+shlb %cl, (%rax)
+shrb %cl, (%rax)
+
+sarw %di
+shlw %di
+shrw %di
+sarw (%rax)
+shlw (%rax)
+shrw (%rax)
+sarw $7, %di
+shlw $7, %di
+shrw $7, %di
+sarw $7, (%rax)
+shlw $7, (%rax)
+shrw $7, (%rax)
+sarw %cl, %di
+shlw %cl, %di
+shrw %cl, %di
+sarw %cl, (%rax)
+shlw %cl, (%rax)
+shrw %cl, (%rax)
+
+sarl %edi
+shll %edi
+shrl %edi
+sarl (%rax)
+shll (%rax)
+shrl (%rax)
+sarl $7, %edi
+shll $7, %edi
+shrl $7, %edi
+sarl $7, (%rax)
+shll $7, (%rax)
+shrl $7, (%rax)
+sarl %cl, %edi
+shll %cl, %edi
+shrl %cl, %edi
+sarl %cl, (%rax)
+shll %cl, (%rax)
+shrl %cl, (%rax)
+
+sarq %rdi
+shlq %rdi
+shrq %rdi
+sarq (%rax)
+shlq (%rax)
+shrq (%rax)
+sarq $7, %rdi
+shlq $7, %rdi
+shrq $7, %rdi
+sarq $7, (%rax)
+shlq $7, (%rax)
+shrq $7, (%rax)
+sarq %cl, %rdi
+shlq %cl, %rdi
+shrq %cl, %rdi
+sarq %cl, (%rax)
+shlq %cl, (%rax)
+shrq %cl, (%rax)
+
+# 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:  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:      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:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
+# CHECK-NEXT:  -      -     186.75 55.25  70.00  70.00  56.00  28.25  186.75 28.00
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    	Instructions:
+# 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)
+

Added: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s?rev=331108&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s Sat Apr 28 07:56:18 2018
@@ -0,0 +1,548 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s
+
+rclb %dil
+rcrb %dil
+rclb (%rax)
+rcrb (%rax)
+rclb $7, %dil
+rcrb $7, %dil
+rclb $7, (%rax)
+rcrb $7, (%rax)
+rclb %cl, %dil
+rcrb %cl, %dil
+rclb %cl, (%rax)
+rcrb %cl, (%rax)
+
+rclw %di
+rcrw %di
+rclw (%rax)
+rcrw (%rax)
+rclw $7, %di
+rcrw $7, %di
+rclw $7, (%rax)
+rcrw $7, (%rax)
+rclw %cl, %di
+rcrw %cl, %di
+rclw %cl, (%rax)
+rcrw %cl, (%rax)
+
+rcll %edi
+rcrl %edi
+rcll (%rax)
+rcrl (%rax)
+rcll $7, %edi
+rcrl $7, %edi
+rcll $7, (%rax)
+rcrl $7, (%rax)
+rcll %cl, %edi
+rcrl %cl, %edi
+rcll %cl, (%rax)
+rcrl %cl, (%rax)
+
+rclq %rdi
+rcrq %rdi
+rclq (%rax)
+rcrq (%rax)
+rclq $7, %rdi
+rcrq $7, %rdi
+rclq $7, (%rax)
+rcrq $7, (%rax)
+rclq %cl, %rdi
+rcrq %cl, %rdi
+rclq %cl, (%rax)
+rcrq %cl, (%rax)
+
+rolb %dil
+rorb %dil
+rolb (%rax)
+rorb (%rax)
+rolb $7, %dil
+rorb $7, %dil
+rolb $7, (%rax)
+rorb $7, (%rax)
+rolb %cl, %dil
+rorb %cl, %dil
+rolb %cl, (%rax)
+rorb %cl, (%rax)
+
+rolw %di
+rorw %di
+rolw (%rax)
+rorw (%rax)
+rolw $7, %di
+rorw $7, %di
+rolw $7, (%rax)
+rorw $7, (%rax)
+rolw %cl, %di
+rorw %cl, %di
+rolw %cl, (%rax)
+rorw %cl, (%rax)
+
+roll %edi
+rorl %edi
+roll (%rax)
+rorl (%rax)
+roll $7, %edi
+rorl $7, %edi
+roll $7, (%rax)
+rorl $7, (%rax)
+roll %cl, %edi
+rorl %cl, %edi
+roll %cl, (%rax)
+rorl %cl, (%rax)
+
+rolq %rdi
+rorq %rdi
+rolq (%rax)
+rorq (%rax)
+rolq $7, %rdi
+rorq $7, %rdi
+rolq $7, (%rax)
+rorq $7, (%rax)
+rolq %cl, %rdi
+rorq %cl, %rdi
+rolq %cl, (%rax)
+rorq %cl, (%rax)
+
+sarb %dil
+shlb %dil
+shrb %dil
+sarb (%rax)
+shlb (%rax)
+shrb (%rax)
+sarb $7, %dil
+shlb $7, %dil
+shrb $7, %dil
+sarb $7, (%rax)
+shlb $7, (%rax)
+shrb $7, (%rax)
+sarb %cl, %dil
+shlb %cl, %dil
+shrb %cl, %dil
+sarb %cl, (%rax)
+shlb %cl, (%rax)
+shrb %cl, (%rax)
+
+sarw %di
+shlw %di
+shrw %di
+sarw (%rax)
+shlw (%rax)
+shrw (%rax)
+sarw $7, %di
+shlw $7, %di
+shrw $7, %di
+sarw $7, (%rax)
+shlw $7, (%rax)
+shrw $7, (%rax)
+sarw %cl, %di
+shlw %cl, %di
+shrw %cl, %di
+sarw %cl, (%rax)
+shlw %cl, (%rax)
+shrw %cl, (%rax)
+
+sarl %edi
+shll %edi
+shrl %edi
+sarl (%rax)
+shll (%rax)
+shrl (%rax)
+sarl $7, %edi
+shll $7, %edi
+shrl $7, %edi
+sarl $7, (%rax)
+shll $7, (%rax)
+shrl $7, (%rax)
+sarl %cl, %edi
+shll %cl, %edi
+shrl %cl, %edi
+sarl %cl, (%rax)
+shll %cl, (%rax)
+shrl %cl, (%rax)
+
+sarq %rdi
+shlq %rdi
+shrq %rdi
+sarq (%rax)
+shlq (%rax)
+shrq (%rax)
+sarq $7, %rdi
+shlq $7, %rdi
+shrq $7, %rdi
+sarq $7, (%rax)
+shlq $7, (%rax)
+shrq $7, (%rax)
+sarq %cl, %rdi
+shlq %cl, %rdi
+shrq %cl, %rdi
+sarq %cl, (%rax)
+shlq %cl, (%rax)
+shrq %cl, (%rax)
+
+# 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:  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:      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:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
+# CHECK-NEXT:  -      -     186.75 55.25  70.00  70.00  56.00  28.25  186.75 28.00
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    	Instructions:
+# 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)
+

Added: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s?rev=331108&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s Sat Apr 28 07:56:18 2018
@@ -0,0 +1,550 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -instruction-tables < %s | FileCheck %s
+
+rclb %dil
+rcrb %dil
+rclb (%rax)
+rcrb (%rax)
+rclb $7, %dil
+rcrb $7, %dil
+rclb $7, (%rax)
+rcrb $7, (%rax)
+rclb %cl, %dil
+rcrb %cl, %dil
+rclb %cl, (%rax)
+rcrb %cl, (%rax)
+
+rclw %di
+rcrw %di
+rclw (%rax)
+rcrw (%rax)
+rclw $7, %di
+rcrw $7, %di
+rclw $7, (%rax)
+rcrw $7, (%rax)
+rclw %cl, %di
+rcrw %cl, %di
+rclw %cl, (%rax)
+rcrw %cl, (%rax)
+
+rcll %edi
+rcrl %edi
+rcll (%rax)
+rcrl (%rax)
+rcll $7, %edi
+rcrl $7, %edi
+rcll $7, (%rax)
+rcrl $7, (%rax)
+rcll %cl, %edi
+rcrl %cl, %edi
+rcll %cl, (%rax)
+rcrl %cl, (%rax)
+
+rclq %rdi
+rcrq %rdi
+rclq (%rax)
+rcrq (%rax)
+rclq $7, %rdi
+rcrq $7, %rdi
+rclq $7, (%rax)
+rcrq $7, (%rax)
+rclq %cl, %rdi
+rcrq %cl, %rdi
+rclq %cl, (%rax)
+rcrq %cl, (%rax)
+
+rolb %dil
+rorb %dil
+rolb (%rax)
+rorb (%rax)
+rolb $7, %dil
+rorb $7, %dil
+rolb $7, (%rax)
+rorb $7, (%rax)
+rolb %cl, %dil
+rorb %cl, %dil
+rolb %cl, (%rax)
+rorb %cl, (%rax)
+
+rolw %di
+rorw %di
+rolw (%rax)
+rorw (%rax)
+rolw $7, %di
+rorw $7, %di
+rolw $7, (%rax)
+rorw $7, (%rax)
+rolw %cl, %di
+rorw %cl, %di
+rolw %cl, (%rax)
+rorw %cl, (%rax)
+
+roll %edi
+rorl %edi
+roll (%rax)
+rorl (%rax)
+roll $7, %edi
+rorl $7, %edi
+roll $7, (%rax)
+rorl $7, (%rax)
+roll %cl, %edi
+rorl %cl, %edi
+roll %cl, (%rax)
+rorl %cl, (%rax)
+
+rolq %rdi
+rorq %rdi
+rolq (%rax)
+rorq (%rax)
+rolq $7, %rdi
+rorq $7, %rdi
+rolq $7, (%rax)
+rorq $7, (%rax)
+rolq %cl, %rdi
+rorq %cl, %rdi
+rolq %cl, (%rax)
+rorq %cl, (%rax)
+
+sarb %dil
+shlb %dil
+shrb %dil
+sarb (%rax)
+shlb (%rax)
+shrb (%rax)
+sarb $7, %dil
+shlb $7, %dil
+shrb $7, %dil
+sarb $7, (%rax)
+shlb $7, (%rax)
+shrb $7, (%rax)
+sarb %cl, %dil
+shlb %cl, %dil
+shrb %cl, %dil
+sarb %cl, (%rax)
+shlb %cl, (%rax)
+shrb %cl, (%rax)
+
+sarw %di
+shlw %di
+shrw %di
+sarw (%rax)
+shlw (%rax)
+shrw (%rax)
+sarw $7, %di
+shlw $7, %di
+shrw $7, %di
+sarw $7, (%rax)
+shlw $7, (%rax)
+shrw $7, (%rax)
+sarw %cl, %di
+shlw %cl, %di
+shrw %cl, %di
+sarw %cl, (%rax)
+shlw %cl, (%rax)
+shrw %cl, (%rax)
+
+sarl %edi
+shll %edi
+shrl %edi
+sarl (%rax)
+shll (%rax)
+shrl (%rax)
+sarl $7, %edi
+shll $7, %edi
+shrl $7, %edi
+sarl $7, (%rax)
+shll $7, (%rax)
+shrl $7, (%rax)
+sarl %cl, %edi
+shll %cl, %edi
+shrl %cl, %edi
+sarl %cl, (%rax)
+shll %cl, (%rax)
+shrl %cl, (%rax)
+
+sarq %rdi
+shlq %rdi
+shrq %rdi
+sarq (%rax)
+shlq (%rax)
+shrq (%rax)
+sarq $7, %rdi
+shlq $7, %rdi
+shrq $7, %rdi
+sarq $7, (%rax)
+shlq $7, (%rax)
+shrq $7, (%rax)
+sarq %cl, %rdi
+shlq %cl, %rdi
+shrq %cl, %rdi
+sarq %cl, (%rax)
+shlq %cl, (%rax)
+shrq %cl, (%rax)
+
+# 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      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:      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:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
+# CHECK-NEXT: 48.00  48.00  36.00  36.00  36.00  36.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    -      -      -      -      -      -     	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)
+




More information about the llvm-commits mailing list