[llvm] r330335 - [llvm-mca][X86] Add mmx instruction to btver2 resource tests

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 19 08:09:46 PDT 2018


Author: rksimon
Date: Thu Apr 19 08:09:46 2018
New Revision: 330335

URL: http://llvm.org/viewvc/llvm-project?rev=330335&view=rev
Log:
[llvm-mca][X86] Add mmx instruction to btver2 resource tests

Useful to see scheduler class deltas against xmm equivalents

Added:
    llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s
Modified:
    llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
    llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s

Added: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s?rev=330335&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s (added)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s Thu Apr 19 08:09:46 2018
@@ -0,0 +1,400 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s
+
+emms
+
+movd        %eax, %mm2
+movd        (%rax), %mm2
+
+movd        %mm0, %ecx
+movd        %mm0, (%rax)
+
+movq        %rax, %mm2
+movq        (%rax), %mm2
+
+movq        %mm0, %rcx
+movq        %mm0, (%rax)
+
+packsswb    %mm0, %mm2
+packsswb    (%rax), %mm2
+
+packssdw    %mm0, %mm2
+packssdw    (%rax), %mm2
+
+packuswb    %mm0, %mm2
+packuswb    (%rax), %mm2
+
+paddb       %mm0, %mm2
+paddb       (%rax), %mm2
+
+paddd       %mm0, %mm2
+paddd       (%rax), %mm2
+
+paddsb      %mm0, %mm2
+paddsb      (%rax), %mm2
+
+paddsw      %mm0, %mm2
+paddsw      (%rax), %mm2
+
+paddusb     %mm0, %mm2
+paddusb     (%rax), %mm2
+
+paddusw     %mm0, %mm2
+paddusw     (%rax), %mm2
+
+paddw       %mm0, %mm2
+paddw       (%rax), %mm2
+
+pand        %mm0, %mm2
+pand        (%rax), %mm2
+
+pandn       %mm0, %mm2
+pandn       (%rax), %mm2
+
+pcmpeqb     %mm0, %mm2
+pcmpeqb     (%rax), %mm2
+
+pcmpeqd     %mm0, %mm2
+pcmpeqd     (%rax), %mm2
+
+pcmpeqw     %mm0, %mm2
+pcmpeqw     (%rax), %mm2
+
+pcmpgtb     %mm0, %mm2
+pcmpgtb     (%rax), %mm2
+
+pcmpgtd     %mm0, %mm2
+pcmpgtd     (%rax), %mm2
+
+pcmpgtw     %mm0, %mm2
+pcmpgtw     (%rax), %mm2
+
+pmaddwd     %mm0, %mm2
+pmaddwd     (%rax), %mm2
+
+pmulhw      %mm0, %mm2
+pmulhw      (%rax), %mm2
+
+pmullw      %mm0, %mm2
+pmullw      (%rax), %mm2
+
+por         %mm0, %mm2
+por         (%rax), %mm2
+
+pslld       $1, %mm2
+pslld       %mm0, %mm2
+pslld       (%rax), %mm2
+
+psllq       $1, %mm2
+psllq       %mm0, %mm2
+psllq       (%rax), %mm2
+
+psllw       $1, %mm2
+psllw       %mm0, %mm2
+psllw       (%rax), %mm2
+
+psrad       $1, %mm2
+psrad       %mm0, %mm2
+psrad       (%rax), %mm2
+
+psraw       $1, %mm2
+psraw       %mm0, %mm2
+psraw       (%rax), %mm2
+
+psrld       $1, %mm2
+psrld       %mm0, %mm2
+psrld       (%rax), %mm2
+
+psrlq       $1, %mm2
+psrlq       %mm0, %mm2
+psrlq       (%rax), %mm2
+
+psrlw       $1, %mm2
+psrlw       %mm0, %mm2
+psrlw       (%rax), %mm2
+
+psubb       %mm0, %mm2
+psubb       (%rax), %mm2
+
+psubd       %mm0, %mm2
+psubd       (%rax), %mm2
+
+psubsb      %mm0, %mm2
+psubsb      (%rax), %mm2
+
+psubsw      %mm0, %mm2
+psubsw      (%rax), %mm2
+
+psubusb     %mm0, %mm2
+psubusb     (%rax), %mm2
+
+psubusw     %mm0, %mm2
+psubusw     (%rax), %mm2
+
+psubw       %mm0, %mm2
+psubw       (%rax), %mm2
+
+punpckhbw   %mm0, %mm2
+punpckhbw   (%rax), %mm2
+
+punpckhdq   %mm0, %mm2
+punpckhdq   (%rax), %mm2
+
+punpckhwd   %mm0, %mm2
+punpckhwd   (%rax), %mm2
+
+punpcklbw   %mm0, %mm2
+punpcklbw   (%rax), %mm2
+
+punpckldq   %mm0, %mm2
+punpckldq   (%rax), %mm2
+
+punpcklwd   %mm0, %mm2
+punpcklwd   (%rax), %mm2
+
+pxor        %mm0, %mm2
+pxor        (%rax), %mm2
+
+# CHECK:      Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects
+
+# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]	Instructions:
+# CHECK-NEXT:  1      100   0.50    *      *      * 	emms
+# CHECK-NEXT:  1      1     0.50                    	movd	%eax, %mm2
+# CHECK-NEXT:  1      5     1.00    *               	movd	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	movd	%mm0, %ecx
+# CHECK-NEXT:  1      1     1.00           *      * 	movd	%mm0, (%rax)
+# CHECK-NEXT:  1      1     0.50                    	movq	%rax, %mm2
+# CHECK-NEXT:  1      5     1.00    *               	movq	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	movq	%mm0, %rcx
+# CHECK-NEXT:  1      1     1.00           *        	movq	%mm0, (%rax)
+# CHECK-NEXT:  1      1     0.50                    	packsswb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	packsswb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	packssdw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	packssdw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	packuswb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	packuswb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	paddb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	paddb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	paddd	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	paddd	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	paddsb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	paddsb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	paddsw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	paddsw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	paddusb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	paddusb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	paddusw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	paddusw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	paddw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	paddw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pand	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pand	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pandn	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pandn	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pcmpeqb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pcmpeqb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pcmpeqd	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pcmpeqd	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pcmpeqw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pcmpeqw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pcmpgtb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pcmpgtb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pcmpgtd	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pcmpgtd	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pcmpgtw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pcmpgtw	(%rax), %mm2
+# CHECK-NEXT:  1      2     1.00                    	pmaddwd	%mm0, %mm2
+# CHECK-NEXT:  1      7     1.00    *               	pmaddwd	(%rax), %mm2
+# CHECK-NEXT:  1      2     1.00                    	pmulhw	%mm0, %mm2
+# CHECK-NEXT:  1      7     1.00    *               	pmulhw	(%rax), %mm2
+# CHECK-NEXT:  1      2     1.00                    	pmullw	%mm0, %mm2
+# CHECK-NEXT:  1      7     1.00    *               	pmullw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	por	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	por	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pslld	$1, %mm2
+# CHECK-NEXT:  1      1     0.50                    	pslld	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pslld	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psllq	$1, %mm2
+# CHECK-NEXT:  1      1     0.50                    	psllq	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psllq	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psllw	$1, %mm2
+# CHECK-NEXT:  1      1     0.50                    	psllw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psllw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psrad	$1, %mm2
+# CHECK-NEXT:  1      1     0.50                    	psrad	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psrad	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psraw	$1, %mm2
+# CHECK-NEXT:  1      1     0.50                    	psraw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psraw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psrld	$1, %mm2
+# CHECK-NEXT:  1      1     0.50                    	psrld	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psrld	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psrlq	$1, %mm2
+# CHECK-NEXT:  1      1     0.50                    	psrlq	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psrlq	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psrlw	$1, %mm2
+# CHECK-NEXT:  1      1     0.50                    	psrlw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psrlw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psubb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psubb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psubd	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psubd	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psubsb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psubsb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psubsw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psubsw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psubusb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psubusb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psubusw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psubusw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	psubw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psubw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	punpckhbw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	punpckhbw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	punpckhdq	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	punpckhdq	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	punpckhwd	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	punpckhwd	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	punpcklbw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	punpcklbw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	punpckldq	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	punpckldq	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	punpcklwd	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	punpcklwd	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pxor	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pxor	(%rax), %mm2
+
+# CHECK:      Resources:
+# CHECK-NEXT: [0] - JALU0
+# CHECK-NEXT: [1] - JALU1
+# CHECK-NEXT: [2] - JDiv
+# CHECK-NEXT: [3] - JFPA
+# CHECK-NEXT: [4] - JFPM
+# CHECK-NEXT: [5] - JFPU0
+# CHECK-NEXT: [6] - JFPU1
+# CHECK-NEXT: [7] - JLAGU
+# CHECK-NEXT: [8] - JMul
+# CHECK-NEXT: [9] - JSAGU
+# CHECK-NEXT: [10] - JSTC
+# CHECK-NEXT: [11] - JVALU0
+# CHECK-NEXT: [12] - JVALU1
+# CHECK-NEXT: [13] - JVIMUL
+
+# CHECK:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
+# CHECK-NEXT: 2.50   2.50    -      -      -     51.00  45.00  46.00   -     2.00    -     45.00  45.00  6.00
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   	Instructions:
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     	emms
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     	movd	%eax, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     	movd	(%rax), %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     	movd	%mm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	movd	%mm0, (%rax)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     	movq	%rax, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     	movq	(%rax), %mm2
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     	movq	%mm0, %rcx
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	movq	%mm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	packsswb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	packsswb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	packssdw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	packssdw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	packuswb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	packuswb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddd	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddsb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddsb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddsw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddsw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddusb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddusb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddusw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddusw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pand	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pand	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pandn	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pandn	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pcmpeqb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pcmpeqb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pcmpeqd	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pcmpeqd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pcmpeqw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pcmpeqw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pcmpgtb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pcmpgtb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pcmpgtd	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pcmpgtd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pcmpgtw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pcmpgtw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     1.00   	pmaddwd	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     1.00   	pmaddwd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     1.00   	pmulhw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     1.00   	pmulhw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     1.00   	pmullw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     1.00   	pmullw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	por	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	por	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pslld	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pslld	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pslld	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psllq	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psllq	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psllq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psllw	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psllw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psllw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psrad	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psrad	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psrad	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psraw	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psraw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psraw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psrld	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psrld	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psrld	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psrlq	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psrlq	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psrlq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psrlw	$1, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psrlw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psrlw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubd	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubsb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubsb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubsw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubsw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubusb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubusb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubusw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubusw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	punpckhbw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	punpckhbw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	punpckhdq	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	punpckhdq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	punpckhwd	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	punpckhwd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	punpcklbw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	punpcklbw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	punpckldq	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	punpckldq	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	punpcklwd	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	punpcklwd	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pxor	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pxor	(%rax), %mm2
+

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s?rev=330335&r1=330334&r2=330335&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s Thu Apr 19 08:09:46 2018
@@ -22,6 +22,12 @@ cmpss       $0, (%rax), %xmm2
 comiss      %xmm0, %xmm1
 comiss      (%rax), %xmm1
 
+cvtpi2ps    %mm0, %xmm2
+cvtpi2ps    (%rax), %xmm2
+
+cvtps2pi    %xmm0, %mm2
+cvtps2pi    (%rax), %mm2
+
 cvtsi2ss    %ecx, %xmm2
 cvtsi2ss    %rcx, %xmm2
 cvtsi2ss    (%rax), %xmm2
@@ -32,6 +38,9 @@ cvtss2si    %xmm0, %rcx
 cvtss2si    (%rax), %ecx
 cvtss2si    (%rax), %rcx
 
+cvttps2pi   %xmm0, %mm2
+cvttps2pi   (%rax), %mm2
+
 cvttss2si   %xmm0, %ecx
 cvttss2si   %xmm0, %rcx
 cvttss2si   (%rax), %ecx
@@ -45,6 +54,8 @@ divss       (%rax), %xmm2
 
 ldmxcsr     (%rax)
 
+maskmovq    %mm0, %mm1
+
 maxps       %xmm0, %xmm2
 maxps       (%rax), %xmm2
 
@@ -73,6 +84,7 @@ movlps      (%rax), %xmm2
 movmskps    %xmm0, %rcx
 
 movntps     %xmm0, (%rax)
+movntq      %mm0, (%rax)
 
 movss       %xmm0, %xmm2
 movss       %xmm0, (%rax)
@@ -91,8 +103,39 @@ mulss       (%rax), %xmm2
 orps        %xmm0, %xmm2
 orps        (%rax), %xmm2
 
-pinsrw      $1, %rax, %xmm1
-pinsrw      $1, (%rax), %xmm1
+pavgb       %mm0, %mm2
+pavgb       (%rax), %mm2
+
+pavgw       %mm0, %mm2
+pavgw       (%rax), %mm2
+
+pextrw      $1, %mm0, %rcx
+
+pinsrw      $1, %rax, %mm2
+pinsrw      $1, (%rax), %mm2
+
+pmaxsw      %mm0, %mm2
+pmaxsw      (%rax), %mm2
+
+pmaxub      %mm0, %mm2
+pmaxub      (%rax), %mm2
+
+pminsw      %mm0, %mm2
+pminsw      (%rax), %mm2
+
+pminub      %mm0, %mm2
+pminub      (%rax), %mm2
+
+pmovmskb    %xmm0, %rcx
+
+pmulhuw     %mm0, %mm2
+pmulhuw     (%rax), %mm2
+
+psadbw      %mm0, %mm2
+psadbw      (%rax), %mm2
+
+pshufw      $1, %mm0, %mm2
+pshufw      $1, (%rax), %mm2
 
 rcpps       %xmm0, %xmm2
 rcpps       (%rax), %xmm2
@@ -106,6 +149,8 @@ rsqrtps     (%rax), %xmm2
 rsqrtss     %xmm0, %xmm2
 rsqrtss     (%rax), %xmm2
 
+sfence
+
 shufps      $1, %xmm0, %xmm2
 shufps      $1, (%rax), %xmm2
 
@@ -158,6 +203,10 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	cmpss	$0, (%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                    	comiss	%xmm0, %xmm1
 # CHECK-NEXT:  1      8     1.00    *               	comiss	(%rax), %xmm1
+# CHECK-NEXT:  1      3     1.00                    	cvtpi2ps	%mm0, %xmm2
+# CHECK-NEXT:  1      8     1.00    *               	cvtpi2ps	(%rax), %xmm2
+# CHECK-NEXT:  1      3     1.00                    	cvtps2pi	%xmm0, %mm2
+# CHECK-NEXT:  1      8     1.00    *               	cvtps2pi	(%rax), %mm2
 # CHECK-NEXT:  2      9     1.00                    	cvtsi2ssl	%ecx, %xmm2
 # CHECK-NEXT:  2      9     1.00                    	cvtsi2ssq	%rcx, %xmm2
 # CHECK-NEXT:  2      14    1.00    *               	cvtsi2ssl	(%rax), %xmm2
@@ -166,6 +215,8 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  2      7     1.00                    	cvtss2si	%xmm0, %rcx
 # CHECK-NEXT:  2      12    1.00    *               	cvtss2si	(%rax), %ecx
 # CHECK-NEXT:  2      12    1.00    *               	cvtss2si	(%rax), %rcx
+# CHECK-NEXT:  1      3     1.00                    	cvttps2pi	%xmm0, %mm2
+# CHECK-NEXT:  1      8     1.00    *               	cvttps2pi	(%rax), %mm2
 # CHECK-NEXT:  2      7     1.00                    	cvttss2si	%xmm0, %ecx
 # CHECK-NEXT:  2      7     1.00                    	cvttss2si	%xmm0, %rcx
 # CHECK-NEXT:  2      12    1.00    *               	cvttss2si	(%rax), %ecx
@@ -175,6 +226,7 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  1      19    19.00                   	divss	%xmm0, %xmm2
 # CHECK-NEXT:  1      24    19.00   *               	divss	(%rax), %xmm2
 # CHECK-NEXT:  1      5     1.00    *      *      * 	ldmxcsr	(%rax)
+# CHECK-NEXT:  1      1     0.50    *      *      * 	maskmovq	%mm0, %mm1
 # CHECK-NEXT:  1      2     1.00                    	maxps	%xmm0, %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	maxps	(%rax), %xmm2
 # CHECK-NEXT:  1      2     1.00                    	maxss	%xmm0, %xmm2
@@ -194,6 +246,7 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	movlps	(%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                    	movmskps	%xmm0, %ecx
 # CHECK-NEXT:  1      3     1.00           *        	movntps	%xmm0, (%rax)
+# CHECK-NEXT:  1      1     1.00    *      *      * 	movntq	%mm0, (%rax)
 # CHECK-NEXT:  1      1     0.50                    	movss	%xmm0, %xmm2
 # CHECK-NEXT:  1      1     1.00           *        	movss	%xmm0, (%rax)
 # CHECK-NEXT:  1      5     1.00    *               	movss	(%rax), %xmm2
@@ -206,8 +259,28 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	mulss	(%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                    	orps	%xmm0, %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	orps	(%rax), %xmm2
-# CHECK-NEXT:  1      1     0.50                    	pinsrw	$1, %eax, %xmm1
-# CHECK-NEXT:  1      6     1.00    *               	pinsrw	$1, (%rax), %xmm1
+# CHECK-NEXT:  1      1     0.50                    	pavgb	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pavgb	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pavgw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pavgw	(%rax), %mm2
+# CHECK-NEXT:  1      3     1.00                    	pextrw	$1, %mm0, %ecx
+# CHECK-NEXT:  1      1     0.50                    	pinsrw	$1, %eax, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pinsrw	$1, (%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pmaxsw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pmaxsw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pmaxub	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pmaxub	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pminsw	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pminsw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pminub	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pminub	(%rax), %mm2
+# CHECK-NEXT:  1      3     1.00                    	pmovmskb	%xmm0, %ecx
+# CHECK-NEXT:  1      2     1.00                    	pmulhuw	%mm0, %mm2
+# CHECK-NEXT:  1      7     1.00    *               	pmulhuw	(%rax), %mm2
+# CHECK-NEXT:  1      2     0.50                    	psadbw	%mm0, %mm2
+# CHECK-NEXT:  1      7     1.00    *               	psadbw	(%rax), %mm2
+# CHECK-NEXT:  1      1     0.50                    	pshufw	$1, %mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	pshufw	$1, (%rax), %mm2
 # CHECK-NEXT:  1      2     1.00                    	rcpps	%xmm0, %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	rcpps	(%rax), %xmm2
 # CHECK-NEXT:  1      2     1.00                    	rcpss	%xmm0, %xmm2
@@ -216,6 +289,7 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	rsqrtps	(%rax), %xmm2
 # CHECK-NEXT:  1      2     1.00                    	rsqrtss	%xmm0, %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	rsqrtss	(%rax), %xmm2
+# CHECK-NEXT:  1      1     1.00    *      *      * 	sfence
 # CHECK-NEXT:  1      1     0.50                    	shufps	$1, %xmm0, %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	shufps	$1, (%rax), %xmm2
 # CHECK-NEXT:  1      21    21.00                   	sqrtps	%xmm0, %xmm2
@@ -254,7 +328,7 @@ xorps       (%rax), %xmm2
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 13.00   -      -     44.50  183.50 37.50  47.50  42.00   -     7.00   15.00  1.00   1.00    -
+# CHECK-NEXT: 15.00   -      -     46.50  183.50 50.00  62.00  54.00   -     9.00   21.00  9.50   9.50   2.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   	Instructions:
@@ -272,6 +346,10 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     	cmpss	$0, (%rax), %xmm2
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     	comiss	%xmm0, %xmm1
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     	comiss	(%rax), %xmm1
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtpi2ps	%mm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtpi2ps	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtps2pi	%xmm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtps2pi	(%rax), %mm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtsi2ssl	%ecx, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtsi2ssq	%rcx, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtsi2ssl	(%rax), %xmm2
@@ -280,6 +358,8 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00    -      -      -     1.00    -      -      -     	cvtss2si	%xmm0, %rcx
 # CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtss2si	(%rax), %ecx
 # CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtss2si	(%rax), %rcx
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvttps2pi	%xmm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvttps2pi	(%rax), %mm2
 # CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00    -      -      -     1.00    -      -      -     	cvttss2si	%xmm0, %ecx
 # CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00    -      -      -     1.00    -      -      -     	cvttss2si	%xmm0, %rcx
 # CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00   1.00    -      -     1.00    -      -      -     	cvttss2si	(%rax), %ecx
@@ -289,6 +369,7 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     	divss	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     	divss	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     	ldmxcsr	(%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	maskmovq	%mm0, %mm1
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     	maxps	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     	maxps	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     	maxss	%xmm0, %xmm2
@@ -308,6 +389,7 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50   1.00    -      -      -      -      -      -     	movlps	(%rax), %xmm2
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     	movmskps	%xmm0, %ecx
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -     1.00   1.00    -      -      -     	movntps	%xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	movntq	%mm0, (%rax)
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -      -     	movss	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	movss	%xmm0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     	movss	(%rax), %xmm2
@@ -320,8 +402,28 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     	mulss	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -      -     	orps	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50   1.00    -      -      -      -      -      -     	orps	(%rax), %xmm2
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pinsrw	$1, %eax, %xmm1
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pinsrw	$1, (%rax), %xmm1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pavgb	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pavgb	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pavgw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pavgw	(%rax), %mm2
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     	pextrw	$1, %mm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pinsrw	$1, %eax, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pinsrw	$1, (%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pmaxsw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pmaxsw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pmaxub	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pmaxub	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pminsw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pminsw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pminub	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pminub	(%rax), %mm2
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     	pmovmskb	%xmm0, %ecx
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     1.00   	pmulhuw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     1.00   	pmulhuw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psadbw	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psadbw	(%rax), %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	pshufw	$1, %mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	pshufw	$1, (%rax), %mm2
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     	rcpps	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     	rcpps	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     	rcpss	%xmm0, %xmm2
@@ -330,6 +432,7 @@ xorps       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     	rsqrtps	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     	rsqrtss	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     	rsqrtss	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	sfence
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -      -     	shufps	$1, %xmm0, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50   1.00    -      -      -      -      -      -     	shufps	$1, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -     21.00   -     1.00    -      -      -      -      -      -      -     	sqrtps	%xmm0, %xmm2

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s?rev=330335&r1=330334&r2=330335&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s Thu Apr 19 08:09:46 2018
@@ -16,6 +16,8 @@ andnpd      (%rax), %xmm2
 andpd       %xmm0, %xmm2
 andpd       (%rax), %xmm2
 
+clflush     (%rax)
+
 cmppd       $0, %xmm0, %xmm2
 cmppd       $0, (%rax), %xmm2
 
@@ -34,9 +36,15 @@ cvtdq2ps    (%rax), %xmm2
 cvtpd2dq    %xmm0, %xmm2
 cvtpd2dq    (%rax), %xmm2
 
+cvtpd2pi    %xmm0, %mm2
+cvtpd2pi    (%rax), %mm2
+
 cvtpd2ps    %xmm0, %xmm2
 cvtpd2ps    (%rax), %xmm2
 
+cvtpi2pd    %mm0, %xmm2
+cvtpi2pd    (%rax), %xmm2
+
 cvtps2dq    %xmm0, %xmm2
 cvtps2dq    (%rax), %xmm2
 
@@ -62,6 +70,9 @@ cvtss2sd    (%rax), %xmm2
 cvttpd2dq   %xmm0, %xmm2
 cvttpd2dq   (%rax), %xmm2
 
+cvttpd2pi   %xmm0, %mm2
+cvttpd2pi   (%rax), %mm2
+
 cvttps2dq   %xmm0, %xmm2
 cvttps2dq   (%rax), %xmm2
 
@@ -76,6 +87,8 @@ divpd       (%rax), %xmm2
 divsd       %xmm0, %xmm2
 divsd       (%rax), %xmm2
 
+lfence
+
 maskmovdqu  %xmm0, %xmm1
 
 maxpd       %xmm0, %xmm2
@@ -108,6 +121,8 @@ movdqu      %xmm0, %xmm2
 movdqu      %xmm0, (%rax)
 movdqu      (%rax), %xmm2
 
+movdq2q     %xmm0, %mm2
+
 movhpd      %xmm0, (%rax)
 movhpd      (%rax), %xmm2
 
@@ -127,6 +142,8 @@ movq        (%rax), %xmm2
 movq        %xmm0, %rcx
 movq        %xmm0, (%rax)
 
+movq2dq     %mm0, %xmm2
+
 movsd       %xmm0, %xmm2
 movsd       %xmm0, (%rax)
 movsd       (%rax), %xmm2
@@ -159,6 +176,9 @@ paddb       (%rax), %xmm2
 paddd       %xmm0, %xmm2
 paddd       (%rax), %xmm2
 
+paddq       %mm0, %mm2
+paddq       (%rax), %mm2
+
 paddq       %xmm0, %xmm2
 paddq       (%rax), %xmm2
 
@@ -235,6 +255,9 @@ pmulhw      (%rax), %xmm2
 pmullw      %xmm0, %xmm2
 pmullw      (%rax), %xmm2
 
+pmuludq     %mm0, %mm2
+pmuludq     (%rax), %mm2
+
 pmuludq     %xmm0, %xmm2
 pmuludq     (%rax), %xmm2
 
@@ -295,6 +318,9 @@ psubb       (%rax), %xmm2
 psubd       %xmm0, %xmm2
 psubd       (%rax), %xmm2
 
+psubq       %mm0, %mm2
+psubq       (%rax), %mm2
+
 psubq       %xmm0, %xmm2
 psubq       (%rax), %xmm2
 
@@ -386,6 +412,7 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	andnpd	(%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                    	andpd	%xmm0, %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	andpd	(%rax), %xmm2
+# CHECK-NEXT:  1      5     1.00    *      *      * 	clflush	(%rax)
 # CHECK-NEXT:  1      2     1.00                    	cmppd	$0, %xmm0, %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	cmppd	$0, (%rax), %xmm2
 # CHECK-NEXT:  1      2     1.00                    	cmpsd	$0, %xmm0, %xmm2
@@ -398,8 +425,12 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  1      8     1.00    *               	cvtdq2ps	(%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                    	cvtpd2dq	%xmm0, %xmm2
 # CHECK-NEXT:  1      8     1.00    *               	cvtpd2dq	(%rax), %xmm2
+# CHECK-NEXT:  1      3     1.00                    	cvtpd2pi	%xmm0, %mm2
+# CHECK-NEXT:  1      8     1.00    *               	cvtpd2pi	(%rax), %mm2
 # CHECK-NEXT:  1      3     1.00                    	cvtpd2ps	%xmm0, %xmm2
 # CHECK-NEXT:  1      8     1.00    *               	cvtpd2ps	(%rax), %xmm2
+# CHECK-NEXT:  1      3     1.00                    	cvtpi2pd	%mm0, %xmm2
+# CHECK-NEXT:  1      8     1.00    *               	cvtpi2pd	(%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                    	cvtps2dq	%xmm0, %xmm2
 # CHECK-NEXT:  1      8     1.00    *               	cvtps2dq	(%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                    	cvtps2pd	%xmm0, %xmm2
@@ -418,6 +449,8 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  2      12    2.00    *               	cvtss2sd	(%rax), %xmm2
 # CHECK-NEXT:  1      3     1.00                    	cvttpd2dq	%xmm0, %xmm2
 # CHECK-NEXT:  1      8     1.00    *               	cvttpd2dq	(%rax), %xmm2
+# CHECK-NEXT:  1      3     1.00                    	cvttpd2pi	%xmm0, %mm2
+# CHECK-NEXT:  1      8     1.00    *               	cvttpd2pi	(%rax), %mm2
 # CHECK-NEXT:  1      3     1.00                    	cvttps2dq	%xmm0, %xmm2
 # CHECK-NEXT:  1      8     1.00    *               	cvttps2dq	(%rax), %xmm2
 # CHECK-NEXT:  2      7     1.00                    	cvttsd2si	%xmm0, %ecx
@@ -428,6 +461,7 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  1      24    19.00   *               	divpd	(%rax), %xmm2
 # CHECK-NEXT:  1      19    19.00                   	divsd	%xmm0, %xmm2
 # CHECK-NEXT:  1      24    19.00   *               	divsd	(%rax), %xmm2
+# CHECK-NEXT:  1      1     1.00    *      *      * 	lfence
 # CHECK-NEXT:  1      1     1.00    *      *      * 	maskmovdqu	%xmm0, %xmm1
 # CHECK-NEXT:  1      2     1.00                    	maxpd	%xmm0, %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	maxpd	(%rax), %xmm2
@@ -450,6 +484,7 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                    	movdqu	%xmm0, %xmm2
 # CHECK-NEXT:  1      1     1.00           *        	movdqu	%xmm0, (%rax)
 # CHECK-NEXT:  1      5     1.00    *               	movdqu	(%rax), %xmm2
+# CHECK-NEXT:  1      1     0.50                    	movdq2q	%xmm0, %mm2
 # CHECK-NEXT:  1      1     1.00           *        	movhpd	%xmm0, (%rax)
 # CHECK-NEXT:  1      6     1.00    *               	movhpd	(%rax), %xmm2
 # CHECK-NEXT:  1      1     1.00           *        	movlpd	%xmm0, (%rax)
@@ -462,6 +497,7 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  1      5     1.00    *               	movq	(%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                    	movq	%xmm0, %rcx
 # CHECK-NEXT:  1      1     1.00           *        	movq	%xmm0, (%rax)
+# CHECK-NEXT:  1      1     0.50                    	movq2dq	%mm0, %xmm2
 # CHECK-NEXT:  1      1     0.50                    	movsd	%xmm0, %xmm2
 # CHECK-NEXT:  1      1     1.00           *        	movsd	%xmm0, (%rax)
 # CHECK-NEXT:  1      5     1.00    *               	movsd	(%rax), %xmm2
@@ -484,6 +520,8 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	paddb	(%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                    	paddd	%xmm0, %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	paddd	(%rax), %xmm2
+# CHECK-NEXT:  1      1     0.50                    	paddq	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	paddq	(%rax), %mm2
 # CHECK-NEXT:  1      1     0.50                    	paddq	%xmm0, %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	paddq	(%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                    	paddsb	%xmm0, %xmm2
@@ -534,6 +572,8 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	pmulhw	(%rax), %xmm2
 # CHECK-NEXT:  1      2     1.00                    	pmullw	%xmm0, %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	pmullw	(%rax), %xmm2
+# CHECK-NEXT:  1      2     1.00                    	pmuludq	%mm0, %mm2
+# CHECK-NEXT:  1      7     1.00    *               	pmuludq	(%rax), %mm2
 # CHECK-NEXT:  1      2     1.00                    	pmuludq	%xmm0, %xmm2
 # CHECK-NEXT:  1      7     1.00    *               	pmuludq	(%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                    	por	%xmm0, %xmm2
@@ -576,6 +616,8 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	psubb	(%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                    	psubd	%xmm0, %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	psubd	(%rax), %xmm2
+# CHECK-NEXT:  1      1     0.50                    	psubq	%mm0, %mm2
+# CHECK-NEXT:  1      6     1.00    *               	psubq	(%rax), %mm2
 # CHECK-NEXT:  1      1     0.50                    	psubq	%xmm0, %xmm2
 # CHECK-NEXT:  1      6     1.00    *               	psubq	(%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                    	psubsb	%xmm0, %xmm2
@@ -643,7 +685,7 @@ xorpd       (%rax), %xmm2
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 17.00  2.00    -     47.50  202.50 112.00 124.00 111.00  -     12.00  43.00  62.50  62.50  10.00
+# CHECK-NEXT: 17.00  2.00    -     47.50  202.50 117.00 133.00 118.00  -     13.00  49.00  65.50  65.50  12.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   	Instructions:
@@ -657,6 +699,7 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50   1.00    -      -      -      -      -      -     	andnpd	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -      -     	andpd	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50   1.00    -      -      -      -      -      -     	andpd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     	clflush	(%rax)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     	cmppd	$0, %xmm0, %xmm2
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     	cmppd	$0, (%rax), %xmm2
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     	cmpsd	$0, %xmm0, %xmm2
@@ -669,8 +712,12 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtdq2ps	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtpd2dq	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtpd2dq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtpd2pi	%xmm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtpd2pi	(%rax), %mm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtpd2ps	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtpd2ps	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtpi2pd	%mm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtpi2pd	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtps2dq	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvtps2dq	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvtps2pd	%xmm0, %xmm2
@@ -689,6 +736,8 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     2.00    -      -      -     	cvtss2sd	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvttpd2dq	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvttpd2dq	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvttpd2pi	%xmm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvttpd2pi	(%rax), %mm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     	cvttps2dq	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00   1.00    -      -     1.00    -      -      -     	cvttps2dq	(%rax), %xmm2
 # CHECK-NEXT: 1.00    -      -     1.00    -      -     1.00    -      -      -     1.00    -      -      -     	cvttsd2si	%xmm0, %ecx
@@ -699,6 +748,7 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     	divpd	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     	divsd	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     	divsd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	lfence
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -     1.00   1.00    -      -      -     	maskmovdqu	%xmm0, %xmm1
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     	maxpd	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     	maxpd	(%rax), %xmm2
@@ -721,6 +771,7 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	movdqu	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -     1.00   1.00    -      -      -     	movdqu	%xmm0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	movdqu	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	movdq2q	%xmm0, %mm2
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	movhpd	%xmm0, (%rax)
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50   1.00    -      -      -      -      -      -     	movhpd	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	movlpd	%xmm0, (%rax)
@@ -733,6 +784,7 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     	movq	(%rax), %xmm2
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     	movq	%xmm0, %rcx
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	movq	%xmm0, (%rax)
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	movq2dq	%mm0, %xmm2
 # CHECK-NEXT:  -      -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -      -     	movsd	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     	movsd	%xmm0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     	movsd	(%rax), %xmm2
@@ -755,6 +807,8 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddb	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddd	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddq	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddq	(%rax), %mm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddq	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	paddq	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	paddsb	%xmm0, %xmm2
@@ -805,6 +859,8 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     1.00   	pmulhw	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     1.00   	pmullw	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     1.00   	pmullw	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     1.00   	pmuludq	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     1.00   	pmuludq	(%rax), %mm2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     1.00   	pmuludq	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00    -      -      -      -      -     1.00   	pmuludq	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	por	%xmm0, %xmm2
@@ -847,6 +903,8 @@ xorpd       (%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubb	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubd	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubd	(%rax), %xmm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubq	%mm0, %mm2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubq	(%rax), %mm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubq	%xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00    -      -      -     0.50   0.50    -     	psubq	(%rax), %xmm2
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -     0.50   0.50    -     	psubsb	%xmm0, %xmm2




More information about the llvm-commits mailing list