1# frv testcase for cstq $GRk,@($GRi,$GRj),$CCi,$cond 2# mach: frv 3# as(frv): -mcpu=frv 4 5 .include "testutils.inc" 6 7 start 8 9 .global cstq 10cstq: 11 set_spr_immed 0x1b1b,cccr 12 13 set_gr_gr sp,gr22 14 set_mem_limmed 0xbeef,0xdead,sp 15 inc_gr_immed -4,sp 16 set_mem_limmed 0xdead,0xbeef,sp 17 inc_gr_immed -4,sp 18 set_mem_limmed 0xdead,0xdead,sp 19 inc_gr_immed -4,sp 20 set_mem_limmed 0xbeef,0xbeef,sp 21 set_gr_gr sp,gr20 22 set_gr_gr sp,gr21 23 24 set_gr_immed 0,gr7 25 set_gr_limmed 0xbeef,0xdead,gr8 26 set_gr_limmed 0xdead,0xbeef,gr9 27 set_gr_limmed 0xdead,0xdead,gr10 28 set_gr_limmed 0xbeef,0xbeef,gr11 29 cstq gr8,@(sp,gr7),cc0,1 30 test_mem_limmed 0xbeef,0xdead,gr21 31 inc_gr_immed 4,gr21 32 test_mem_limmed 0xdead,0xbeef,gr21 33 inc_gr_immed 4,gr21 34 test_mem_limmed 0xdead,0xdead,gr21 35 inc_gr_immed 4,gr21 36 test_mem_limmed 0xbeef,0xbeef,gr21 37 38 set_gr_gr gr20,gr21 39 inc_gr_immed -16,sp 40 set_gr_immed 16,gr7 41 set_gr_limmed 0xaaaa,0xaaaa,gr8 42 set_gr_limmed 0xbbbb,0xbbbb,gr9 43 set_gr_limmed 0xcccc,0xcccc,gr10 44 set_gr_limmed 0xdddd,0xdddd,gr11 45 cstq gr8,@(sp,gr7),cc0,1 46 test_mem_limmed 0xaaaa,0xaaaa,gr21 47 inc_gr_immed 4,gr21 48 test_mem_limmed 0xbbbb,0xbbbb,gr21 49 inc_gr_immed 4,gr21 50 test_mem_limmed 0xcccc,0xcccc,gr21 51 inc_gr_immed 4,gr21 52 test_mem_limmed 0xdddd,0xdddd,gr21 53 54 set_gr_gr gr20,gr21 55 inc_gr_immed 32,sp 56 set_gr_immed -16,gr7 57 set_gr_limmed 0x1111,0x1111,gr8 58 set_gr_limmed 0x2222,0x2222,gr9 59 set_gr_limmed 0x3333,0x3333,gr10 60 set_gr_limmed 0x4444,0x4444,gr11 61 cstq gr8,@(sp,gr7),cc4,1 62 test_mem_limmed 0x1111,0x1111,gr21 63 inc_gr_immed 4,gr21 64 test_mem_limmed 0x2222,0x2222,gr21 65 inc_gr_immed 4,gr21 66 test_mem_limmed 0x3333,0x3333,gr21 67 inc_gr_immed 4,gr21 68 test_mem_limmed 0x4444,0x4444,gr21 69 70 set_gr_gr gr22,sp 71 set_mem_limmed 0xbeef,0xdead,sp 72 inc_gr_immed -4,sp 73 set_mem_limmed 0xdead,0xbeef,sp 74 inc_gr_immed -4,sp 75 set_mem_limmed 0xdead,0xdead,sp 76 inc_gr_immed -4,sp 77 set_mem_limmed 0xbeef,0xbeef,sp 78 set_gr_gr sp,gr20 79 set_gr_gr sp,gr21 80 81 set_gr_immed 0,gr7 82 set_gr_limmed 0xbeef,0xdead,gr8 83 set_gr_limmed 0xdead,0xbeef,gr9 84 set_gr_limmed 0xdead,0xdead,gr10 85 set_gr_limmed 0xbeef,0xbeef,gr11 86 cstq gr8,@(sp,gr7),cc0,0 87 test_mem_limmed 0xbeef,0xbeef,gr21 88 inc_gr_immed 4,gr21 89 test_mem_limmed 0xdead,0xdead,gr21 90 inc_gr_immed 4,gr21 91 test_mem_limmed 0xdead,0xbeef,gr21 92 inc_gr_immed 4,gr21 93 test_mem_limmed 0xbeef,0xdead,gr21 94 95 set_gr_gr gr20,gr21 96 inc_gr_immed -16,sp 97 set_gr_immed 16,gr7 98 set_gr_limmed 0xaaaa,0xaaaa,gr8 99 set_gr_limmed 0xbbbb,0xbbbb,gr9 100 set_gr_limmed 0xcccc,0xcccc,gr10 101 set_gr_limmed 0xdddd,0xdddd,gr11 102 cstq gr8,@(sp,gr7),cc0,0 103 test_mem_limmed 0xbeef,0xbeef,gr21 104 inc_gr_immed 4,gr21 105 test_mem_limmed 0xdead,0xdead,gr21 106 inc_gr_immed 4,gr21 107 test_mem_limmed 0xdead,0xbeef,gr21 108 inc_gr_immed 4,gr21 109 test_mem_limmed 0xbeef,0xdead,gr21 110 111 set_gr_gr gr20,gr21 112 inc_gr_immed 32,sp 113 set_gr_immed -16,gr7 114 set_gr_limmed 0x1111,0x1111,gr8 115 set_gr_limmed 0x2222,0x2222,gr9 116 set_gr_limmed 0x3333,0x3333,gr10 117 set_gr_limmed 0x4444,0x4444,gr11 118 cstq gr8,@(sp,gr7),cc4,0 119 test_mem_limmed 0xbeef,0xbeef,gr21 120 inc_gr_immed 4,gr21 121 test_mem_limmed 0xdead,0xdead,gr21 122 inc_gr_immed 4,gr21 123 test_mem_limmed 0xdead,0xbeef,gr21 124 inc_gr_immed 4,gr21 125 test_mem_limmed 0xbeef,0xdead,gr21 126 127 set_gr_gr gr22,sp 128 set_mem_limmed 0xbeef,0xdead,sp 129 inc_gr_immed -4,sp 130 set_mem_limmed 0xdead,0xbeef,sp 131 inc_gr_immed -4,sp 132 set_mem_limmed 0xdead,0xdead,sp 133 inc_gr_immed -4,sp 134 set_mem_limmed 0xbeef,0xbeef,sp 135 set_gr_gr sp,gr20 136 set_gr_gr sp,gr21 137 138 set_gr_immed 0,gr7 139 set_gr_limmed 0xbeef,0xdead,gr8 140 set_gr_limmed 0xdead,0xbeef,gr9 141 set_gr_limmed 0xdead,0xdead,gr10 142 set_gr_limmed 0xbeef,0xbeef,gr11 143 cstq gr8,@(sp,gr7),cc1,0 144 test_mem_limmed 0xbeef,0xdead,gr21 145 inc_gr_immed 4,gr21 146 test_mem_limmed 0xdead,0xbeef,gr21 147 inc_gr_immed 4,gr21 148 test_mem_limmed 0xdead,0xdead,gr21 149 inc_gr_immed 4,gr21 150 test_mem_limmed 0xbeef,0xbeef,gr21 151 152 set_gr_gr gr20,gr21 153 inc_gr_immed -16,sp 154 set_gr_immed 16,gr7 155 set_gr_limmed 0xaaaa,0xaaaa,gr8 156 set_gr_limmed 0xbbbb,0xbbbb,gr9 157 set_gr_limmed 0xcccc,0xcccc,gr10 158 set_gr_limmed 0xdddd,0xdddd,gr11 159 cstq gr8,@(sp,gr7),cc1,0 160 test_mem_limmed 0xaaaa,0xaaaa,gr21 161 inc_gr_immed 4,gr21 162 test_mem_limmed 0xbbbb,0xbbbb,gr21 163 inc_gr_immed 4,gr21 164 test_mem_limmed 0xcccc,0xcccc,gr21 165 inc_gr_immed 4,gr21 166 test_mem_limmed 0xdddd,0xdddd,gr21 167 168 set_gr_gr gr20,gr21 169 inc_gr_immed 32,sp 170 set_gr_immed -16,gr7 171 set_gr_limmed 0x1111,0x1111,gr8 172 set_gr_limmed 0x2222,0x2222,gr9 173 set_gr_limmed 0x3333,0x3333,gr10 174 set_gr_limmed 0x4444,0x4444,gr11 175 cstq gr8,@(sp,gr7),cc5,0 176 test_mem_limmed 0x1111,0x1111,gr21 177 inc_gr_immed 4,gr21 178 test_mem_limmed 0x2222,0x2222,gr21 179 inc_gr_immed 4,gr21 180 test_mem_limmed 0x3333,0x3333,gr21 181 inc_gr_immed 4,gr21 182 test_mem_limmed 0x4444,0x4444,gr21 183 184 set_gr_gr gr22,sp 185 set_mem_limmed 0xbeef,0xdead,sp 186 inc_gr_immed -4,sp 187 set_mem_limmed 0xdead,0xbeef,sp 188 inc_gr_immed -4,sp 189 set_mem_limmed 0xdead,0xdead,sp 190 inc_gr_immed -4,sp 191 set_mem_limmed 0xbeef,0xbeef,sp 192 set_gr_gr sp,gr20 193 set_gr_gr sp,gr21 194 195 set_gr_immed 0,gr7 196 set_gr_limmed 0xbeef,0xdead,gr8 197 set_gr_limmed 0xdead,0xbeef,gr9 198 set_gr_limmed 0xdead,0xdead,gr10 199 set_gr_limmed 0xbeef,0xbeef,gr11 200 cstq gr8,@(sp,gr7),cc1,1 201 test_mem_limmed 0xbeef,0xbeef,gr21 202 inc_gr_immed 4,gr21 203 test_mem_limmed 0xdead,0xdead,gr21 204 inc_gr_immed 4,gr21 205 test_mem_limmed 0xdead,0xbeef,gr21 206 inc_gr_immed 4,gr21 207 test_mem_limmed 0xbeef,0xdead,gr21 208 209 set_gr_gr gr20,gr21 210 inc_gr_immed -16,sp 211 set_gr_immed 16,gr7 212 set_gr_limmed 0xaaaa,0xaaaa,gr8 213 set_gr_limmed 0xbbbb,0xbbbb,gr9 214 set_gr_limmed 0xcccc,0xcccc,gr10 215 set_gr_limmed 0xdddd,0xdddd,gr11 216 cstq gr8,@(sp,gr7),cc1,1 217 test_mem_limmed 0xbeef,0xbeef,gr21 218 inc_gr_immed 4,gr21 219 test_mem_limmed 0xdead,0xdead,gr21 220 inc_gr_immed 4,gr21 221 test_mem_limmed 0xdead,0xbeef,gr21 222 inc_gr_immed 4,gr21 223 test_mem_limmed 0xbeef,0xdead,gr21 224 225 set_gr_gr gr20,gr21 226 inc_gr_immed 32,sp 227 set_gr_immed -16,gr7 228 set_gr_limmed 0x1111,0x1111,gr8 229 set_gr_limmed 0x2222,0x2222,gr9 230 set_gr_limmed 0x3333,0x3333,gr10 231 set_gr_limmed 0x4444,0x4444,gr11 232 cstq gr8,@(sp,gr7),cc5,1 233 test_mem_limmed 0xbeef,0xbeef,gr21 234 inc_gr_immed 4,gr21 235 test_mem_limmed 0xdead,0xdead,gr21 236 inc_gr_immed 4,gr21 237 test_mem_limmed 0xdead,0xbeef,gr21 238 inc_gr_immed 4,gr21 239 test_mem_limmed 0xbeef,0xdead,gr21 240 241 set_gr_gr gr22,sp 242 set_mem_limmed 0xbeef,0xdead,sp 243 inc_gr_immed -4,sp 244 set_mem_limmed 0xdead,0xbeef,sp 245 inc_gr_immed -4,sp 246 set_mem_limmed 0xdead,0xdead,sp 247 inc_gr_immed -4,sp 248 set_mem_limmed 0xbeef,0xbeef,sp 249 set_gr_gr sp,gr20 250 set_gr_gr sp,gr21 251 252 set_gr_immed 0,gr7 253 set_gr_limmed 0xbeef,0xdead,gr8 254 set_gr_limmed 0xdead,0xbeef,gr9 255 set_gr_limmed 0xdead,0xdead,gr10 256 set_gr_limmed 0xbeef,0xbeef,gr11 257 cstq gr8,@(sp,gr7),cc2,0 258 test_mem_limmed 0xbeef,0xbeef,gr21 259 inc_gr_immed 4,gr21 260 test_mem_limmed 0xdead,0xdead,gr21 261 inc_gr_immed 4,gr21 262 test_mem_limmed 0xdead,0xbeef,gr21 263 inc_gr_immed 4,gr21 264 test_mem_limmed 0xbeef,0xdead,gr21 265 266 set_gr_gr gr20,gr21 267 inc_gr_immed -16,sp 268 set_gr_immed 16,gr7 269 set_gr_limmed 0xaaaa,0xaaaa,gr8 270 set_gr_limmed 0xbbbb,0xbbbb,gr9 271 set_gr_limmed 0xcccc,0xcccc,gr10 272 set_gr_limmed 0xdddd,0xdddd,gr11 273 cstq gr8,@(sp,gr7),cc2,1 274 test_mem_limmed 0xbeef,0xbeef,gr21 275 inc_gr_immed 4,gr21 276 test_mem_limmed 0xdead,0xdead,gr21 277 inc_gr_immed 4,gr21 278 test_mem_limmed 0xdead,0xbeef,gr21 279 inc_gr_immed 4,gr21 280 test_mem_limmed 0xbeef,0xdead,gr21 281 282 set_gr_gr gr20,gr21 283 inc_gr_immed 32,sp 284 set_gr_immed -16,gr7 285 set_gr_limmed 0x1111,0x1111,gr8 286 set_gr_limmed 0x2222,0x2222,gr9 287 set_gr_limmed 0x3333,0x3333,gr10 288 set_gr_limmed 0x4444,0x4444,gr11 289 cstq gr8,@(sp,gr7),cc6,0 290 test_mem_limmed 0xbeef,0xbeef,gr21 291 inc_gr_immed 4,gr21 292 test_mem_limmed 0xdead,0xdead,gr21 293 inc_gr_immed 4,gr21 294 test_mem_limmed 0xdead,0xbeef,gr21 295 inc_gr_immed 4,gr21 296 test_mem_limmed 0xbeef,0xdead,gr21 297 298 set_gr_gr gr22,sp 299 set_mem_limmed 0xbeef,0xdead,sp 300 inc_gr_immed -4,sp 301 set_mem_limmed 0xdead,0xbeef,sp 302 inc_gr_immed -4,sp 303 set_mem_limmed 0xdead,0xdead,sp 304 inc_gr_immed -4,sp 305 set_mem_limmed 0xbeef,0xbeef,sp 306 set_gr_gr sp,gr20 307 set_gr_gr sp,gr21 308 309 set_gr_immed 0,gr7 310 set_gr_limmed 0xbeef,0xdead,gr8 311 set_gr_limmed 0xdead,0xbeef,gr9 312 set_gr_limmed 0xdead,0xdead,gr10 313 set_gr_limmed 0xbeef,0xbeef,gr11 314 cstq gr8,@(sp,gr7),cc3,1 315 test_mem_limmed 0xbeef,0xbeef,gr21 316 inc_gr_immed 4,gr21 317 test_mem_limmed 0xdead,0xdead,gr21 318 inc_gr_immed 4,gr21 319 test_mem_limmed 0xdead,0xbeef,gr21 320 inc_gr_immed 4,gr21 321 test_mem_limmed 0xbeef,0xdead,gr21 322 323 set_gr_gr gr20,gr21 324 inc_gr_immed -16,sp 325 set_gr_immed 16,gr7 326 set_gr_limmed 0xaaaa,0xaaaa,gr8 327 set_gr_limmed 0xbbbb,0xbbbb,gr9 328 set_gr_limmed 0xcccc,0xcccc,gr10 329 set_gr_limmed 0xdddd,0xdddd,gr11 330 cstq gr8,@(sp,gr7),cc3,0 331 test_mem_limmed 0xbeef,0xbeef,gr21 332 inc_gr_immed 4,gr21 333 test_mem_limmed 0xdead,0xdead,gr21 334 inc_gr_immed 4,gr21 335 test_mem_limmed 0xdead,0xbeef,gr21 336 inc_gr_immed 4,gr21 337 test_mem_limmed 0xbeef,0xdead,gr21 338 339 set_gr_gr gr20,gr21 340 inc_gr_immed 32,sp 341 set_gr_immed -16,gr7 342 set_gr_limmed 0x1111,0x1111,gr8 343 set_gr_limmed 0x2222,0x2222,gr9 344 set_gr_limmed 0x3333,0x3333,gr10 345 set_gr_limmed 0x4444,0x4444,gr11 346 cstq gr8,@(sp,gr7),cc7,1 347 test_mem_limmed 0xbeef,0xbeef,gr21 348 inc_gr_immed 4,gr21 349 test_mem_limmed 0xdead,0xdead,gr21 350 inc_gr_immed 4,gr21 351 test_mem_limmed 0xdead,0xbeef,gr21 352 inc_gr_immed 4,gr21 353 test_mem_limmed 0xbeef,0xdead,gr21 354 355 pass 356