bfd/
[deliverable/binutils-gdb.git] / gas / testsuite / gas / mips / mips64r2-ill.s
CommitLineData
5f74bc13
CD
1# source file to test illegal mips64r2 instructions
2
3 .set noreorder
4 .set noat
5
6 .text
7text_label:
8
9 # dext macro position/size checks
10
11 # constraint: 0 <= pos < 64
12 dext $4, $5, -1, 1 # error (position)
13 dext $4, $5, 0, 1
14 dext $4, $5, 63, 1
15 dext $4, $5, 64, 1 # error (position)
16
17 # constraint: 0 < size <= 64
18 dext $4, $5, 0, 0 # error (size)
19 dext $4, $5, 0, 1
20 dext $4, $5, 0, 64
21 dext $4, $5, 0, 65 # error (size)
22
23 # constraint: 0 < (pos+size) <= 64
24 dext $4, $5, 0, 1
25 dext $4, $5, 0, 2
26 dext $4, $5, 0, 63
27 dext $4, $5, 0, 64
28 dext $4, $5, 1, 1
29 dext $4, $5, 1, 2
30 dext $4, $5, 1, 63
31 dext $4, $5, 1, 64 # error (size)
32 dext $4, $5, 63, 1
33 dext $4, $5, 63, 2 # error (size)
34 dext $4, $5, 63, 63 # error (size)
35 dext $4, $5, 63, 64 # error (size)
36
37 # dextm instruction position/size checks
38
39 # constraint: 0 <= pos < 32
40 dextm $4, $5, -1, 33 # error (position)
41 dextm $4, $5, 0, 33
42 dextm $4, $5, 31, 33
43 dextm $4, $5, 32, 33 # error (position)
44
45 # constraint: 32 < size <= 64
46 dextm $4, $5, 0, 32 # error (size)
47 dextm $4, $5, 0, 33
48 dextm $4, $5, 0, 64
49 dextm $4, $5, 0, 65 # error (size)
50
51 # constraint: 32 < (pos+size) <= 64
52 dextm $4, $5, 0, 33
53 dextm $4, $5, 0, 34
54 dextm $4, $5, 0, 63
55 dextm $4, $5, 0, 64
56 dextm $4, $5, 1, 33
57 dextm $4, $5, 1, 34
58 dextm $4, $5, 1, 63
59 dextm $4, $5, 1, 64 # error (size)
60 dextm $4, $5, 31, 33
61 dextm $4, $5, 31, 34 # error (size)
62 dextm $4, $5, 31, 63 # error (size)
63 dextm $4, $5, 31, 64 # error (size)
64
65 # dextu instruction position/size checks
66
67 # constraint: 32 <= pos < 64
68 dextu $4, $5, 31, 1 # error (position)
69 dextu $4, $5, 32, 1
70 dextu $4, $5, 63, 1
71 dextu $4, $5, 64, 1 # error (position)
72
73 # constraint: 0 < size <= 32
74 dextu $4, $5, 32, 0 # error (size)
75 dextu $4, $5, 32, 1
76 dextu $4, $5, 32, 32
77 dextu $4, $5, 32, 33 # error (size)
78
79 # constraint: 32 < (pos+size) <= 64
80 dextu $4, $5, 32, 1
81 dextu $4, $5, 32, 2
82 dextu $4, $5, 32, 31
83 dextu $4, $5, 32, 32
84 dextu $4, $5, 33, 1
85 dextu $4, $5, 33, 2
86 dextu $4, $5, 33, 31
87 dextu $4, $5, 33, 32 # error (size)
88 dextu $4, $5, 63, 1
89 dextu $4, $5, 63, 2 # error (size)
90 dextu $4, $5, 63, 31 # error (size)
91 dextu $4, $5, 63, 32 # error (size)
92
93 # dins macro position/size checks
94
95 # constraint: 0 <= pos < 64
96 dins $4, $5, -1, 1 # error (position)
97 dins $4, $5, 0, 1
98 dins $4, $5, 63, 1
99 dins $4, $5, 64, 1 # error (position)
100
101 # constraint: 0 < size <= 64
102 dins $4, $5, 0, 0 # error (size)
103 dins $4, $5, 0, 1
104 dins $4, $5, 0, 64
105 dins $4, $5, 0, 65 # error (size)
106
107 # constraint: 0 < (pos+size) <= 64
108 dins $4, $5, 0, 1
109 dins $4, $5, 0, 2
110 dins $4, $5, 0, 63
111 dins $4, $5, 0, 64
112 dins $4, $5, 1, 1
113 dins $4, $5, 1, 2
114 dins $4, $5, 1, 63
115 dins $4, $5, 1, 64 # error (size)
116 dins $4, $5, 63, 1
117 dins $4, $5, 63, 2 # error (size)
118 dins $4, $5, 63, 63 # error (size)
119 dins $4, $5, 63, 64 # error (size)
120
121 # dinsm instruction position/size checks
122
123 # constraint: 0 <= pos < 32
124 dinsm $4, $5, -1, 33 # error (position)
125 dinsm $4, $5, 0, 33
126 dinsm $4, $5, 31, 33
127 dinsm $4, $5, 32, 33 # error (position)
128
129 # constraint: 2 <= size <= 64
130 dinsm $4, $5, 31, 1 # error (size)
131 dinsm $4, $5, 31, 2
132 dinsm $4, $5, 0, 64
133 dinsm $4, $5, 0, 65 # error (size)
134
135 # constraint: 32 < (pos+size) <= 64
136 dinsm $4, $5, 0, 2 # error (size)
137 dinsm $4, $5, 0, 3 # error (size)
138 dinsm $4, $5, 0, 63
139 dinsm $4, $5, 0, 64
140 dinsm $4, $5, 1, 2 # error (size)
141 dinsm $4, $5, 1, 3 # error (size)
142 dinsm $4, $5, 1, 63
143 dinsm $4, $5, 1, 64 # error (size)
144 dinsm $4, $5, 30, 2 # error (size)
145 dinsm $4, $5, 30, 3
146 dinsm $4, $5, 30, 63 # error (size)
147 dinsm $4, $5, 30, 64 # error (size)
148 dinsm $4, $5, 31, 2
149 dinsm $4, $5, 31, 3
150 dinsm $4, $5, 31, 63 # error (size)
151 dinsm $4, $5, 31, 64 # error (size)
152
153 # dinsu instruction position/size checks
154
155 # constraint: 32 <= pos < 64
156 dinsu $4, $5, 31, 1 # error (position)
157 dinsu $4, $5, 32, 1
158 dinsu $4, $5, 63, 1
159 dinsu $4, $5, 64, 1 # error (position)
160
161 # constraint: 1 <= size <= 32
162 dinsu $4, $5, 32, 0 # error (size)
163 dinsu $4, $5, 32, 1
164 dinsu $4, $5, 32, 32
165 dinsu $4, $5, 32, 33 # error (size)
166
167 # constraint: 32 < (pos+size) <= 64
168 dinsu $4, $5, 32, 1
169 dinsu $4, $5, 32, 2
170 dinsu $4, $5, 32, 31
171 dinsu $4, $5, 32, 32
172 dinsu $4, $5, 33, 1
173 dinsu $4, $5, 33, 2
174 dinsu $4, $5, 33, 31
175 dinsu $4, $5, 33, 32 # error (size)
176 dinsu $4, $5, 62, 1
177 dinsu $4, $5, 62, 2
178 dinsu $4, $5, 62, 31 # error (size)
179 dinsu $4, $5, 62, 32 # error (size)
180 dinsu $4, $5, 63, 1
181 dinsu $4, $5, 63, 2 # error (size)
182 dinsu $4, $5, 63, 31 # error (size)
183 dinsu $4, $5, 63, 32 # error (size)
184
185# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
186 .space 8
This page took 0.301696 seconds and 4 git commands to generate.