OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.20.1/] [gas/] [testsuite/] [gas/] [mips/] [mips64r2-ill.s] - Blame information for rev 205

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 205 julius
# source file to test illegal mips64r2 instructions
2
 
3
        .set noreorder
4
      .set noat
5
 
6
      .text
7
text_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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.