[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