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