xref: /llvm-project/llvm/test/MC/X86/apx/shrd-intel.s (revision 5c68c6d70fc204b0efdb2af95dfb328d616129e3)
1# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s
2
3# CHECK: {evex}	shrd	dx, dx, 123
4# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x2c,0xd2,0x7b]
5         {evex}	shrd	dx, dx, 123
6# CHECK: {nf}	shrd	dx, dx, 123
7# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0x2c,0xd2,0x7b]
8         {nf}	shrd	dx, dx, 123
9# CHECK: shrd	dx, dx, dx, 123
10# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0x2c,0xd2,0x7b]
11         shrd	dx, dx, dx, 123
12# CHECK: {nf}	shrd	dx, dx, dx, 123
13# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0x2c,0xd2,0x7b]
14         {nf}	shrd	dx, dx, dx, 123
15# CHECK: {evex}	shrd	word ptr [r8 + 4*rax + 291], dx, 123
16# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x2c,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
17         {evex}	shrd	word ptr [r8 + 4*rax + 291], dx, 123
18# CHECK: {nf}	shrd	word ptr [r8 + 4*rax + 291], dx, 123
19# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0x2c,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
20         {nf}	shrd	word ptr [r8 + 4*rax + 291], dx, 123
21# CHECK: shrd	dx, word ptr [r8 + 4*rax + 291], dx, 123
22# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0x2c,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
23         shrd	dx, word ptr [r8 + 4*rax + 291], dx, 123
24# CHECK: {nf}	shrd	dx, word ptr [r8 + 4*rax + 291], dx, 123
25# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0x2c,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]
26         {nf}	shrd	dx, word ptr [r8 + 4*rax + 291], dx, 123
27# CHECK: {evex}	shrd	ecx, ecx, 123
28# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x2c,0xc9,0x7b]
29         {evex}	shrd	ecx, ecx, 123
30# CHECK: {nf}	shrd	ecx, ecx, 123
31# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0x2c,0xc9,0x7b]
32         {nf}	shrd	ecx, ecx, 123
33# CHECK: shrd	ecx, ecx, ecx, 123
34# CHECK: encoding: [0x62,0xf4,0x74,0x18,0x2c,0xc9,0x7b]
35         shrd	ecx, ecx, ecx, 123
36# CHECK: {nf}	shrd	ecx, ecx, ecx, 123
37# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0x2c,0xc9,0x7b]
38         {nf}	shrd	ecx, ecx, ecx, 123
39# CHECK: {evex}	shrd	dword ptr [r8 + 4*rax + 291], ecx, 123
40# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]
41         {evex}	shrd	dword ptr [r8 + 4*rax + 291], ecx, 123
42# CHECK: {nf}	shrd	dword ptr [r8 + 4*rax + 291], ecx, 123
43# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]
44         {nf}	shrd	dword ptr [r8 + 4*rax + 291], ecx, 123
45# CHECK: shrd	ecx, dword ptr [r8 + 4*rax + 291], ecx, 123
46# CHECK: encoding: [0x62,0xd4,0x74,0x18,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]
47         shrd	ecx, dword ptr [r8 + 4*rax + 291], ecx, 123
48# CHECK: {nf}	shrd	ecx, dword ptr [r8 + 4*rax + 291], ecx, 123
49# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]
50         {nf}	shrd	ecx, dword ptr [r8 + 4*rax + 291], ecx, 123
51# CHECK: {evex}	shrd	r9, r9, 123
52# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x2c,0xc9,0x7b]
53         {evex}	shrd	r9, r9, 123
54# CHECK: {nf}	shrd	r9, r9, 123
55# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0x2c,0xc9,0x7b]
56         {nf}	shrd	r9, r9, 123
57# CHECK: shrd	r9, r9, r9, 123
58# CHECK: encoding: [0x62,0x54,0xb4,0x18,0x2c,0xc9,0x7b]
59         shrd	r9, r9, r9, 123
60# CHECK: {nf}	shrd	r9, r9, r9, 123
61# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0x2c,0xc9,0x7b]
62         {nf}	shrd	r9, r9, r9, 123
63# CHECK: {evex}	shrd	qword ptr [r8 + 4*rax + 291], r9, 123
64# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]
65         {evex}	shrd	qword ptr [r8 + 4*rax + 291], r9, 123
66# CHECK: {nf}	shrd	qword ptr [r8 + 4*rax + 291], r9, 123
67# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]
68         {nf}	shrd	qword ptr [r8 + 4*rax + 291], r9, 123
69# CHECK: shrd	r9, qword ptr [r8 + 4*rax + 291], r9, 123
70# CHECK: encoding: [0x62,0x54,0xb4,0x18,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]
71         shrd	r9, qword ptr [r8 + 4*rax + 291], r9, 123
72# CHECK: {nf}	shrd	r9, qword ptr [r8 + 4*rax + 291], r9, 123
73# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0x2c,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]
74         {nf}	shrd	r9, qword ptr [r8 + 4*rax + 291], r9, 123
75# CHECK: {evex}	shrd	dx, dx, cl
76# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xad,0xd2]
77         {evex}	shrd	dx, dx, cl
78# CHECK: {nf}	shrd	dx, dx, cl
79# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xad,0xd2]
80         {nf}	shrd	dx, dx, cl
81# CHECK: shrd	dx, dx, dx, cl
82# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xad,0xd2]
83         shrd	dx, dx, dx, cl
84# CHECK: {nf}	shrd	dx, dx, dx, cl
85# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0xad,0xd2]
86         {nf}	shrd	dx, dx, dx, cl
87# CHECK: {evex}	shrd	word ptr [r8 + 4*rax + 291], dx, cl
88# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xad,0x94,0x80,0x23,0x01,0x00,0x00]
89         {evex}	shrd	word ptr [r8 + 4*rax + 291], dx, cl
90# CHECK: {nf}	shrd	word ptr [r8 + 4*rax + 291], dx, cl
91# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xad,0x94,0x80,0x23,0x01,0x00,0x00]
92         {nf}	shrd	word ptr [r8 + 4*rax + 291], dx, cl
93# CHECK: shrd	dx, word ptr [r8 + 4*rax + 291], dx, cl
94# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xad,0x94,0x80,0x23,0x01,0x00,0x00]
95         shrd	dx, word ptr [r8 + 4*rax + 291], dx, cl
96# CHECK: {nf}	shrd	dx, word ptr [r8 + 4*rax + 291], dx, cl
97# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xad,0x94,0x80,0x23,0x01,0x00,0x00]
98         {nf}	shrd	dx, word ptr [r8 + 4*rax + 291], dx, cl
99# CHECK: {evex}	shrd	ecx, ecx, cl
100# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xad,0xc9]
101         {evex}	shrd	ecx, ecx, cl
102# CHECK: {nf}	shrd	ecx, ecx, cl
103# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xad,0xc9]
104         {nf}	shrd	ecx, ecx, cl
105# CHECK: shrd	ecx, ecx, ecx, cl
106# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xad,0xc9]
107         shrd	ecx, ecx, ecx, cl
108# CHECK: {nf}	shrd	ecx, ecx, ecx, cl
109# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0xad,0xc9]
110         {nf}	shrd	ecx, ecx, ecx, cl
111# CHECK: {evex}	shrd	dword ptr [r8 + 4*rax + 291], ecx, cl
112# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xad,0x8c,0x80,0x23,0x01,0x00,0x00]
113         {evex}	shrd	dword ptr [r8 + 4*rax + 291], ecx, cl
114# CHECK: {nf}	shrd	dword ptr [r8 + 4*rax + 291], ecx, cl
115# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xad,0x8c,0x80,0x23,0x01,0x00,0x00]
116         {nf}	shrd	dword ptr [r8 + 4*rax + 291], ecx, cl
117# CHECK: shrd	ecx, dword ptr [r8 + 4*rax + 291], ecx, cl
118# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xad,0x8c,0x80,0x23,0x01,0x00,0x00]
119         shrd	ecx, dword ptr [r8 + 4*rax + 291], ecx, cl
120# CHECK: {nf}	shrd	ecx, dword ptr [r8 + 4*rax + 291], ecx, cl
121# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xad,0x8c,0x80,0x23,0x01,0x00,0x00]
122         {nf}	shrd	ecx, dword ptr [r8 + 4*rax + 291], ecx, cl
123# CHECK: {evex}	shrd	r9, r9, cl
124# CHECK: encoding: [0x62,0x54,0xfc,0x08,0xad,0xc9]
125         {evex}	shrd	r9, r9, cl
126# CHECK: {nf}	shrd	r9, r9, cl
127# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0xad,0xc9]
128         {nf}	shrd	r9, r9, cl
129# CHECK: shrd	r9, r9, r9, cl
130# CHECK: encoding: [0x62,0x54,0xb4,0x18,0xad,0xc9]
131         shrd	r9, r9, r9, cl
132# CHECK: {nf}	shrd	r9, r9, r9, cl
133# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0xad,0xc9]
134         {nf}	shrd	r9, r9, r9, cl
135# CHECK: {evex}	shrd	qword ptr [r8 + 4*rax + 291], r9, cl
136# CHECK: encoding: [0x62,0x54,0xfc,0x08,0xad,0x8c,0x80,0x23,0x01,0x00,0x00]
137         {evex}	shrd	qword ptr [r8 + 4*rax + 291], r9, cl
138# CHECK: {nf}	shrd	qword ptr [r8 + 4*rax + 291], r9, cl
139# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0xad,0x8c,0x80,0x23,0x01,0x00,0x00]
140         {nf}	shrd	qword ptr [r8 + 4*rax + 291], r9, cl
141# CHECK: shrd	r9, qword ptr [r8 + 4*rax + 291], r9, cl
142# CHECK: encoding: [0x62,0x54,0xb4,0x18,0xad,0x8c,0x80,0x23,0x01,0x00,0x00]
143         shrd	r9, qword ptr [r8 + 4*rax + 291], r9, cl
144# CHECK: {nf}	shrd	r9, qword ptr [r8 + 4*rax + 291], r9, cl
145# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0xad,0x8c,0x80,0x23,0x01,0x00,0x00]
146         {nf}	shrd	r9, qword ptr [r8 + 4*rax + 291], r9, cl
147