1200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# RUN: llvm-mc %s -triple=x86_64-unknown-unknown | FileCheck %s
2200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer
3200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramerpalignr $8, %xmm0, %xmm1
4200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm1 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]
5200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramerpalignr $8, (%rax), %xmm1
6200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm1 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]
7200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer
8200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramerpalignr $16, %xmm0, %xmm1
9200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm1 = xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
10200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramerpalignr $16, (%rax), %xmm1
11200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm1 = xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
12200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer
13200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramerpalignr $0, %xmm0, %xmm1
14200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm1 = xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
15200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramerpalignr $0, (%rax), %xmm1
16200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm1 = mem[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
17200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer
18200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramervpalignr $8, %xmm0, %xmm1, %xmm2
19200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm2 = xmm0[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]
20200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramervpalignr $8, (%rax), %xmm1, %xmm2
21200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm2 = mem[8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5,6,7]
22200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer
23200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramervpalignr $16, %xmm0, %xmm1, %xmm2
24200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm2 = xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
25200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramervpalignr $16, (%rax), %xmm1, %xmm2
26200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm2 = xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
27200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer
28200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramervpalignr $0, %xmm0, %xmm1, %xmm2
29200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm2 = xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
30200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramervpalignr $0, (%rax), %xmm1, %xmm2
31200b306f2006533a0e7a0ca75cb3103620e7aa84Benjamin Kramer# CHECK: xmm2 = mem[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
32467016e58d57021b14f2ae562d221f00b07cb254Craig Topper
33467016e58d57021b14f2ae562d221f00b07cb254Craig Toppervpalignr $8, %ymm0, %ymm1, %ymm2
34467016e58d57021b14f2ae562d221f00b07cb254Craig Topper# CHECK: ymm2 = ymm0[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],ymm0[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]
35467016e58d57021b14f2ae562d221f00b07cb254Craig Toppervpalignr $8, (%rax), %ymm1, %ymm2
36467016e58d57021b14f2ae562d221f00b07cb254Craig Topper# CHECK: ymm2 = mem[8,9,10,11,12,13,14,15],ymm1[0,1,2,3,4,5,6,7],mem[24,25,26,27,28,29,30,31],ymm1[16,17,18,19,20,21,22,23]
37467016e58d57021b14f2ae562d221f00b07cb254Craig Topper
38467016e58d57021b14f2ae562d221f00b07cb254Craig Toppervpalignr $16, %ymm0, %ymm1, %ymm2
39467016e58d57021b14f2ae562d221f00b07cb254Craig Topper# CHECK: ymm2 = ymm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
40467016e58d57021b14f2ae562d221f00b07cb254Craig Toppervpalignr $16, (%rax), %ymm1, %ymm2
41467016e58d57021b14f2ae562d221f00b07cb254Craig Topper# CHECK: ymm2 = ymm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
42467016e58d57021b14f2ae562d221f00b07cb254Craig Topper
43467016e58d57021b14f2ae562d221f00b07cb254Craig Toppervpalignr $0, %ymm0, %ymm1, %ymm2
44467016e58d57021b14f2ae562d221f00b07cb254Craig Topper# CHECK: ymm2 = ymm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
45467016e58d57021b14f2ae562d221f00b07cb254Craig Toppervpalignr $0, (%rax), %ymm1, %ymm2
46467016e58d57021b14f2ae562d221f00b07cb254Craig Topper# CHECK: ymm2 = mem[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
47e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
48e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpshufd $27, %xmm0, %xmm1
49e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm0[3,2,1,0]
50e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpshufd $27, (%rax), %xmm1
51e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = mem[3,2,1,0]
52e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
53e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpshufd $27, %xmm0, %xmm1
54e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm0[3,2,1,0]
55e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpshufd $27, (%rax), %xmm1
56e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = mem[3,2,1,0]
57e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
58e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpshufd $27, %ymm0, %ymm1
59e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm1 = ymm0[3,2,1,0,7,6,5,4]
60e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpshufd $27, (%rax), %ymm1
61e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm1 = mem[3,2,1,0,7,6,5,4]
62e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
63e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpcklbw %xmm0, %xmm1
64e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
65e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpcklbw (%rax), %xmm1
66e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],mem[0],xmm1[1],mem[1],xmm1[2],mem[2],xmm1[3],mem[3],xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]
67e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
68e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklbw %xmm0, %xmm1, %xmm2
69e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
70e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklbw (%rax), %xmm1, %xmm2
71e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],mem[0],xmm1[1],mem[1],xmm1[2],mem[2],xmm1[3],mem[3],xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]
72e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
73e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklbw %ymm0, %ymm1, %ymm2
74e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[1],ymm0[1],ymm1[2],ymm0[2],ymm1[3],ymm0[3],ymm1[4],ymm0[4],ymm1[5],ymm0[5],ymm1[6],ymm0[6],ymm1[7],ymm0[7],ymm1[16],ymm0[16],ymm1[17],ymm0[17],ymm1[18],ymm0[18],ymm1[19],ymm0[19],ymm1[20],ymm0[20],ymm1[21],ymm0[21],ymm1[22],ymm0[22],ymm1[23],ymm0[23]
75e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklbw (%rax), %ymm1, %ymm2
76e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[2],mem[2],ymm1[3],mem[3],ymm1[4],mem[4],ymm1[5],mem[5],ymm1[6],mem[6],ymm1[7],mem[7],ymm1[16],mem[16],ymm1[17],mem[17],ymm1[18],mem[18],ymm1[19],mem[19],ymm1[20],mem[20],ymm1[21],mem[21],ymm1[22],mem[22],ymm1[23],mem[23]
77e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
78e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckhbw %xmm0, %xmm1
79e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13],xmm0[13],xmm1[14],xmm0[14],xmm1[15],xmm0[15]
80e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckhbw (%rax), %xmm1
81e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[8],mem[8],xmm1[9],mem[9],xmm1[10],mem[10],xmm1[11],mem[11],xmm1[12],mem[12],xmm1[13],mem[13],xmm1[14],mem[14],xmm1[15],mem[15]
82e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
83e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhbw %xmm0, %xmm1, %xmm2
84e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13],xmm0[13],xmm1[14],xmm0[14],xmm1[15],xmm0[15]
85e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhbw (%rax), %xmm1, %xmm2
86e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[8],mem[8],xmm1[9],mem[9],xmm1[10],mem[10],xmm1[11],mem[11],xmm1[12],mem[12],xmm1[13],mem[13],xmm1[14],mem[14],xmm1[15],mem[15]
87e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
88e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhbw %ymm0, %ymm1, %ymm2
89e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[8],ymm0[8],ymm1[9],ymm0[9],ymm1[10],ymm0[10],ymm1[11],ymm0[11],ymm1[12],ymm0[12],ymm1[13],ymm0[13],ymm1[14],ymm0[14],ymm1[15],ymm0[15],ymm1[24],ymm0[24],ymm1[25],ymm0[25],ymm1[26],ymm0[26],ymm1[27],ymm0[27],ymm1[28],ymm0[28],ymm1[29],ymm0[29],ymm1[30],ymm0[30],ymm1[31],ymm0[31]
90e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhbw (%rax), %ymm1, %ymm2
91e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[8],mem[8],ymm1[9],mem[9],ymm1[10],mem[10],ymm1[11],mem[11],ymm1[12],mem[12],ymm1[13],mem[13],ymm1[14],mem[14],ymm1[15],mem[15],ymm1[24],mem[24],ymm1[25],mem[25],ymm1[26],mem[26],ymm1[27],mem[27],ymm1[28],mem[28],ymm1[29],mem[29],ymm1[30],mem[30],ymm1[31],mem[31]
92e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
93e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpcklwd %xmm0, %xmm1
94e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]
95e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpcklwd (%rax), %xmm1
96e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],mem[0],xmm1[1],mem[1],xmm1[2],mem[2],xmm1[3],mem[3]
97e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
98e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklwd %xmm0, %xmm1, %xmm2
99e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]
100e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklwd (%rax), %xmm1, %xmm2
101e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],mem[0],xmm1[1],mem[1],xmm1[2],mem[2],xmm1[3],mem[3]
102e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
103e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklwd %ymm0, %ymm1, %ymm2
104e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[1],ymm0[1],ymm1[2],ymm0[2],ymm1[3],ymm0[3],ymm1[8],ymm0[8],ymm1[9],ymm0[9],ymm1[10],ymm0[10],ymm1[11],ymm0[11]
105e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklwd (%rax), %ymm1, %ymm2
106e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[2],mem[2],ymm1[3],mem[3],ymm1[8],mem[8],ymm1[9],mem[9],ymm1[10],mem[10],ymm1[11],mem[11]
107e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
108e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckhwd %xmm0, %xmm1
109e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
110e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckhwd (%rax), %xmm1
111e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]
112e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
113e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhwd %xmm0, %xmm1, %xmm2
114e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
115e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhwd (%rax), %xmm1, %xmm2
116e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]
117e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
118e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhwd %ymm0, %ymm1, %ymm2
119e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[4],ymm0[4],ymm1[5],ymm0[5],ymm1[6],ymm0[6],ymm1[7],ymm0[7],ymm1[12],ymm0[12],ymm1[13],ymm0[13],ymm1[14],ymm0[14],ymm1[15],ymm0[15]
120e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhwd (%rax), %ymm1, %ymm2
121e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[4],mem[4],ymm1[5],mem[5],ymm1[6],mem[6],ymm1[7],mem[7],ymm1[12],mem[12],ymm1[13],mem[13],ymm1[14],mem[14],ymm1[15],mem[15]
122e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
123e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckldq %xmm0, %xmm1
124e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
125e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckldq (%rax), %xmm1
126e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
127e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
128e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckldq %xmm0, %xmm1, %xmm2
129e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
130e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckldq (%rax), %xmm1, %xmm2
131e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],mem[0],xmm1[1],mem[1]
132e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
133e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckldq %ymm0, %ymm1, %ymm2
134e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[1],ymm0[1],ymm1[4],ymm0[4],ymm1[5],ymm0[5]
135e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckldq (%rax), %ymm1, %ymm2
136e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[4],mem[4],ymm1[5],mem[5]
137e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
138e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckhdq %xmm0, %xmm1
139e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]
140e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckhdq (%rax), %xmm1
141e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]
142e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
143e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhdq %xmm0, %xmm1, %xmm2
144e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]
145e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhdq (%rax), %xmm1, %xmm2
146e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[2],mem[2],xmm1[3],mem[3]
147e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
148e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhdq %ymm0, %ymm1, %ymm2
149e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[2],ymm0[2],ymm1[3],ymm0[3],ymm1[6],ymm0[6],ymm1[7],ymm0[7]
150e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhdq (%rax), %ymm1, %ymm2
151e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[2],mem[2],ymm1[3],mem[3],ymm1[6],mem[6],ymm1[7],mem[7]
152e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
153e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpcklqdq %xmm0, %xmm1
154e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],xmm0[0]
155e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpcklqdq (%rax), %xmm1
156e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],mem[0]
157e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
158e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklqdq %xmm0, %xmm1, %xmm2
159e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],xmm0[0]
160e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklqdq (%rax), %xmm1, %xmm2
161e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],mem[0]
162e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
163e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklqdq %ymm0, %ymm1, %ymm2
164e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
165e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpcklqdq (%rax), %ymm1, %ymm2
166e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],mem[0],ymm1[2],mem[2]
167e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
168e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckhqdq %xmm0, %xmm1
169e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[1],xmm0[1]
170e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperpunpckhqdq (%rax), %xmm1
171e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[1],mem[1]
172e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
173e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhqdq %xmm0, %xmm1, %xmm2
174e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[1],xmm0[1]
175e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhqdq (%rax), %xmm1, %xmm2
176e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[1],mem[1]
177e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
178e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhqdq %ymm0, %ymm1, %ymm2
179e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]
180e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervpunpckhqdq (%rax), %ymm1, %ymm2
181e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[1],mem[1],ymm1[3],mem[3]
182e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
183e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperunpcklps %xmm0, %xmm1
184e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
185e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperunpcklps (%rax), %xmm1
186e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
187e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
188e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpcklps %xmm0, %xmm1, %xmm2
189e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
190e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpcklps (%rax), %xmm1, %xmm2
191e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],mem[0],xmm1[1],mem[1]
192e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
193e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpcklps %ymm0, %ymm1, %ymm2
194e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[1],ymm0[1],ymm1[4],ymm0[4],ymm1[5],ymm0[5]
195e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpcklps (%rax), %ymm1, %ymm2
196e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],mem[0],ymm1[1],mem[1],ymm1[4],mem[4],ymm1[5],mem[5]
197e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
198e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperunpckhps %xmm0, %xmm1
199e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]
200e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperunpckhps (%rax), %xmm1
201e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]
202e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
203e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpckhps %xmm0, %xmm1, %xmm2
204e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]
205e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpckhps (%rax), %xmm1, %xmm2
206e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[2],mem[2],xmm1[3],mem[3]
207e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
208e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpckhps %ymm0, %ymm1, %ymm2
209e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[2],ymm0[2],ymm1[3],ymm0[3],ymm1[6],ymm0[6],ymm1[7],ymm0[7]
210e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpckhps (%rax), %ymm1, %ymm2
211e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[2],mem[2],ymm1[3],mem[3],ymm1[6],mem[6],ymm1[7],mem[7]
212e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
213e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperunpcklpd %xmm0, %xmm1
214e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],xmm0[0]
215e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperunpcklpd (%rax), %xmm1
216e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[0],mem[0]
217e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
218e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpcklpd %xmm0, %xmm1, %xmm2
219e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],xmm0[0]
220e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpcklpd (%rax), %xmm1, %xmm2
221e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[0],mem[0]
222e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
223e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpcklpd %ymm0, %ymm1, %ymm2
224e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]
225e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpcklpd (%rax), %ymm1, %ymm2
226e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[0],mem[0],ymm1[2],mem[2]
227e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
228e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperunpckhpd %xmm0, %xmm1
229e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[1],xmm0[1]
230e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topperunpckhpd (%rax), %xmm1
231e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[1],mem[1]
232e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
233e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpckhpd %xmm0, %xmm1, %xmm2
234e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[1],xmm0[1]
235e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpckhpd (%rax), %xmm1, %xmm2
236e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[1],mem[1]
237e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
238e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpckhpd %ymm0, %ymm1, %ymm2
239e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]
240e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervunpckhpd (%rax), %ymm1, %ymm2
241e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[1],mem[1],ymm1[3],mem[3]
242e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
243e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppershufps $27, %xmm0, %xmm1
244e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[3,2],xmm0[1,0]
245e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppershufps $27, (%rax), %xmm1
246e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[3,2],mem[1,0]
247e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
248e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervshufps $27, %xmm0, %xmm1, %xmm2
249e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[3,2],xmm0[1,0]
250e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervshufps $27, (%rax), %xmm1, %xmm2
251e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[3,2],mem[1,0]
252e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
253e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervshufps $27, %ymm0, %ymm1, %ymm2
254e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[3,2],ymm0[1,0],ymm1[7,6],ymm0[5,4]
255e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervshufps $27, (%rax), %ymm1, %ymm2
256e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[3,2],mem[1,0],ymm1[7,6],mem[5,4]
257e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
258e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppershufpd $3, %xmm0, %xmm1
259e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[1],xmm0[1]
260e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppershufpd $3, (%rax), %xmm1
261e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm1 = xmm1[1],mem[1]
262e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
263e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervshufpd $3, %xmm0, %xmm1, %xmm2
264e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[1],xmm0[1]
265e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervshufpd $3, (%rax), %xmm1, %xmm2
266e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: xmm2 = xmm1[1],mem[1]
267e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper
268e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervshufpd $11, %ymm0, %ymm1, %ymm2
269e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[1],ymm0[1],ymm1[2],ymm0[3]
270e6482fabd20a2a5b4f81aff55812782f3b617514Craig Toppervshufpd $11, (%rax), %ymm1, %ymm2
271e6482fabd20a2a5b4f81aff55812782f3b617514Craig Topper# CHECK: ymm2 = ymm1[1],mem[1],ymm1[2],mem[3]
272ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
273ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvinsertps $16, %xmm0, %xmm1, %xmm2
274ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK: xmm2 = xmm1[0],xmm0[0],xmm1[2,3]
275ebe69fe11e48d322045d5949c83283927a0d790bStephen Hinesvinsertps $16, (%rax), %xmm1, %xmm2
276ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK: xmm2 = xmm1[0],mem[0],xmm1[2,3]
277