movmskpd %xmm0, %rcx
+movntil %eax, (%rax)
+movntiq %rax, (%rax)
+
movntdq %xmm0, (%rax)
movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 3 3.00 movmskpd %xmm0, %ecx
+# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax)
+# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax)
# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
-# CHECK-NEXT: 866.50 638.50
+# CHECK-NEXT: 868.50 638.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
# CHECK-NEXT: 1.00 - movlpd %xmm0, (%rax)
# CHECK-NEXT: 1.00 - movlpd (%rax), %xmm2
# CHECK-NEXT: 3.00 - movmskpd %xmm0, %ecx
+# CHECK-NEXT: 1.00 - movntil %eax, (%rax)
+# CHECK-NEXT: 1.00 - movntiq %rax, (%rax)
# CHECK-NEXT: 1.00 - movntdq %xmm0, (%rax)
# CHECK-NEXT: 1.00 - movntpd %xmm0, (%rax)
# CHECK-NEXT: 0.50 0.50 movq %xmm0, %xmm2
movmskpd %xmm0, %rcx
+movntil %eax, (%rax)
+movntiq %rax, (%rax)
+
movntdq %xmm0, (%rax)
movntpd %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx
+# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)
+# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 78.00 70.25 95.25 62.00 62.00 12.00 123.75 1.75 4.00
+# CHECK-NEXT: - 78.00 70.25 95.25 62.67 62.67 14.00 123.75 1.75 4.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax)
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2
movmskpd %xmm0, %rcx
+movntil %eax, (%rax)
+movntiq %rax, (%rax)
+
movntdq %xmm0, (%rax)
movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 1 6 1.00 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx
+# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax)
+# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax)
# CHECK-NEXT: 1 2 1.00 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 1 3 1.00 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movq %xmm0, %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 - 45.50 202.50 115.00 133.00 117.00 - 13.00 49.00 65.50 65.50 12.00
+# 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
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movlpd (%rax), %xmm2
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - movmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntil %eax, (%rax)
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movntiq %rax, (%rax)
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntpd %xmm0, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movq %xmm0, %xmm2
movmskpd %xmm0, %rcx
+movntil %eax, (%rax)
+movntiq %rax, (%rax)
+
movntdq %xmm0, (%rax)
movntpd %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 movmskpd %xmm0, %ecx
+# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)
+# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 112.00 70.25 95.25 62.00 62.00 12.00 123.75 1.75 4.00
+# CHECK-NEXT: - 112.00 70.25 95.25 62.67 62.67 14.00 123.75 1.75 4.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax)
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2
movmskpd %xmm0, %rcx
+movntil %eax, (%rax)
+movntiq %rax, (%rax)
+
movntdq %xmm0, (%rax)
movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 1 4 1.00 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 movmskpd %xmm0, %ecx
+# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax)
+# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax)
# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movq %xmm0, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: - 412.00 8.00 150.50 86.50 4.50 4.50 130.00
+# CHECK-NEXT: - 412.00 8.00 150.50 86.50 5.50 5.50 132.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - 1.00 - - - 1.00 movlpd (%rax), %xmm2
# CHECK-NEXT: - - - - 1.00 - - - movmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movntil %eax, (%rax)
+# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movntiq %rax, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 movntpd %xmm0, (%rax)
# CHECK-NEXT: - - - 0.50 0.50 - - - movq %xmm0, %xmm2
movmskpd %xmm0, %rcx
+movntil %eax, (%rax)
+movntiq %rax, (%rax)
+
movntdq %xmm0, (%rax)
movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 2 7 1.00 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx
+# CHECK-NEXT: 1 1 1.00 * movntil %eax, (%rax)
+# CHECK-NEXT: 1 1 1.00 * movntiq %rax, (%rax)
# CHECK-NEXT: 1 1 1.00 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 172.00 75.83 117.33 14.00 98.83 65.00 65.00
+# CHECK-NEXT: - 172.00 75.83 117.33 16.00 98.83 66.00 66.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 movlpd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - movmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntil %eax, (%rax)
+# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntiq %rax, (%rax)
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movntpd %xmm0, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movq %xmm0, %xmm2
movmskpd %xmm0, %rcx
+movntil %eax, (%rax)
+movntiq %rax, (%rax)
+
movntdq %xmm0, (%rax)
movntpd %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx
+# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)
+# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 38.00 110.42 78.42 62.00 62.00 12.00 93.42 1.75 4.00
+# CHECK-NEXT: - 38.00 110.42 78.42 62.67 62.67 14.00 93.42 1.75 4.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax)
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2
movmskpd %xmm0, %rcx
+movntil %eax, (%rax)
+movntiq %rax, (%rax)
+
movntdq %xmm0, (%rax)
movntpd %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskpd %xmm0, %ecx
+# CHECK-NEXT: 2 1 1.00 * movntil %eax, (%rax)
+# CHECK-NEXT: 2 1 1.00 * movntiq %rax, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 2 1 1.00 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.33 movq %xmm0, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 38.00 101.08 69.08 62.00 62.00 12.00 112.08 1.75 4.00
+# CHECK-NEXT: - 38.00 101.08 69.08 62.67 62.67 14.00 112.08 1.75 4.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - movlpd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntil %eax, (%rax)
+# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntiq %rax, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 movntpd %xmm0, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - movq %xmm0, %xmm2
movmskpd %xmm0, %rcx
+movntil %eax, (%rax)
+movntiq %rax, (%rax)
+
movntdq %xmm0, (%rax)
movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.50 * movlpd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movlpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movmskpd %xmm0, %ecx
+# CHECK-NEXT: 1 1 0.50 * movntil %eax, (%rax)
+# CHECK-NEXT: 1 1 0.50 * movntiq %rax, (%rax)
# CHECK-NEXT: 1 1 0.50 * movntdq %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.50 * movntpd %xmm0, (%rax)
# CHECK-NEXT: 1 1 0.25 movq %xmm0, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 64.50 64.50 0.50 0.50 0.50 0.50 - 72.08 39.58 69.25 153.08 -
+# CHECK-NEXT: 65.50 65.50 0.50 0.50 0.50 0.50 - 72.08 39.58 69.25 153.08 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movlpd %xmm0, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movlpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - movmskpd %xmm0, %ecx
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntil %eax, (%rax)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntiq %rax, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntdq %xmm0, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntpd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - movq %xmm0, %xmm2