[mips][ias] Range check uimmz operands.
[oota-llvm.git] / test / MC / Mips / set-at-directive.s
1 # RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | \
2 # RUN: FileCheck %s
3 # Check that the assembler can handle the documented syntax
4 # for ".set at" and set the correct value.
5     .text
6 foo:
7 # CHECK: .set at=$1
8 # CHECK: lui  $1, 1
9 # CHECK: addu $1, $1, $2
10 # CHECK: lw   $2, 0($1)
11     .set    at=$1
12         lw      $2, 65536($2)
13 # CHECK: .set at=$2
14 # CHECK: lui  $2, 1
15 # CHECK: addu $2, $2, $1
16 # CHECK: lw   $1, 0($2)
17     .set    at=$2
18         lw      $1, 65536($1)
19 # CHECK: .set at=$3
20 # CHECK: lui  $3, 1
21 # CHECK: addu $3, $3, $1
22 # CHECK: lw   $1, 0($3)
23     .set    at=$3
24         lw      $1, 65536($1)
25 # CHECK: .set at=$4
26 # CHECK: lui  $4, 1
27 # CHECK: addu $4, $4, $1
28 # CHECK: lw   $1, 0($4)
29     .set    at=$a0
30         lw      $1, 65536($1)
31 # CHECK: .set at=$5
32 # CHECK: lui  $5, 1
33 # CHECK: addu $5, $5, $1
34 # CHECK: lw   $1, 0($5)
35     .set    at=$a1
36         lw      $1, 65536($1)
37 # CHECK: .set at=$6
38 # CHECK: lui  $6, 1
39 # CHECK: addu $6, $6, $1
40 # CHECK: lw   $1, 0($6)
41     .set    at=$a2
42         lw      $1, 65536($1)
43 # CHECK: .set at=$7
44 # CHECK: lui  $7, 1
45 # CHECK: addu $7, $7, $1
46 # CHECK: lw   $1, 0($7)
47     .set    at=$a3
48         lw      $1, 65536($1)
49 # CHECK: .set at=$8
50 # CHECK: lui  $8, 1
51 # CHECK: addu $8, $8, $1
52 # CHECK: lw   $1, 0($8)
53     .set    at=$8
54         lw      $1, 65536($1)
55 # CHECK: .set at=$9
56 # CHECK: lui  $9, 1
57 # CHECK: addu $9, $9, $1
58 # CHECK: lw   $1, 0($9)
59     .set    at=$9
60         lw      $1, 65536($1)
61 # CHECK: .set at=$10
62 # CHECK: lui  $10, 1
63 # CHECK: addu $10, $10, $1
64 # CHECK: lw   $1, 0($10)
65     .set    at=$10
66         lw      $1, 65536($1)
67 # CHECK: .set at=$11
68 # CHECK: lui  $11, 1
69 # CHECK: addu $11, $11, $1
70 # CHECK: lw   $1, 0($11)
71     .set    at=$11
72         lw      $1, 65536($1)
73 # CHECK: .set at=$12
74 # CHECK: lui  $12, 1
75 # CHECK: addu $12, $12, $1
76 # CHECK: lw   $1, 0($12)
77     .set    at=$12
78         lw      $1, 65536($1)
79 # CHECK: .set at=$13
80 # CHECK: lui  $13, 1
81 # CHECK: addu $13, $13, $1
82 # CHECK: lw   $1, 0($13)
83     .set    at=$13
84         lw      $1, 65536($1)
85 # CHECK: .set at=$14
86 # CHECK: lui  $14, 1
87 # CHECK: addu $14, $14, $1
88 # CHECK: lw   $1, 0($14)
89     .set    at=$14
90         lw      $1, 65536($1)
91 # CHECK: .set at=$15
92 # CHECK: lui  $15, 1
93 # CHECK: addu $15, $15, $1
94 # CHECK: lw   $1, 0($15)
95     .set    at=$15
96         lw      $1, 65536($1)
97 # CHECK: .set at=$16
98 # CHECK: lui  $16, 1
99 # CHECK: addu $16, $16, $1
100 # CHECK: lw   $1, 0($16)
101     .set    at=$s0
102         lw      $1, 65536($1)
103 # CHECK: .set at=$17
104 # CHECK: lui  $17, 1
105 # CHECK: addu $17, $17, $1
106 # CHECK: lw   $1, 0($17)
107     .set    at=$s1
108         lw      $1, 65536($1)
109 # CHECK: .set at=$18
110 # CHECK: lui  $18, 1
111 # CHECK: addu $18, $18, $1
112 # CHECK: lw   $1, 0($18)
113     .set    at=$s2
114         lw      $1, 65536($1)
115 # CHECK: .set at=$19
116 # CHECK: lui  $19, 1
117 # CHECK: addu $19, $19, $1
118 # CHECK: lw   $1, 0($19)
119     .set    at=$s3
120         lw      $1, 65536($1)
121 # CHECK: .set at=$20
122 # CHECK: lui  $20, 1
123 # CHECK: addu $20, $20, $1
124 # CHECK: lw   $1, 0($20)
125     .set    at=$s4
126         lw      $1, 65536($1)
127 # CHECK: .set at=$21
128 # CHECK: lui  $21, 1
129 # CHECK: addu $21, $21, $1
130 # CHECK: lw   $1, 0($21)
131     .set    at=$s5
132         lw      $1, 65536($1)
133 # CHECK: .set at=$22
134 # CHECK: lui  $22, 1
135 # CHECK: addu $22, $22, $1
136 # CHECK: lw   $1, 0($22)
137     .set    at=$s6
138         lw      $1, 65536($1)
139 # CHECK: .set at=$23
140 # CHECK: lui  $23, 1
141 # CHECK: addu $23, $23, $1
142 # CHECK: lw   $1, 0($23)
143     .set    at=$s7
144         lw      $1, 65536($1)
145 # CHECK: .set at=$24
146 # CHECK: lui  $24, 1
147 # CHECK: addu $24, $24, $1
148 # CHECK: lw   $1, 0($24)
149     .set    at=$24
150         lw      $1, 65536($1)
151 # CHECK: .set at=$25
152 # CHECK: lui  $25, 1
153 # CHECK: addu $25, $25, $1
154 # CHECK: lw   $1, 0($25)
155     .set    at=$25
156         lw      $1, 65536($1)
157 # CHECK: .set at=$26
158 # CHECK: lui  $26, 1
159 # CHECK: addu $26, $26, $1
160 # CHECK: lw   $1, 0($26)
161     .set    at=$26
162         lw      $1, 65536($1)
163 # CHECK: .set at=$27
164 # CHECK: lui  $27, 1
165 # CHECK: addu $27, $27, $1
166 # CHECK: lw   $1, 0($27)
167     .set    at=$27
168         lw      $1, 65536($1)
169 # CHECK: .set at=$28
170 # CHECK: lui  $gp, 1
171 # CHECK: addu $gp, $gp, $1
172 # CHECK: lw   $1, 0($gp)
173     .set    at=$gp
174         lw      $1, 65536($1)
175 # CHECK: .set at=$30
176 # CHECK: lui  $fp, 1
177 # CHECK: addu $fp, $fp, $1
178 # CHECK: lw   $1, 0($fp)
179     .set    at=$fp
180         lw      $1, 65536($1)
181 # CHECK: .set at=$29
182 # CHECK: lui  $sp, 1
183 # CHECK: addu $sp, $sp, $1
184 # CHECK: lw   $1, 0($sp)
185     .set    at=$sp
186         lw      $1, 65536($1)
187 # CHECK: .set at=$31
188 # CHECK: lui  $ra, 1
189 # CHECK: addu $ra, $ra, $1
190 # CHECK: lw   $1, 0($ra)
191     .set    at=$ra
192         lw      $1, 65536($1)