i386: Check for reserved VEX.vvvv and EVEX.vvvv
[external/binutils.git] / gas / testsuite / gas / i386 / inval.s
1         .text
2         .allow_index_reg
3 # All the following should be illegal
4         mov     (%dx),%al
5         mov     (%eax,%esp,2),%al
6         setae   %eax
7         pushb   %ds
8         popb    %ds
9         pushb   %al
10         popb    %al
11         pushb   %ah
12         popb    %ah
13         pushb   %ax
14         popb    %ax
15         pushb   %eax
16         popb    %eax
17         movb    %ds,%ax
18         movb    %ds,%eax
19         movb    %ax,%ds
20         movb    %eax,%ds
21         movdb   %eax,%mm0
22         movqb   0,%mm0
23         ldsb    0,%eax
24         setnew  0
25         movdw   %eax,%mm0
26         movqw   0,%mm0
27         div     %cx,%al
28         div     %cl,%ax
29         div     %ecx,%al
30         imul    10,%bx,%ecx
31         imul    10,%bx,%al
32         popab
33         stil
34         aaab
35         cwdel
36         cwdw
37         callww  0
38 foo:    jaw     foo
39         jcxzw   foo
40         jecxzl  foo
41         loopb   foo
42         xlatw   %es:%bx
43         xlatl   %es:%bx
44         intl    2
45         int3b
46         hltb
47         fstb    %st(0)
48         fcompll 28(%ebp)
49         fldlw   (%eax)
50         movl    $%ebx,%eax
51         insertq $4,$2,%xmm2,%ebx
52         cvtsi2ssq (%eax),%xmm1
53         cvtsi2sdq (%eax),%xmm1
54         fnstsw %eax
55         fnstsw %al
56         fstsw %eax
57         fstsw %al
58
59 movnti %ax, (%eax)
60 movntiw %ax, (%eax)
61
62         add (%si,%esi), %eax
63         add (%esi,%si), %eax
64         add (%eiz), %eax
65         add (%eax), %eiz
66
67         mov %cr0, %di
68         mov %ax, %cr7
69         mov %cr0, %bh
70         mov %al, %cr7
71
72         .intel_syntax noprefix
73         cvtsi2ss xmm1,QWORD PTR [eax]
74         cvtsi2sd xmm1,QWORD PTR [eax]
75         cvtsi2ssq xmm1,QWORD PTR [eax]
76         cvtsi2sdq xmm1,QWORD PTR [eax]
77         movq xmm1, XMMWORD PTR [esp]
78         movq xmm1, DWORD PTR [esp]
79         movq xmm1, WORD PTR [esp]
80         movq xmm1, BYTE PTR [esp]
81         movq XMMWORD PTR [esp],xmm1
82         movq DWORD PTR [esp],xmm1
83         movq WORD PTR [esp],xmm1
84         movq BYTE PTR [esp],xmm1
85         fnstsw eax
86         fnstsw al
87         fstsw eax
88         fstsw al
89
90 movsx ax, [eax]
91 movsx eax, [eax]
92 movzx ax, [eax]
93 movzx eax, [eax]
94
95 movnti word ptr [eax], ax
96
97         shl [eax], 1
98         rol [ecx], 2
99         rcl [edx], cl
100
101         .att_syntax prefix
102         movsd (%esi), %ss:(%edi), %ss:(%eax)