llvm.org GIT mirror llvm / 6df0758
[llvm-mca][x86] Add scalar nt-store instruction tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332262 91177308-0d34-0410-b5e6-96231b3b80d8 Simon Pilgrim 1 year, 5 months ago
9 changed file(s) with 72 addition(s) and 9 deletion(s). Raw diff Collapse all Expand all
126126 movlpd (%rax), %xmm2
127127
128128 movmskpd %xmm0, %rcx
129
130 movntil %eax, (%rax)
131 movntiq %rax, (%rax)
129132
130133 movntdq %xmm0, (%rax)
131134 movntpd %xmm0, (%rax)
484487 # CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)
485488 # CHECK-NEXT: 1 1 1.00 * movlpd (%rax), %xmm2
486489 # CHECK-NEXT: 1 3 3.00 movmskpd %xmm0, %ecx
490 # CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax)
491 # CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax)
487492 # CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax)
488493 # CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax)
489494 # CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2
667672
668673 # CHECK: Resource pressure per iteration:
669674 # CHECK-NEXT: [0] [1]
670 # CHECK-NEXT: 866.50 638.50
675 # CHECK-NEXT: 868.50 638.50
671676
672677 # CHECK: Resource pressure by instruction:
673678 # CHECK-NEXT: [0] [1] Instructions:
757762 # CHECK-NEXT: 1.00 - movlpd %xmm0, (%rax)
758763 # CHECK-NEXT: 1.00 - movlpd (%rax), %xmm2
759764 # CHECK-NEXT: 3.00 - movmskpd %xmm0, %ecx
765 # CHECK-NEXT: 1.00 - movntil %eax, (%rax)
766 # CHECK-NEXT: 1.00 - movntiq %rax, (%rax)
760767 # CHECK-NEXT: 1.00 - movntdq %xmm0, (%rax)
761768 # CHECK-NEXT: 1.00 - movntpd %xmm0, (%rax)
762769 # CHECK-NEXT: 0.50 0.50 movq %xmm0, %xmm2
126126 movlpd (%rax), %xmm2
127127
128128 movmskpd %xmm0, %rcx
129
130 movntil %eax, (%rax)
131 movntiq %rax, (%rax)
129132
130133 movntdq %xmm0, (%rax)
131134 movntpd %xmm0, (%rax)
484487 # CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)
485488 # CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2
486489 # CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx
490 # CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)
491 # CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)
487492 # CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)
488493 # CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax)
489494 # CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
675680
676681 # CHECK: Resource pressure per iteration:
677682 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
678 # CHECK-NEXT: - 78.00 70.25 95.25 62.00 62.00 12.00 123.75 1.75 4.00
683 # CHECK-NEXT: - 78.00 70.25 95.25 62.67 62.67 14.00 123.75 1.75 4.67
679684
680685 # CHECK: Resource pressure by instruction:
681686 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
765770 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax)
766771 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2
767772 # CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
773 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax)
774 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax)
768775 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax)
769776 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax)
770777 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2
126126 movlpd (%rax), %xmm2
127127
128128 movmskpd %xmm0, %rcx
129
130 movntil %eax, (%rax)
131 movntiq %rax, (%rax)
129132
130133 movntdq %xmm0, (%rax)
131134 movntpd %xmm0, (%rax)
484487 # CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)
485488 # CHECK-NEXT: 1 6 1.00 * movlpd (%rax), %xmm2
486489 # CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx
490 # CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax)
491 # CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax)
487492 # CHECK-NEXT: 1 2 1.00 * movntdq %xmm0, (%rax)
488493 # CHECK-NEXT: 1 3 1.00 * movntpd %xmm0, (%rax)
489494 # CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2
679684
680685 # CHECK: Resource pressure per iteration:
681686 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
682 # CHECK-NEXT: 17.00 2.00 - 45.50 202.50 115.00 133.00 117.00 - 13.00 49.00 65.50 65.50 12.00
687 # CHECK-NEXT: 17.00 2.00 - 45.50 202.50 115.00 133.00 117.00 - 15.00 49.00 65.50 65.50 12.00
683688
684689 # CHECK: Resource pressure by instruction:
685690 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
769774 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlpd %xmm0, (%rax)
770775 # CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movlpd (%rax), %xmm2
771776 # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movmskpd %xmm0, %ecx
777 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntil %eax, (%rax)
778 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntiq %rax, (%rax)
772779 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntdq %xmm0, (%rax)
773780 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntpd %xmm0, (%rax)
774781 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movq %xmm0, %xmm2
126126 movlpd (%rax), %xmm2
127127
128128 movmskpd %xmm0, %rcx
129
130 movntil %eax, (%rax)
131 movntiq %rax, (%rax)
129132
130133 movntdq %xmm0, (%rax)
131134 movntpd %xmm0, (%rax)
484487 # CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)
485488 # CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2
486489 # CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx
490 # CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)
491 # CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)
487492 # CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)
488493 # CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax)
489494 # CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
675680
676681 # CHECK: Resource pressure per iteration:
677682 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
678 # CHECK-NEXT: - 112.00 70.25 95.25 62.00 62.00 12.00 123.75 1.75 4.00
683 # CHECK-NEXT: - 112.00 70.25 95.25 62.67 62.67 14.00 123.75 1.75 4.67
679684
680685 # CHECK: Resource pressure by instruction:
681686 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
765770 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax)
766771 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2
767772 # CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
773 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax)
774 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax)
768775 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax)
769776 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax)
770777 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2
126126 movlpd (%rax), %xmm2
127127
128128 movmskpd %xmm0, %rcx
129
130 movntil %eax, (%rax)
131 movntiq %rax, (%rax)
129132
130133 movntdq %xmm0, (%rax)
131134 movntpd %xmm0, (%rax)
484487 # CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)
485488 # CHECK-NEXT: 1 4 1.00 * movlpd (%rax), %xmm2
486489 # CHECK-NEXT: 1 4 1.00 movmskpd %xmm0, %ecx
490 # CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax)
491 # CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax)
487492 # CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax)
488493 # CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax)
489494 # CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2
673678
674679 # CHECK: Resource pressure per iteration:
675680 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
676 # CHECK-NEXT: - 412.00 8.00 150.50 86.50 4.50 4.50 130.00
681 # CHECK-NEXT: - 412.00 8.00 150.50 86.50 5.50 5.50 132.00
677682
678683 # CHECK: Resource pressure by instruction:
679684 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
763768 # CHECK-NEXT: - - - - - 0.50 0.50 1.00 movlpd %xmm0, (%rax)
764769 # CHECK-NEXT: - - - 1.00 - - - 1.00 movlpd (%rax), %xmm2
765770 # CHECK-NEXT: - - - - 1.00 - - - movmskpd %xmm0, %ecx
771 # CHECK-NEXT: - - - - - 0.50 0.50 1.00 movntil %eax, (%rax)
772 # CHECK-NEXT: - - - - - 0.50 0.50 1.00 movntiq %rax, (%rax)
766773 # CHECK-NEXT: - - - - - - - 1.00 movntdq %xmm0, (%rax)
767774 # CHECK-NEXT: - - - - - - - 1.00 movntpd %xmm0, (%rax)
768775 # CHECK-NEXT: - - - 0.50 0.50 - - - movq %xmm0, %xmm2
126126 movlpd (%rax), %xmm2
127127
128128 movmskpd %xmm0, %rcx
129
130 movntil %eax, (%rax)
131 movntiq %rax, (%rax)
129132
130133 movntdq %xmm0, (%rax)
131134 movntpd %xmm0, (%rax)
484487 # CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)
485488 # CHECK-NEXT: 2 7 1.00 * movlpd (%rax), %xmm2
486489 # CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx
490 # CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax)
491 # CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax)
487492 # CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax)
488493 # CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax)
489494 # CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
673678
674679 # CHECK: Resource pressure per iteration:
675680 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
676 # CHECK-NEXT: - 172.00 75.83 117.33 14.00 98.83 65.00 65.00
681 # CHECK-NEXT: - 172.00 75.83 117.33 16.00 98.83 66.00 66.00
677682
678683 # CHECK: Resource pressure by instruction:
679684 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
763768 # CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movlpd %xmm0, (%rax)
764769 # CHECK-NEXT: - - - - - 1.00 0.50 0.50 movlpd (%rax), %xmm2
765770 # CHECK-NEXT: - - 1.00 - - - - - movmskpd %xmm0, %ecx
771 # CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntil %eax, (%rax)
772 # CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntiq %rax, (%rax)
766773 # CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntdq %xmm0, (%rax)
767774 # CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntpd %xmm0, (%rax)
768775 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq %xmm0, %xmm2
126126 movlpd (%rax), %xmm2
127127
128128 movmskpd %xmm0, %rcx
129
130 movntil %eax, (%rax)
131 movntiq %rax, (%rax)
129132
130133 movntdq %xmm0, (%rax)
131134 movntpd %xmm0, (%rax)
484487 # CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)
485488 # CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2
486489 # CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx
490 # CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)
491 # CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)
487492 # CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)
488493 # CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax)
489494 # CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
675680
676681 # CHECK: Resource pressure per iteration:
677682 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
678 # CHECK-NEXT: - 38.00 110.42 78.42 62.00 62.00 12.00 93.42 1.75 4.00
683 # CHECK-NEXT: - 38.00 110.42 78.42 62.67 62.67 14.00 93.42 1.75 4.67
679684
680685 # CHECK: Resource pressure by instruction:
681686 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
765770 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax)
766771 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2
767772 # CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
773 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax)
774 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax)
768775 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax)
769776 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax)
770777 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2
126126 movlpd (%rax), %xmm2
127127
128128 movmskpd %xmm0, %rcx
129
130 movntil %eax, (%rax)
131 movntiq %rax, (%rax)
129132
130133 movntdq %xmm0, (%rax)
131134 movntpd %xmm0, (%rax)
484487 # CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)
485488 # CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2
486489 # CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx
490 # CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)
491 # CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)
487492 # CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)
488493 # CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax)
489494 # CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
675680
676681 # CHECK: Resource pressure per iteration:
677682 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
678 # CHECK-NEXT: - 38.00 101.08 69.08 62.00 62.00 12.00 112.08 1.75 4.00
683 # CHECK-NEXT: - 38.00 101.08 69.08 62.67 62.67 14.00 112.08 1.75 4.67
679684
680685 # CHECK: Resource pressure by instruction:
681686 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
765770 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax)
766771 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2
767772 # CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
773 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax)
774 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax)
768775 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax)
769776 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax)
770777 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2
126126 movlpd (%rax), %xmm2
127127
128128 movmskpd %xmm0, %rcx
129
130 movntil %eax, (%rax)
131 movntiq %rax, (%rax)
129132
130133 movntdq %xmm0, (%rax)
131134 movntpd %xmm0, (%rax)
484487 # CHECK-NEXT: 1 1 0.50 * movlpd %xmm0, (%rax)
485488 # CHECK-NEXT: 1 8 0.50 * movlpd (%rax), %xmm2
486489 # CHECK-NEXT: 1 1 1.00 movmskpd %xmm0, %ecx
490 # CHECK-NEXT: 1 1 0.50 * movntil %eax, (%rax)
491 # CHECK-NEXT: 1 1 0.50 * movntiq %rax, (%rax)
487492 # CHECK-NEXT: 1 1 0.50 * movntdq %xmm0, (%rax)
488493 # CHECK-NEXT: 1 1 0.50 * movntpd %xmm0, (%rax)
489494 # CHECK-NEXT: 1 1 0.25 movq %xmm0, %xmm2
677682
678683 # CHECK: Resource pressure per iteration:
679684 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
680 # CHECK-NEXT: 64.50 64.50 0.50 0.50 0.50 0.50 - 72.08 39.58 69.25 153.08 -
685 # CHECK-NEXT: 65.50 65.50 0.50 0.50 0.50 0.50 - 72.08 39.58 69.25 153.08 -
681686
682687 # CHECK: Resource pressure by instruction:
683688 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
767772 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movlpd %xmm0, (%rax)
768773 # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movlpd (%rax), %xmm2
769774 # CHECK-NEXT: - - - - - - - - - 1.00 - - movmskpd %xmm0, %ecx
775 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntil %eax, (%rax)
776 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntiq %rax, (%rax)
770777 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntdq %xmm0, (%rax)
771778 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntpd %xmm0, (%rax)
772779 # CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movq %xmm0, %xmm2