[llvm] r338563 - [llvm-mca][x86] Add more x86-64 system instruction resource tests

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 1 07:18:09 PDT 2018


Author: rksimon
Date: Wed Aug  1 07:18:09 2018
New Revision: 338563

URL: http://llvm.org/viewvc/llvm-project?rev=338563&view=rev
Log:
[llvm-mca][x86] Add more x86-64 system instruction resource tests

CPUID, IN/OUT, INS/OUTS, INT, PAUSE, SCAS, UD2, XLAT

Modified:
    llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
    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/Generic/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

Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s?rev=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      3     1.50                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      3     1.50                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      3     1.50                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  1      121   60.50                 U     cpuid
 # CHECK-NEXT:  1      1     0.50                        decb	%dil
 # CHECK-NEXT:  1      1     1.00    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      14    7.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  1      14    7.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  1      14    7.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  1      92    46.00                 U     inb	$7, %al
+# CHECK-NEXT:  1      94    47.00                 U     inb	%dx, %al
+# CHECK-NEXT:  1      92    46.00                 U     inw	$7, %ax
+# CHECK-NEXT:  1      94    47.00                 U     inw	%dx, %ax
+# CHECK-NEXT:  1      92    46.00                 U     inl	$7, %eax
+# CHECK-NEXT:  1      94    47.00                 U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.50                        incb	%dil
 # CHECK-NEXT:  1      1     1.00    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incq	%rdi
 # CHECK-NEXT:  1      1     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  1      59    29.50                 U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      59    29.50                 U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      59    29.50                 U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      127   63.50   *      *      U     int	$7
 # CHECK-NEXT:  1      2     1.00                        lahf
 # CHECK-NEXT:  1      2     1.00                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  1      2     1.00                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        orq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  1      72    36.00                 U     outb	%al, $7
+# CHECK-NEXT:  1      68    34.00                 U     outb	%al, %dx
+# CHECK-NEXT:  1      72    36.00                 U     outw	%ax, $7
+# CHECK-NEXT:  1      68    34.00                 U     outw	%ax, %dx
+# CHECK-NEXT:  1      72    36.00                 U     outl	%eax, $7
+# CHECK-NEXT:  1      68    34.00                 U     outl	%eax, %dx
+# CHECK-NEXT:  1      74    37.00                 U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      74    37.00                 U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      74    37.00                 U     outsl	(%rsi), %dx
+# CHECK-NEXT:  1      17    8.50    *      *      U     pause
 # CHECK-NEXT:  1      1     1.00                        rclb	%dil
 # CHECK-NEXT:  1      1     1.00                        rcrb	%dil
 # CHECK-NEXT:  1      1     1.00           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  1      2     1.00                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  1      2     1.00                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  1      2     1.00                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  1      2     1.00                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  1      6     3.00                        shldw	%cl, %si, %di
 # CHECK-NEXT:  1      6     3.00                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  1      6     3.00    *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        subq	%rsi, %rdi
 # CHECK-NEXT:  1      1     1.00    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  1      1     1.00    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.50    *             U     ud2
+# CHECK-NEXT:  1      6     3.00    *                   xlatb
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %dil
 # CHECK-NEXT:  1      1     1.00    *      *            xorb	$7, (%rax)
@@ -1363,7 +1427,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]
-# CHECK-NEXT: 1447.00 1117.00
+# CHECK-NEXT: 2275.50 1945.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    Instructions:
@@ -1562,6 +1626,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.50   1.50   cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT: 1.50   1.50   cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT: 1.50   1.50   cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT: 60.50  60.50  cpuid
 # CHECK-NEXT: 0.50   0.50   decb	%dil
 # CHECK-NEXT: 1.00    -     decb	(%rax)
 # CHECK-NEXT: 0.50   0.50   decw	%di
@@ -1612,6 +1677,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 7.00   7.00   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT: 7.00   7.00   imulq	$7, %rsi, %rdi
 # CHECK-NEXT: 7.00   7.00   imulq	$7, (%rax), %rdi
+# CHECK-NEXT: 46.00  46.00  inb	$7, %al
+# CHECK-NEXT: 47.00  47.00  inb	%dx, %al
+# CHECK-NEXT: 46.00  46.00  inw	$7, %ax
+# CHECK-NEXT: 47.00  47.00  inw	%dx, %ax
+# CHECK-NEXT: 46.00  46.00  inl	$7, %eax
+# CHECK-NEXT: 47.00  47.00  inl	%dx, %eax
 # CHECK-NEXT: 0.50   0.50   incb	%dil
 # CHECK-NEXT: 1.00    -     incb	(%rax)
 # CHECK-NEXT: 0.50   0.50   incw	%di
@@ -1620,6 +1691,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00    -     incl	(%rax)
 # CHECK-NEXT: 0.50   0.50   incq	%rdi
 # CHECK-NEXT: 1.00    -     incq	(%rax)
+# CHECK-NEXT: 29.50  29.50  insb	%dx, %es:(%rdi)
+# CHECK-NEXT: 29.50  29.50  insw	%dx, %es:(%rdi)
+# CHECK-NEXT: 29.50  29.50  insl	%dx, %es:(%rdi)
+# CHECK-NEXT: 63.50  63.50  int	$7
 # CHECK-NEXT: 1.00   1.00   lahf
 # CHECK-NEXT: 1.00   1.00   lodsb	(%rsi), %al
 # CHECK-NEXT: 1.00   1.00   lodsw	(%rsi), %ax
@@ -1712,6 +1787,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   orq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     orq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     orq	(%rax), %rdi
+# CHECK-NEXT: 36.00  36.00  outb	%al, $7
+# CHECK-NEXT: 34.00  34.00  outb	%al, %dx
+# CHECK-NEXT: 36.00  36.00  outw	%ax, $7
+# CHECK-NEXT: 34.00  34.00  outw	%ax, %dx
+# CHECK-NEXT: 36.00  36.00  outl	%eax, $7
+# CHECK-NEXT: 34.00  34.00  outl	%eax, %dx
+# CHECK-NEXT: 37.00  37.00  outsb	(%rsi), %dx
+# CHECK-NEXT: 37.00  37.00  outsw	(%rsi), %dx
+# CHECK-NEXT: 37.00  37.00  outsl	(%rsi), %dx
+# CHECK-NEXT: 8.50   8.50   pause
 # CHECK-NEXT: 1.00    -     rclb	%dil
 # CHECK-NEXT: 1.00    -     rcrb	%dil
 # CHECK-NEXT: 1.00    -     rclb	(%rax)
@@ -1911,6 +1996,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   sbbq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     sbbq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     sbbq	(%rax), %rdi
+# CHECK-NEXT: 1.00   1.00   scasb	%es:(%rdi), %al
+# CHECK-NEXT: 1.00   1.00   scasw	%es:(%rdi), %ax
+# CHECK-NEXT: 1.00   1.00   scasl	%es:(%rdi), %eax
+# CHECK-NEXT: 1.00   1.00   scasq	%es:(%rdi), %rax
 # CHECK-NEXT: 3.00   3.00   shldw	%cl, %si, %di
 # CHECK-NEXT: 3.00   3.00   shrdw	%cl, %si, %di
 # CHECK-NEXT: 3.00   3.00   shldw	%cl, %si, (%rax)
@@ -1971,6 +2060,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   subq	%rsi, %rdi
 # CHECK-NEXT: 1.00    -     subq	%rsi, (%rax)
 # CHECK-NEXT: 1.00    -     subq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50   ud2
+# CHECK-NEXT: 3.00   3.00   xlatb
 # CHECK-NEXT: 0.50   0.50   xorb	$7, %al
 # CHECK-NEXT: 0.50   0.50   xorb	$7, %dil
 # CHECK-NEXT: 1.00    -     xorb	$7, (%rax)

Modified: 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=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.25                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.25                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  8      18    2.00                  U     cpuid
 # CHECK-NEXT:  1      1     0.25                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  23     34    5.00                  U     inb	$7, %al
+# CHECK-NEXT:  23     34    5.00                  U     inb	%dx, %al
+# CHECK-NEXT:  23     34    5.00                  U     inw	$7, %ax
+# CHECK-NEXT:  23     34    5.00                  U     inw	%dx, %ax
+# CHECK-NEXT:  23     34    5.00                  U     inl	$7, %eax
+# CHECK-NEXT:  23     34    5.00                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.25                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  8      20    1.25                  U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  8      20    1.25                  U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  8      20    1.25                  U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.25    *      *      U     int	$7
 # CHECK-NEXT:  1      1     0.50                        lahf
 # CHECK-NEXT:  1      100   0.25                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  1      100   0.25                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  23     35    5.00                  U     outb	%al, $7
+# CHECK-NEXT:  23     35    5.00                  U     outb	%al, %dx
+# CHECK-NEXT:  23     35    5.00                  U     outw	%ax, $7
+# CHECK-NEXT:  23     35    5.00                  U     outw	%ax, %dx
+# CHECK-NEXT:  23     35    5.00                  U     outl	%eax, $7
+# CHECK-NEXT:  23     35    5.00                  U     outl	%eax, %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
+# CHECK-NEXT:  5      5     1.25    *      *      U     pause
 # CHECK-NEXT:  3      3     0.75                        rclb	%dil
 # CHECK-NEXT:  3      3     0.75                        rcrb	%dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  3      7     0.50                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  3      7     0.50                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  3      7     0.50                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  3      7     0.50                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  4      6     1.00                        shldw	%cl, %si, %di
 # CHECK-NEXT:  4      6     1.00                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  6      11    1.00    *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.25    *             U     ud2
+# CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
@@ -1371,7 +1435,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 50.00   -     382.50 273.00 219.33 219.33 171.00 166.50 350.00 70.33
+# CHECK-NEXT: 50.00   -     445.50 310.00 241.33 241.33 174.00 219.50 478.00 73.33
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -1570,6 +1634,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  -      -     1.75   1.25    -      -      -     2.25   2.75    -     cpuid
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decw	%di
@@ -1620,6 +1685,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inb	$7, %al
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inb	%dx, %al
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inw	$7, %ax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inw	%dx, %ax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	$7, %eax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incw	%di
@@ -1628,6 +1699,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incq	(%rax)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     int	$7
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     lahf
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     lodsb	(%rsi), %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     lodsw	(%rsi), %ax
@@ -1720,6 +1795,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orq	(%rax), %rdi
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, %dx
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outw	%ax, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outw	%ax, %dx
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outl	%eax, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outl	%eax, %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsb	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsw	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsl	(%rsi), %dx
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -     1.00   2.00    -     pause
 # 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)
@@ -1919,6 +2004,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -     shldw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -     shrdw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33   shldw	%cl, %si, (%rax)
@@ -1979,6 +2068,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ud2
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     xlatb
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	$7, (%rax)

Modified: 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=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.50                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.50                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.50                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  1      100   0.50                  U     cpuid
 # CHECK-NEXT:  1      1     0.50                        decb	%dil
 # CHECK-NEXT:  2      5     1.00    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      9     4.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  2      6     4.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  2      9     4.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  1      100   0.50                  U     inb	$7, %al
+# CHECK-NEXT:  1      100   0.50                  U     inb	%dx, %al
+# CHECK-NEXT:  1      100   0.50                  U     inw	$7, %ax
+# CHECK-NEXT:  1      100   0.50                  U     inw	%dx, %ax
+# CHECK-NEXT:  1      100   0.50                  U     inl	$7, %eax
+# CHECK-NEXT:  1      100   0.50                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.50                        incb	%dil
 # CHECK-NEXT:  2      5     1.00    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      5     1.00    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incq	%rdi
 # CHECK-NEXT:  2      5     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  1      100   0.50                  U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.50                  U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.50                  U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.50    *      *      U     int	$7
 # CHECK-NEXT:  1      1     0.50                        lahf
 # CHECK-NEXT:  1      100   0.50                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  1      100   0.50                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        orq	%rsi, %rdi
 # CHECK-NEXT:  2      5     1.00    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.50                  U     outb	%al, $7
+# CHECK-NEXT:  1      100   0.50                  U     outb	%al, %dx
+# CHECK-NEXT:  1      100   0.50                  U     outw	%ax, $7
+# CHECK-NEXT:  1      100   0.50                  U     outw	%ax, %dx
+# CHECK-NEXT:  1      100   0.50                  U     outl	%eax, $7
+# CHECK-NEXT:  1      100   0.50                  U     outl	%eax, %dx
+# CHECK-NEXT:  1      100   0.50                  U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.50                  U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.50                  U     outsl	(%rsi), %dx
+# CHECK-NEXT:  1      1     0.50    *      *      U     pause
 # CHECK-NEXT:  1      1     0.50                        rclb	%dil
 # CHECK-NEXT:  1      1     0.50                        rcrb	%dil
 # CHECK-NEXT:  2      4     1.00           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     1.00                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  2      5     1.00    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.50                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  1      100   0.50                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  1      100   0.50                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  1      100   0.50                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  7      4     4.00                        shldw	%cl, %si, %di
 # CHECK-NEXT:  7      4     4.00                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  8      9     11.00   *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        subq	%rsi, %rdi
 # CHECK-NEXT:  2      5     1.00    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.50    *             U     ud2
+# CHECK-NEXT:  1      5     1.00    *                   xlatb
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %dil
 # CHECK-NEXT:  2      5     1.00    *      *            xorb	$7, (%rax)
@@ -1375,7 +1439,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 502.00 552.00 380.00  -      -      -      -     295.00 64.00  195.00  -      -      -      -
+# CHECK-NEXT: 515.00 565.00 380.00  -      -      -      -     296.00 64.00  195.00  -      -      -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   Instructions:
@@ -1574,6 +1638,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     cpuid
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     decb	%dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     decb	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     decw	%di
@@ -1624,6 +1689,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -     1.00    -      -      -      -      -     1.00   4.00    -      -      -      -      -     imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  -     1.00    -      -      -      -      -      -     4.00    -      -      -      -      -     imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  -     1.00    -      -      -      -      -     1.00   4.00    -      -      -      -      -     imulq	$7, (%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     inb	$7, %al
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     inb	%dx, %al
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     inw	$7, %ax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     inw	%dx, %ax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     inl	$7, %eax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     inl	%dx, %eax
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     incb	%dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     incb	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     incw	%di
@@ -1632,6 +1703,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     incl	(%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     incq	%rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     incq	(%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     insb	%dx, %es:(%rdi)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     insw	%dx, %es:(%rdi)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     insl	%dx, %es:(%rdi)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     int	$7
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     lahf
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     lodsb	(%rsi), %al
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     lodsw	(%rsi), %ax
@@ -1724,6 +1799,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     orq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     orq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     orq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, $7
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, %dx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outw	%ax, $7
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outw	%ax, %dx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outl	%eax, $7
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outl	%eax, %dx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outsb	(%rsi), %dx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outsw	(%rsi), %dx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     outsl	(%rsi), %dx
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     pause
 # 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)
@@ -1923,6 +2008,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -     1.00    -      -      -      -     sbbq	%rsi, (%rax)
 # CHECK-NEXT: 1.00   1.00    -      -      -      -      -     1.00    -      -      -      -      -      -     sbbq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     scasb	%es:(%rdi), %al
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     scasw	%es:(%rdi), %ax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     scasl	%es:(%rdi), %eax
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     scasq	%es:(%rdi), %rax
 # CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -     shldw	%cl, %si, %di
 # CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -     shrdw	%cl, %si, %di
 # CHECK-NEXT: 11.00  11.00   -      -      -      -      -     1.00    -      -      -      -      -      -     shldw	%cl, %si, (%rax)
@@ -1983,6 +2072,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     subq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     subq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -     subq	(%rax), %rdi
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     ud2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     xlatb
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorb	$7, %al
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     xorb	$7, %dil
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -     1.00    -      -      -      -     xorb	$7, (%rax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s?rev=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  5      8     1.00                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  5      8     1.00                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  5      8     1.00                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  1      100   0.33                  U     cpuid
 # CHECK-NEXT:  1      1     0.33                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  1      100   0.33                  U     inb	$7, %al
+# CHECK-NEXT:  1      100   0.33                  U     inb	%dx, %al
+# CHECK-NEXT:  1      100   0.33                  U     inw	$7, %ax
+# CHECK-NEXT:  1      100   0.33                  U     inw	%dx, %ax
+# CHECK-NEXT:  1      100   0.33                  U     inl	$7, %eax
+# CHECK-NEXT:  1      100   0.33                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.33                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  1      100   0.33                  U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.33                  U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.33                  U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.33    *      *      U     int	$7
 # CHECK-NEXT:  1      1     0.50                        lahf
 # CHECK-NEXT:  3      7     0.67                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  3      7     0.67                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.33                  U     outb	%al, $7
+# CHECK-NEXT:  1      100   0.33                  U     outb	%al, %dx
+# CHECK-NEXT:  1      100   0.33                  U     outw	%ax, $7
+# CHECK-NEXT:  1      100   0.33                  U     outw	%ax, %dx
+# CHECK-NEXT:  1      100   0.33                  U     outl	%eax, $7
+# CHECK-NEXT:  1      100   0.33                  U     outl	%eax, %dx
+# CHECK-NEXT:  1      100   0.33                  U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.33                  U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.33                  U     outsl	(%rsi), %dx
+# CHECK-NEXT:  4      4     1.33    *      *      U     pause
 # CHECK-NEXT:  1      1     0.50                        rclb	%dil
 # CHECK-NEXT:  1      1     0.50                        rcrb	%dil
 # CHECK-NEXT:  3      6     1.00           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  2      2     0.67                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  2      2     0.67                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  2      2     0.67                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  2      2     0.67                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  4      4     1.50                        shldw	%cl, %si, %di
 # CHECK-NEXT:  4      4     1.50                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  7      10    1.50    *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.33    *             U     ud2
+# CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
@@ -1369,7 +1433,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     376.17 181.67 218.00 367.17 266.00 266.00
+# CHECK-NEXT: 160.00  -     386.83 192.33 218.00 378.83 266.50 266.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -1568,6 +1632,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00   1.00   1.00   cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00   1.00   1.00   cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00   1.00   1.00   cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cpuid
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decw	%di
@@ -1618,6 +1683,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inb	$7, %al
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inb	%dx, %al
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inw	$7, %ax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inw	%dx, %ax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inl	$7, %eax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incw	%di
@@ -1626,6 +1697,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incq	%rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incq	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     int	$7
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     lahf
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67   0.50   0.50   lodsb	(%rsi), %al
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67   0.50   0.50   lodsw	(%rsi), %ax
@@ -1718,6 +1793,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, $7
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outw	%ax, $7
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outw	%ax, %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outl	%eax, $7
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outl	%eax, %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsb	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsw	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsl	(%rsi), %dx
+# CHECK-NEXT:  -      -     1.00   1.00    -     2.00    -      -     pause
 # 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)
@@ -1917,6 +2002,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -     shldw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -     shrdw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.83   0.33   1.00   1.83   1.00   1.00   shldw	%cl, %si, (%rax)
@@ -1977,6 +2066,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     ud2
+# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   xlatb
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorb	$7, (%rax)

Modified: 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=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  5      4     1.00                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  5      4     1.00                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  5      4     1.00                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  8      18    2.00                  U     cpuid
 # CHECK-NEXT:  1      1     0.25                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  23     35    5.00                  U     inb	$7, %al
+# CHECK-NEXT:  23     35    5.00                  U     inb	%dx, %al
+# CHECK-NEXT:  23     35    5.00                  U     inw	$7, %ax
+# CHECK-NEXT:  23     35    5.00                  U     inw	%dx, %ax
+# CHECK-NEXT:  23     35    5.00                  U     inl	$7, %eax
+# CHECK-NEXT:  23     35    5.00                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.25                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  8      21    1.25                  U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  8      21    1.25                  U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  8      21    1.25                  U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.25    *      *      U     int	$7
 # CHECK-NEXT:  1      1     0.50                        lahf
 # CHECK-NEXT:  3      1     0.50                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  3      1     0.50                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  23     36    5.00                  U     outb	%al, $7
+# CHECK-NEXT:  23     36    5.00                  U     outb	%al, %dx
+# CHECK-NEXT:  23     36    5.00                  U     outw	%ax, $7
+# CHECK-NEXT:  23     36    5.00                  U     outw	%ax, %dx
+# CHECK-NEXT:  23     36    5.00                  U     outl	%eax, $7
+# CHECK-NEXT:  23     36    5.00                  U     outl	%eax, %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
+# CHECK-NEXT:  5      5     1.25    *      *      U     pause
 # CHECK-NEXT:  3      3     0.75                        rclb	%dil
 # CHECK-NEXT:  3      3     0.75                        rcrb	%dil
 # CHECK-NEXT:  5      9     0.75           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  3      7     0.50    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  3      7     0.50                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  3      7     0.50                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  3      7     0.50                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  3      7     0.50                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  4      6     1.00                        shldw	%cl, %si, %di
 # CHECK-NEXT:  4      6     1.00                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  6      12    1.00    *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.25    *             U     ud2
+# CHECK-NEXT:  3      7     0.75    *                   xlatb
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
@@ -1371,7 +1435,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 80.00   -     437.00 297.50 220.33 220.33 166.00 193.00 433.50 67.33
+# CHECK-NEXT: 80.00   -     500.00 334.50 241.83 241.83 169.00 246.00 561.50 70.33
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -1570,6 +1634,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.75   0.75   1.00   1.00    -     0.75   0.75    -     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     0.75   0.75   1.00   1.00    -     0.75   0.75    -     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     0.75   0.75   1.00   1.00    -     0.75   0.75    -     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  -      -     1.75   1.25    -      -      -     2.25   2.75    -     cpuid
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decw	%di
@@ -1620,6 +1685,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inb	$7, %al
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inb	%dx, %al
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inw	$7, %ax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inw	%dx, %ax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	$7, %eax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incw	%di
@@ -1628,6 +1699,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incq	(%rax)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     int	$7
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     lahf
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     lodsb	(%rsi), %al
 # CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     lodsw	(%rsi), %ax
@@ -1720,6 +1795,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orq	(%rax), %rdi
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, %dx
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outw	%ax, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outw	%ax, %dx
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outl	%eax, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outl	%eax, %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsb	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsw	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsl	(%rsi), %dx
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -     1.00   2.00    -     pause
 # 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)
@@ -1919,6 +2004,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.75   0.25    -      -      -     0.25   0.75    -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.75   0.25   0.50   0.50    -     0.25   0.75    -     sbbq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -     shldw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.00   1.50    -      -      -     0.50   1.00    -     shrdw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.00   1.50   0.83   0.83    -     0.50   1.00   0.33   shldw	%cl, %si, (%rax)
@@ -1979,6 +2068,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ud2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     xlatb
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	$7, (%rax)

Modified: 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=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   1.00                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   1.00                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   1.00                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  1      100   1.00                  U     cpuid
 # CHECK-NEXT:  1      1     0.50                        decb	%dil
 # CHECK-NEXT:  2      5     2.00    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      6     1.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  1      6     1.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  1      100   1.00                  U     inb	$7, %al
+# CHECK-NEXT:  1      100   1.00                  U     inb	%dx, %al
+# CHECK-NEXT:  1      100   1.00                  U     inw	$7, %ax
+# CHECK-NEXT:  1      100   1.00                  U     inw	%dx, %ax
+# CHECK-NEXT:  1      100   1.00                  U     inl	$7, %eax
+# CHECK-NEXT:  1      100   1.00                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.50                        incb	%dil
 # CHECK-NEXT:  2      5     2.00    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      5     2.00    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.50                        incq	%rdi
 # CHECK-NEXT:  2      5     2.00    *      *            incq	(%rax)
+# CHECK-NEXT:  1      100   1.00                  U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   1.00                  U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   1.00                  U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   1.00    *      *      U     int	$7
 # CHECK-NEXT:  1      1     0.50                        lahf
 # CHECK-NEXT:  1      100   1.00                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  1      100   1.00                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        orq	%rsi, %rdi
 # CHECK-NEXT:  2      5     2.00    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  1      100   1.00                  U     outb	%al, $7
+# CHECK-NEXT:  1      100   1.00                  U     outb	%al, %dx
+# CHECK-NEXT:  1      100   1.00                  U     outw	%ax, $7
+# CHECK-NEXT:  1      100   1.00                  U     outw	%ax, %dx
+# CHECK-NEXT:  1      100   1.00                  U     outl	%eax, $7
+# CHECK-NEXT:  1      100   1.00                  U     outl	%eax, %dx
+# CHECK-NEXT:  1      100   1.00                  U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      100   1.00                  U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      100   1.00                  U     outsl	(%rsi), %dx
+# CHECK-NEXT:  1      1     0.50    *      *      U     pause
 # CHECK-NEXT:  1      1     1.00                        rclb	%dil
 # CHECK-NEXT:  1      1     1.00                        rcrb	%dil
 # CHECK-NEXT:  2      4     2.00           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  2      5     2.00    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  1      100   1.00                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  1      100   1.00                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  1      100   1.00                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  1      100   1.00                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  1      1     1.00                        shldw	%cl, %si, %di
 # CHECK-NEXT:  1      1     1.00                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  2      4     2.00    *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        subq	%rsi, %rdi
 # CHECK-NEXT:  2      5     2.00    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  1      4     1.00    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   1.00    *             U     ud2
+# CHECK-NEXT:  1      3     1.00    *                   xlatb
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.50                        xorb	$7, %dil
 # CHECK-NEXT:  2      5     2.00    *      *            xorb	$7, (%rax)
@@ -1369,7 +1433,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
-# CHECK-NEXT: 400.00  -      -     16.00   -     545.00 387.00 502.00
+# CHECK-NEXT: 400.00  -      -     41.00   -     545.00 387.00 503.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    Instructions:
@@ -1568,6 +1632,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     cpuid
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     decb	%dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00   decb	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     decw	%di
@@ -1618,6 +1683,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -     imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     inb	$7, %al
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     inb	%dx, %al
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     inw	$7, %ax
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     inw	%dx, %ax
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     inl	$7, %eax
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incb	%dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00   incb	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incw	%di
@@ -1626,6 +1697,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00   incl	(%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incq	%rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00   incq	(%rax)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     int	$7
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lahf
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     lodsb	(%rsi), %al
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     lodsw	(%rsi), %ax
@@ -1718,6 +1793,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00   orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   orq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outb	%al, $7
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outb	%al, %dx
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outw	%ax, $7
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outw	%ax, %dx
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outl	%eax, $7
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outl	%eax, %dx
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outsb	(%rsi), %dx
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outsw	(%rsi), %dx
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     outsl	(%rsi), %dx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     pause
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     rclb	%dil
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     rcrb	%dil
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00   rclb	(%rax)
@@ -1917,6 +2002,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00   sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   sbbq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     shldw	%cl, %si, %di
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     shrdw	%cl, %si, %di
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     2.00   shldw	%cl, %si, (%rax)
@@ -1977,6 +2066,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00   subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   subq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     ud2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   xlatb
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorb	$7, %al
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     xorb	$7, %dil
 # CHECK-NEXT:  -      -      -      -      -     1.00   1.00   2.00   xorb	$7, (%rax)

Modified: 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=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  5      8     1.00                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  5      8     1.00                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  5      8     1.00                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  1      100   0.33                  U     cpuid
 # CHECK-NEXT:  1      1     0.33                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  1      100   0.33                  U     inb	$7, %al
+# CHECK-NEXT:  1      100   0.33                  U     inb	%dx, %al
+# CHECK-NEXT:  1      100   0.33                  U     inw	$7, %ax
+# CHECK-NEXT:  1      100   0.33                  U     inw	%dx, %ax
+# CHECK-NEXT:  1      100   0.33                  U     inl	$7, %eax
+# CHECK-NEXT:  1      100   0.33                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.33                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.33                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  1      100   0.33                  U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.33                  U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.33                  U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.33    *      *      U     int	$7
 # CHECK-NEXT:  1      1     0.50                        lahf
 # CHECK-NEXT:  3      7     0.67                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  3      7     0.67                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.33                  U     outb	%al, $7
+# CHECK-NEXT:  1      100   0.33                  U     outb	%al, %dx
+# CHECK-NEXT:  1      100   0.33                  U     outw	%ax, $7
+# CHECK-NEXT:  1      100   0.33                  U     outw	%ax, %dx
+# CHECK-NEXT:  1      100   0.33                  U     outl	%eax, $7
+# CHECK-NEXT:  1      100   0.33                  U     outl	%eax, %dx
+# CHECK-NEXT:  1      100   0.33                  U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.33                  U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.33                  U     outsl	(%rsi), %dx
+# CHECK-NEXT:  4      4     1.33    *      *      U     pause
 # CHECK-NEXT:  1      1     0.50                        rclb	%dil
 # CHECK-NEXT:  1      1     0.50                        rcrb	%dil
 # CHECK-NEXT:  3      6     1.00           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      2     0.67                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  6      9     1.00    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  3      7     0.67    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  2      2     0.67                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  2      2     0.67                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  2      2     0.67                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  2      2     0.67                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  4      4     1.50                        shldw	%cl, %si, %di
 # CHECK-NEXT:  4      4     1.50                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  7      10    1.50    *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.33                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.33    *             U     ud2
+# CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.33                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
@@ -1369,7 +1433,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT: 160.00  -     376.17 181.67 218.00 367.17 266.00 266.00
+# CHECK-NEXT: 160.00  -     386.83 192.33 218.00 378.83 266.50 266.50
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -1568,6 +1632,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00   1.00   1.00   cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00   1.00   1.00   cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00   1.00   1.00   cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     cpuid
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   decb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     decw	%di
@@ -1618,6 +1683,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inb	$7, %al
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inb	%dx, %al
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inw	$7, %ax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inw	%dx, %ax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inl	$7, %eax
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incb	%dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incb	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incw	%di
@@ -1626,6 +1697,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incl	(%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     incq	%rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   incq	(%rax)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     int	$7
 # CHECK-NEXT:  -      -     0.50    -      -     0.50    -      -     lahf
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67   0.50   0.50   lodsb	(%rsi), %al
 # CHECK-NEXT:  -      -     0.67   0.67    -     0.67   0.50   0.50   lodsw	(%rsi), %ax
@@ -1718,6 +1793,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   orq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, $7
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outb	%al, %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outw	%ax, $7
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outw	%ax, %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outl	%eax, $7
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outl	%eax, %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsb	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsw	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     outsl	(%rsi), %dx
+# CHECK-NEXT:  -      -     1.00   1.00    -     2.00    -      -     pause
 # 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)
@@ -1917,6 +2002,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83    -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.33   0.33   1.00   1.33   1.00   1.00   sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.83   0.33    -     0.83   0.50   0.50   sbbq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  -      -     0.67   0.67    -     0.67    -      -     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -     shldw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.83   0.33    -     1.83    -      -     shrdw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.83   0.33   1.00   1.83   1.00   1.00   shldw	%cl, %si, (%rax)
@@ -1977,6 +2066,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   subq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     ud2
+# CHECK-NEXT:  -      -      -      -      -      -     0.50   0.50   xlatb
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.33   0.33   1.00   0.33   1.00   1.00   xorb	$7, (%rax)

Modified: 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=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.25                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.25                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  8      18    2.00                  U     cpuid
 # CHECK-NEXT:  1      1     0.25                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  23     35    5.00                  U     inb	$7, %al
+# CHECK-NEXT:  23     35    5.00                  U     inb	%dx, %al
+# CHECK-NEXT:  23     35    5.00                  U     inw	$7, %ax
+# CHECK-NEXT:  23     35    5.00                  U     inw	%dx, %ax
+# CHECK-NEXT:  23     35    5.00                  U     inl	$7, %eax
+# CHECK-NEXT:  23     35    5.00                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.25                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  8      20    1.25                  U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  8      20    1.25                  U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  8      20    1.25                  U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.25    *      *      U     int	$7
 # CHECK-NEXT:  1      1     0.50                        lahf
 # CHECK-NEXT:  1      100   0.25                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  1      100   0.25                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  23     35    5.00                  U     outb	%al, $7
+# CHECK-NEXT:  23     35    5.00                  U     outb	%al, %dx
+# CHECK-NEXT:  23     35    5.00                  U     outw	%ax, $7
+# CHECK-NEXT:  23     35    5.00                  U     outw	%ax, %dx
+# CHECK-NEXT:  23     35    5.00                  U     outl	%eax, $7
+# CHECK-NEXT:  23     35    5.00                  U     outl	%eax, %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
+# CHECK-NEXT:  4      4     1.00    *      *      U     pause
 # CHECK-NEXT:  3      3     0.75                        rclb	%dil
 # CHECK-NEXT:  3      3     0.75                        rcrb	%dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  3      7     0.50                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  3      7     0.50                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  3      7     0.50                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  3      7     0.50                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  4      6     1.00                        shldw	%cl, %si, %di
 # CHECK-NEXT:  4      6     1.00                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  6      11    1.00    *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.25    *             U     ud2
+# CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
@@ -1371,7 +1435,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     450.00 254.00 219.33 219.33 171.00 202.50 436.50 70.33
+# CHECK-NEXT: 60.00   -     512.75 290.75 241.33 241.33 174.00 255.25 564.25 73.33
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -1570,6 +1634,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  -      -     1.75   1.25    -      -      -     2.25   2.75    -     cpuid
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decw	%di
@@ -1620,6 +1685,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inb	$7, %al
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inb	%dx, %al
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inw	$7, %ax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inw	%dx, %ax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	$7, %eax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incw	%di
@@ -1628,6 +1699,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incq	(%rax)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     int	$7
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     lahf
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     lodsb	(%rsi), %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     lodsw	(%rsi), %ax
@@ -1720,6 +1795,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orq	(%rax), %rdi
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, %dx
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outw	%ax, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outw	%ax, %dx
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outl	%eax, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outl	%eax, %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsb	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsw	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsl	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   1.75    -     pause
 # 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)
@@ -1919,6 +2004,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -     shldw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -     shrdw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33   shldw	%cl, %si, (%rax)
@@ -1979,6 +2068,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ud2
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     xlatb
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	$7, (%rax)

Modified: 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=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.25                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.25                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  8      18    2.00                  U     cpuid
 # CHECK-NEXT:  1      1     0.25                        decb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  1      3     1.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  2      8     1.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  23     35    5.00                  U     inb	$7, %al
+# CHECK-NEXT:  23     35    5.00                  U     inb	%dx, %al
+# CHECK-NEXT:  23     35    5.00                  U     inw	$7, %ax
+# CHECK-NEXT:  23     35    5.00                  U     inw	%dx, %ax
+# CHECK-NEXT:  23     35    5.00                  U     inl	$7, %eax
+# CHECK-NEXT:  23     35    5.00                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.25                        incb	%dil
 # CHECK-NEXT:  3      7     1.00    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incq	%rdi
 # CHECK-NEXT:  3      7     1.00    *      *            incq	(%rax)
+# CHECK-NEXT:  8      20    1.25                  U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  8      20    1.25                  U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  8      20    1.25                  U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.25    *      *      U     int	$7
 # CHECK-NEXT:  1      1     0.50                        lahf
 # CHECK-NEXT:  1      100   0.25                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  1      100   0.25                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        orq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  23     35    5.00                  U     outb	%al, $7
+# CHECK-NEXT:  23     35    5.00                  U     outb	%al, %dx
+# CHECK-NEXT:  23     35    5.00                  U     outw	%ax, $7
+# CHECK-NEXT:  23     35    5.00                  U     outw	%ax, %dx
+# CHECK-NEXT:  23     35    5.00                  U     outl	%eax, $7
+# CHECK-NEXT:  23     35    5.00                  U     outl	%eax, %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
+# CHECK-NEXT:  4      140   1.00    *      *      U     pause
 # CHECK-NEXT:  3      3     0.75                        rclb	%dil
 # CHECK-NEXT:  3      3     0.75                        rcrb	%dil
 # CHECK-NEXT:  5      8     0.75           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.50                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  6      8     1.00    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  3      7     0.50                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  3      7     0.50                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  3      7     0.50                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  3      7     0.50                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  4      6     1.00                        shldw	%cl, %si, %di
 # CHECK-NEXT:  4      6     1.00                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  6      11    1.00    *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        subq	%rsi, %rdi
 # CHECK-NEXT:  3      7     1.00    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  2      6     0.50    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.25    *             U     ud2
+# CHECK-NEXT:  1      5     0.50    *                   xlatb
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %dil
 # CHECK-NEXT:  3      7     1.00    *      *            xorb	$7, (%rax)
@@ -1371,7 +1435,7 @@ xorq (%rax), %rdi
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT: 60.00   -     450.25 254.25 219.33 219.33 171.00 202.75 436.75 70.33
+# CHECK-NEXT: 60.00   -     513.00 291.00 241.33 241.33 174.00 255.50 564.50 73.33
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -1570,6 +1634,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  -      -     1.75   1.25    -      -      -     2.25   2.75    -     cpuid
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   decb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     decw	%di
@@ -1620,6 +1685,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inb	$7, %al
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inb	%dx, %al
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inw	$7, %ax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inw	%dx, %ax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	$7, %eax
+# CHECK-NEXT:  -      -     4.50   2.50   1.50   1.50    -     3.50   9.50    -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incb	%dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incw	%di
@@ -1628,6 +1699,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     incq	%rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   incq	(%rax)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     1.00   0.50   0.83   0.83   1.00   1.50   2.00   0.33   insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     int	$7
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     lahf
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     lodsb	(%rsi), %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     lodsw	(%rsi), %ax
@@ -1720,6 +1795,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     orq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   orq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     orq	(%rax), %rdi
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outb	%al, %dx
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outw	%ax, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outw	%ax, %dx
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outl	%eax, $7
+# CHECK-NEXT:  -      -     4.50   2.50   1.33   1.33    -     3.50   9.50   0.33   outl	%eax, %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsb	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsw	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     outsl	(%rsi), %dx
+# CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   1.75    -     pause
 # 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)
@@ -1919,6 +2004,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -      -     0.50    -     sbbq	%rsi, %rdi
 # CHECK-NEXT:  -      -     1.25   0.25   0.83   0.83   1.00   0.25   1.25   0.33   sbbq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -      -     0.50    -     sbbq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     0.50   0.50    -     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -     shldw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.25   1.25    -      -      -     0.25   1.25    -     shrdw	%cl, %si, %di
 # CHECK-NEXT:  -      -     1.25   1.25   0.83   0.83    -     0.25   1.25   0.33   shldw	%cl, %si, (%rax)
@@ -1979,6 +2068,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     subq	%rsi, %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   subq	%rsi, (%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.50   0.50    -     0.25   0.25    -     subq	(%rax), %rdi
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ud2
+# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     xlatb
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     xorb	$7, %dil
 # CHECK-NEXT:  -      -     0.25   0.25   0.83   0.83   1.00   0.25   0.25   0.33   xorb	$7, (%rax)

Modified: 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=338563&r1=338562&r2=338563&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s Wed Aug  1 07:18:09 2018
@@ -222,6 +222,8 @@ cmpsw
 cmpsl
 cmpsq
 
+cpuid
+
 decb %dil
 decb (%rax)
 decw %di
@@ -279,6 +281,13 @@ imulq $665536, (%rax), %rdi
 imulq $7, %rsi, %rdi
 imulq $7, (%rax), %rdi
 
+inb $7,  %al
+inb %dx, %al
+inw $7,  %ax
+inw %dx, %ax
+inl $7,  %eax
+inl %dx, %eax
+
 incb %dil
 incb (%rax)
 incw %di
@@ -288,6 +297,12 @@ incl (%rax)
 incq %rdi
 incq (%rax)
 
+insb
+insw
+insl
+
+int $7
+
 lahf
 
 lodsb
@@ -394,6 +409,19 @@ orq %rsi, %rdi
 orq %rsi, (%rax)
 orq (%rax), %rdi
 
+outb %al,  $7
+outb %al,  %dx
+outw %ax,  $7
+outw %ax,  %dx
+outl %eax, $7
+outl %eax, %dx
+
+outsb
+outsw
+outsl
+
+pause
+
 rclb %dil
 rcrb %dil
 rclb (%rax)
@@ -610,6 +638,11 @@ sbbq %rsi, %rdi
 sbbq %rsi, (%rax)
 sbbq (%rax), %rdi
 
+scasb
+scasw
+scasl
+scasq
+
 shldw %cl, %si, %di
 shrdw %cl, %si, %di
 shldw %cl, %si, (%rax)
@@ -679,6 +712,10 @@ subq %rsi, %rdi
 subq %rsi, (%rax)
 subq (%rax), %rdi
 
+ud2
+
+xlatb
+
 xorb $7, %al
 xorb $7, %dil
 xorb $7, (%rax)
@@ -917,6 +954,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      100   0.25                  U     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.25                  U     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  1      100   0.25                  U     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  1      100   0.25                  U     cpuid
 # CHECK-NEXT:  1      1     0.25                        decb	%dil
 # CHECK-NEXT:  2      5     0.50    *      *            decb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        decw	%di
@@ -967,6 +1005,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      4     1.00    *                   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  2      4     1.00                        imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  2      4     1.00    *                   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  1      100   0.25                  U     inb	$7, %al
+# CHECK-NEXT:  1      100   0.25                  U     inb	%dx, %al
+# CHECK-NEXT:  1      100   0.25                  U     inw	$7, %ax
+# CHECK-NEXT:  1      100   0.25                  U     inw	%dx, %ax
+# CHECK-NEXT:  1      100   0.25                  U     inl	$7, %eax
+# CHECK-NEXT:  1      100   0.25                  U     inl	%dx, %eax
 # CHECK-NEXT:  1      1     0.25                        incb	%dil
 # CHECK-NEXT:  2      5     0.50    *      *            incb	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incw	%di
@@ -975,6 +1019,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            incl	(%rax)
 # CHECK-NEXT:  1      1     0.25                        incq	%rdi
 # CHECK-NEXT:  2      5     0.50    *      *            incq	(%rax)
+# CHECK-NEXT:  1      100   0.25                  U     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.25                  U     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.25                  U     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  1      100   0.25    *      *      U     int	$7
 # CHECK-NEXT:  1      100   0.25                        lahf
 # CHECK-NEXT:  1      100   0.25                  U     lodsb	(%rsi), %al
 # CHECK-NEXT:  1      100   0.25                  U     lodsw	(%rsi), %ax
@@ -1067,6 +1115,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        orq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            orq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   orq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.25                  U     outb	%al, $7
+# CHECK-NEXT:  1      100   0.25                  U     outb	%al, %dx
+# CHECK-NEXT:  1      100   0.25                  U     outw	%ax, $7
+# CHECK-NEXT:  1      100   0.25                  U     outw	%ax, %dx
+# CHECK-NEXT:  1      100   0.25                  U     outl	%eax, $7
+# CHECK-NEXT:  1      100   0.25                  U     outl	%eax, %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsb	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsw	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25                  U     outsl	(%rsi), %dx
+# CHECK-NEXT:  1      100   0.25    *      *      U     pause
 # CHECK-NEXT:  1      1     0.25                        rclb	%dil
 # CHECK-NEXT:  1      1     0.25                        rcrb	%dil
 # CHECK-NEXT:  1      100   0.25           *            rclb	(%rax)
@@ -1266,6 +1324,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        sbbq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            sbbq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   sbbq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.25                  U     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  1      100   0.25                  U     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  1      100   0.25                  U     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  1      100   0.25                  U     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  1      100   0.25                        shldw	%cl, %si, %di
 # CHECK-NEXT:  1      100   0.25                        shrdw	%cl, %si, %di
 # CHECK-NEXT:  1      100   0.25    *      *            shldw	%cl, %si, (%rax)
@@ -1326,6 +1388,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  1      1     0.25                        subq	%rsi, %rdi
 # CHECK-NEXT:  2      5     0.50    *      *            subq	%rsi, (%rax)
 # CHECK-NEXT:  2      5     0.50    *                   subq	(%rax), %rdi
+# CHECK-NEXT:  1      100   0.25    *             U     ud2
+# CHECK-NEXT:  1      100   0.25    *                   xlatb
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %al
 # CHECK-NEXT:  1      1     0.25                        xorb	$7, %dil
 # CHECK-NEXT:  2      5     0.50    *      *            xorb	$7, (%rax)
@@ -1572,6 +1636,7 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     cmpsw	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     cmpsl	%es:(%rdi), (%rsi)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     cmpsq	%es:(%rdi), (%rsi)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     cpuid
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     decb	%dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     decb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     decw	%di
@@ -1622,6 +1687,12 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -     1.00   imulq	$665536, (%rax), %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -     1.00   imulq	$7, %rsi, %rdi
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -     1.00   imulq	$7, (%rax), %rdi
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     inb	$7, %al
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     inb	%dx, %al
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     inw	$7, %ax
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     inw	%dx, %ax
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     inl	$7, %eax
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     inl	%dx, %eax
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     incb	%dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     incb	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     incw	%di
@@ -1630,6 +1701,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     incl	(%rax)
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     incq	%rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     incq	(%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     insb	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     insw	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     insl	%dx, %es:(%rdi)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     int	$7
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     lahf
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     lodsb	(%rsi), %al
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     lodsw	(%rsi), %ax
@@ -1722,6 +1797,16 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     orq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     orq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, $7
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outb	%al, %dx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outw	%ax, $7
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outw	%ax, %dx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outl	%eax, $7
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outl	%eax, %dx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outsb	(%rsi), %dx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outsw	(%rsi), %dx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     outsl	(%rsi), %dx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     pause
 # 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)
@@ -1921,6 +2006,10 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     sbbq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     scasb	%es:(%rdi), %al
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     scasw	%es:(%rdi), %ax
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     scasl	%es:(%rdi), %eax
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     scasq	%es:(%rdi), %rax
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     shldw	%cl, %si, %di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     shrdw	%cl, %si, %di
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     shldw	%cl, %si, (%rax)
@@ -1981,6 +2070,8 @@ xorq (%rax), %rdi
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     subq	%rsi, %rdi
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subq	%rsi, (%rax)
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     subq	(%rax), %rdi
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     ud2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     xlatb
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorb	$7, %al
 # CHECK-NEXT:  -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorb	$7, %dil
 # CHECK-NEXT: 0.50   0.50   0.25   0.25   0.25   0.25    -      -      -      -      -      -     xorb	$7, (%rax)




More information about the llvm-commits mailing list