vpshuflw $0, %zmm16, %zmm19 {z}{k1}
vpshuflw $0, (%rax), %zmm19 {z}{k1}
+vpslldq $1, %zmm16, %zmm19
+vpslldq $1, (%rax), %zmm19
+
+vpsrldq $1, %zmm16, %zmm19
+vpsrldq $1, (%rax), %zmm19
+
vpsubb %zmm16, %zmm17, %zmm19
vpsubb (%rax), %zmm17, %zmm19
vpsubb %zmm16, %zmm17, %zmm19 {k1}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpslldq $1, (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpsrldq $1, (%rax), %zmm19
# CHECK-NEXT: 1 1 0.50 vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 0.50 vpsubb %zmm16, %zmm17, %zmm19 {%k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 10.67 47.67 - 119.67 39.00 39.00
+# CHECK-NEXT: - - 10.67 47.67 - 123.67 40.00 40.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 vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshuflw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpslldq $1, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpslldq $1, (%rax), %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpsrldq $1, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpsrldq $1, (%rax), %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %zmm16, %zmm17, %zmm19 {%k1}
vpshuflw $0, %ymm16, %ymm19 {z}{k1}
vpshuflw $0, (%rax), %ymm19 {z}{k1}
+vpslldq $1, %xmm16, %xmm19
+vpslldq $1, (%rax), %xmm19
+
+vpslldq $1, %ymm16, %ymm19
+vpslldq $1, (%rax), %ymm19
+
+vpsrldq $1, %xmm16, %xmm19
+vpsrldq $1, (%rax), %xmm19
+
+vpsrldq $1, %ymm16, %ymm19
+vpsrldq $1, (%rax), %ymm19
+
vpsubb %xmm16, %xmm17, %xmm19
vpsubb (%rax), %xmm17, %xmm19
vpsubb %xmm16, %xmm17, %xmm19 {k1}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpslldq $1, %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpslldq $1, (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vpslldq $1, (%rax), %ymm19
+# CHECK-NEXT: 1 1 0.50 vpsrldq $1, %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpsrldq $1, (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vpsrldq $1, (%rax), %ymm19
# CHECK-NEXT: 1 1 0.50 vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpsubb %xmm16, %xmm17, %xmm19 {%k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 13.33 117.33 - 189.33 78.00 78.00
+# CHECK-NEXT: - - 13.33 119.33 - 195.33 80.00 80.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 vpshuflw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpshuflw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshuflw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpslldq $1, %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpslldq $1, (%rax), %xmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpslldq $1, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpslldq $1, (%rax), %ymm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsrldq $1, %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsrldq $1, (%rax), %xmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpsrldq $1, %ymm16, %ymm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpsrldq $1, (%rax), %ymm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %xmm16, %xmm17, %xmm19 {%k1}
vpshuflw $0, %zmm16, %zmm19 {z}{k1}
vpshuflw $0, (%rax), %zmm19 {z}{k1}
+vpslldq $1, %zmm16, %zmm19
+vpslldq $1, (%rax), %zmm19
+
+vpsrldq $1, %zmm16, %zmm19
+vpsrldq $1, (%rax), %zmm19
+
vpsubb %zmm16, %zmm17, %zmm19
vpsubb (%rax), %zmm17, %zmm19
vpsubb %zmm16, %zmm17, %zmm19 {k1}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpslldq $1, (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpsrldq $1, (%rax), %zmm19
# CHECK-NEXT: 1 1 0.33 vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 0.33 vpsubb %zmm16, %zmm17, %zmm19 {%k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 32.50 8.50 39.00 39.00 - 142.50 0.50 - - -
+# CHECK-NEXT: - - 32.50 8.50 40.00 40.00 - 146.50 0.50 - - -
# 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 - 1.00 - - - - vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpshuflw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpslldq $1, %zmm16, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpslldq $1, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsrldq $1, %zmm16, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpsrldq $1, (%rax), %zmm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpsubb %zmm16, %zmm17, %zmm19 {%k1}
vpshuflw $0, %ymm16, %ymm19 {z}{k1}
vpshuflw $0, (%rax), %ymm19 {z}{k1}
+vpslldq $1, %xmm16, %xmm19
+vpslldq $1, (%rax), %xmm19
+
+vpslldq $1, %ymm16, %ymm19
+vpslldq $1, (%rax), %ymm19
+
+vpsrldq $1, %xmm16, %xmm19
+vpsrldq $1, (%rax), %xmm19
+
+vpsrldq $1, %ymm16, %ymm19
+vpsrldq $1, (%rax), %ymm19
+
vpsubb %xmm16, %xmm17, %xmm19
vpsubb (%rax), %xmm17, %xmm19
vpsubb %xmm16, %xmm17, %xmm19 {k1}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %xmm16, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpslldq $1, (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vpslldq $1, (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %xmm16, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpsrldq $1, (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vpsrldq $1, (%rax), %ymm19
# CHECK-NEXT: 1 1 0.33 vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.33 vpsubb %xmm16, %xmm17, %xmm19 {%k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 33.00 29.00 78.00 78.00 - 269.00 1.00 - - -
+# CHECK-NEXT: - - 33.00 29.00 80.00 80.00 - 277.00 1.00 - - -
# 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 - 1.00 - - - - vpshuflw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpshuflw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpshuflw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpslldq $1, %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpslldq $1, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpslldq $1, %ymm16, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpslldq $1, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsrldq $1, %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpsrldq $1, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsrldq $1, %ymm16, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpsrldq $1, (%rax), %ymm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpsubb %xmm16, %xmm17, %xmm19 {%k1}
vpshuflw $0, %zmm16, %zmm19 {z}{k1}
vpshuflw $0, (%rax), %zmm19 {z}{k1}
+vpslldq $1, %zmm16, %zmm19
+vpslldq $1, (%rax), %zmm19
+
+vpsrldq $1, %zmm16, %zmm19
+vpsrldq $1, (%rax), %zmm19
+
vpsubb %zmm16, %zmm17, %zmm19
vpsubb (%rax), %zmm17, %zmm19
vpsubb %zmm16, %zmm17, %zmm19 {k1}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpslldq $1, (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpsrldq $1, (%rax), %zmm19
# CHECK-NEXT: 1 1 0.33 vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 0.33 vpsubb %zmm16, %zmm17, %zmm19 {%k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 32.50 8.50 39.00 39.00 - 142.50 0.50 -
+# CHECK-NEXT: - - 32.50 8.50 40.00 40.00 - 146.50 0.50 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %zmm16, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpslldq $1, (%rax), %zmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %zmm16, %zmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsrldq $1, (%rax), %zmm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %zmm16, %zmm17, %zmm19 {%k1}
vpshuflw $0, %ymm16, %ymm19 {z}{k1}
vpshuflw $0, (%rax), %ymm19 {z}{k1}
+vpslldq $1, %xmm16, %xmm19
+vpslldq $1, (%rax), %xmm19
+
+vpslldq $1, %ymm16, %ymm19
+vpslldq $1, (%rax), %ymm19
+
+vpsrldq $1, %xmm16, %xmm19
+vpsrldq $1, (%rax), %xmm19
+
+vpsrldq $1, %ymm16, %ymm19
+vpsrldq $1, (%rax), %ymm19
+
vpsubb %xmm16, %xmm17, %xmm19
vpsubb (%rax), %xmm17, %xmm19
vpsubb %xmm16, %xmm17, %xmm19 {k1}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %xmm16, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpslldq $1, (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 vpslldq $1, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vpslldq $1, (%rax), %ymm19
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %xmm16, %xmm19
+# CHECK-NEXT: 2 7 1.00 * vpsrldq $1, (%rax), %xmm19
+# CHECK-NEXT: 1 1 1.00 vpsrldq $1, %ymm16, %ymm19
+# CHECK-NEXT: 2 8 1.00 * vpsrldq $1, (%rax), %ymm19
# CHECK-NEXT: 1 1 0.33 vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.33 vpsubb %xmm16, %xmm17, %xmm19 {%k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 33.00 29.00 78.00 78.00 - 269.00 1.00 -
+# CHECK-NEXT: - - 33.00 29.00 80.00 80.00 - 277.00 1.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpshuflw $0, %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpshuflw $0, (%rax), %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpslldq $1, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vpslldq $1, %ymm16, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpslldq $1, (%rax), %ymm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %xmm16, %xmm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsrldq $1, (%rax), %xmm19
+# CHECK-NEXT: - - - - - - - 1.00 - - vpsrldq $1, %ymm16, %ymm19
+# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpsrldq $1, (%rax), %ymm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vpsubb (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpsubb %xmm16, %xmm17, %xmm19 {%k1}