* elf32-ppc.c (ppc_elf_check_relocs): Set pointer_equality_needed
[binutils.git] / gas / testsuite / gas / mips / mips64r2-ill.s
blobb991b56349d9f6afface1e6fb2393591b345bbc9
1 # source file to test illegal mips64r2 instructions
3 .set noreorder
4 .set noat
6 .text
7 text_label:
9 # dext macro position/size checks
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)
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)
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)
37 # dextm instruction position/size checks
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)
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)
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)
65 # dextu instruction position/size checks
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)
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)
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)
93 # dins macro position/size checks
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)
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)
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)
121 # dinsm instruction position/size checks
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)
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)
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)
153 # dinsu instruction position/size checks
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)
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)
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)
185 # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
186 .space 8