| 1 | #define GENTABLE 0 |
| 2 | #define EXPANDFULL 0 |
| 3 | |
| 4 | #if GENTABLE |
| 5 | .data 128 |
| 6 | fmt: |
| 7 | # if __WORDSIZE == 32 |
| 8 | .c "%s(%2d, 0x%08x, %2d, 0x%08x, 0x%08x)" |
| 9 | # else |
| 10 | .c "%s(%2d, 0x%016lx, %2d, 0x%016lx, 0x%016lx)" |
| 11 | # endif |
| 12 | opt_start: |
| 13 | .c "\tOPTIONAL(" |
| 14 | opt_end: |
| 15 | .c ")\n" |
| 16 | use_start: |
| 17 | .c "\t" |
| 18 | use_end: |
| 19 | .c "\n" |
| 20 | QLSH: |
| 21 | .c " QLSH" |
| 22 | QLSHU: |
| 23 | .c "QLSHU" |
| 24 | QRSH: |
| 25 | .c " QRSH" |
| 26 | QRSHU: |
| 27 | .c "QRSHU" |
| 28 | #else |
| 29 | #include "qalu.inc" |
| 30 | #endif |
| 31 | |
| 32 | #define QLSH(N, VAL, SH, LO, HI) QALU(N, , qlsh, VAL, SH, LO, HI) |
| 33 | #define QLSHU(N, VAL, SH, LO, HI) QALU(N, _u, qlsh, VAL, SH, LO, HI) |
| 34 | #define QRSH(N, VAL, SH, LO, HI) QALU(N, , qrsh, VAL, SH, LO, HI) |
| 35 | #define QRSHU(N, VAL, SH, LO, HI) QALU(N, _u, qrsh, VAL, SH, LO, HI) |
| 36 | |
| 37 | #if EXPANDFULL |
| 38 | # define OPTIONAL(OPT) OPT |
| 39 | #else |
| 40 | # define OPTIONAL(OPT) /**/ |
| 41 | #endif |
| 42 | |
| 43 | .code |
| 44 | #if GENTABLE |
| 45 | jmpi main |
| 46 | func_qlsh: |
| 47 | prolog |
| 48 | arg $value |
| 49 | arg $shift |
| 50 | getarg %v0 $value |
| 51 | getarg %v1 $shift |
| 52 | allocai $((__WORDSIZE >> 3) * 2) $buf |
| 53 | beqi func_qlsh_zero %v1 0 |
| 54 | beqi func_qlsh_overflow %v1 __WORDSIZE |
| 55 | rsbi %r0 %v1 __WORDSIZE |
| 56 | rshr %r1 %v0 %r0 |
| 57 | lshr %r0 %v0 %v1 |
| 58 | jmpi func_qlsh_done |
| 59 | func_qlsh_overflow: |
| 60 | movr %r1 %v0 |
| 61 | movi %r0 0 |
| 62 | jmpi func_qlsh_done |
| 63 | func_qlsh_zero: |
| 64 | movr %r0 %v0 |
| 65 | rshi %r1 %v0 $(__WORDSIZE - 1) |
| 66 | func_qlsh_done: |
| 67 | stxi $buf %fp %r0 |
| 68 | stxi $($buf + (__WORDSIZE >> 3)) %fp %r1 |
| 69 | beqi func_qlsh_not_optional %v1 0 |
| 70 | beqi func_qlsh_not_optional %v1 1 |
| 71 | beqi func_qlsh_not_optional %v1 $(__WORDSIZE / 2 - 1) |
| 72 | beqi func_qlsh_not_optional %v1 $(__WORDSIZE / 2) |
| 73 | beqi func_qlsh_not_optional %v1 $(__WORDSIZE / 2 + 1) |
| 74 | beqi func_qlsh_not_optional %v1 $(__WORDSIZE - 1) |
| 75 | beqi func_qlsh_not_optional %v1 $(__WORDSIZE) |
| 76 | jmpi func_qlsh_optional |
| 77 | func_qlsh_not_optional: |
| 78 | prepare |
| 79 | pushargi use_start |
| 80 | finishi @printf |
| 81 | movi %v2 0 |
| 82 | jmpi func_qlsh_printf |
| 83 | func_qlsh_optional: |
| 84 | prepare |
| 85 | pushargi opt_start |
| 86 | finishi @printf |
| 87 | movi %v2 1 |
| 88 | func_qlsh_printf: |
| 89 | ldxi %r0 %fp $buf |
| 90 | ldxi %r1 %fp $($buf + (__WORDSIZE >> 3)) |
| 91 | prepare |
| 92 | pushargi fmt |
| 93 | ellipsis |
| 94 | pushargi QLSH |
| 95 | pushargr %v1 |
| 96 | pushargr %v0 |
| 97 | pushargr %v1 |
| 98 | pushargr %r0 |
| 99 | pushargr %r1 |
| 100 | finishi @printf |
| 101 | beqi func_qlsh_not_optional_end %v2 0 |
| 102 | prepare |
| 103 | pushargi opt_end |
| 104 | finishi @printf |
| 105 | jmpi func_qlsh_ret |
| 106 | func_qlsh_not_optional_end: |
| 107 | prepare |
| 108 | pushargi use_end |
| 109 | finishi @printf |
| 110 | func_qlsh_ret: |
| 111 | ret |
| 112 | epilog |
| 113 | |
| 114 | func_qlsh_u: |
| 115 | prolog |
| 116 | arg $value |
| 117 | arg $shift |
| 118 | getarg %v0 $value |
| 119 | getarg %v1 $shift |
| 120 | allocai $((__WORDSIZE >> 3) * 2) $buf |
| 121 | beqi func_qlsh_u_zero %v1 0 |
| 122 | beqi func_qlsh_u_overflow %v1 __WORDSIZE |
| 123 | rsbi %r0 %v1 __WORDSIZE |
| 124 | rshr_u %r1 %v0 %r0 |
| 125 | lshr %r0 %v0 %v1 |
| 126 | jmpi func_qlsh_u_done |
| 127 | func_qlsh_u_overflow: |
| 128 | movr %r1 %v0 |
| 129 | movi %r0 0 |
| 130 | jmpi func_qlsh_u_done |
| 131 | func_qlsh_u_zero: |
| 132 | movr %r0 %v0 |
| 133 | movi %r1 0 |
| 134 | func_qlsh_u_done: |
| 135 | stxi $buf %fp %r0 |
| 136 | stxi $($buf + (__WORDSIZE >> 3)) %fp %r1 |
| 137 | beqi func_qlsh_u_not_optional %v1 0 |
| 138 | beqi func_qlsh_u_not_optional %v1 1 |
| 139 | beqi func_qlsh_u_not_optional %v1 $(__WORDSIZE / 2 - 1) |
| 140 | beqi func_qlsh_u_not_optional %v1 $(__WORDSIZE / 2) |
| 141 | beqi func_qlsh_u_not_optional %v1 $(__WORDSIZE / 2 + 1) |
| 142 | beqi func_qlsh_u_not_optional %v1 $(__WORDSIZE - 1) |
| 143 | beqi func_qlsh_u_not_optional %v1 $(__WORDSIZE) |
| 144 | jmpi func_qlsh_u_optional |
| 145 | func_qlsh_u_not_optional: |
| 146 | prepare |
| 147 | pushargi use_start |
| 148 | finishi @printf |
| 149 | movi %v2 0 |
| 150 | jmpi func_qlsh_u_printf |
| 151 | func_qlsh_u_optional: |
| 152 | prepare |
| 153 | pushargi opt_start |
| 154 | finishi @printf |
| 155 | movi %v2 1 |
| 156 | func_qlsh_u_printf: |
| 157 | ldxi %r0 %fp $buf |
| 158 | ldxi %r1 %fp $($buf + (__WORDSIZE >> 3)) |
| 159 | prepare |
| 160 | pushargi fmt |
| 161 | ellipsis |
| 162 | pushargi QLSHU |
| 163 | pushargr %v1 |
| 164 | pushargr %v0 |
| 165 | pushargr %v1 |
| 166 | pushargr %r0 |
| 167 | pushargr %r1 |
| 168 | finishi @printf |
| 169 | beqi func_qlsh_u_not_optional_end %v2 0 |
| 170 | prepare |
| 171 | pushargi opt_end |
| 172 | finishi @printf |
| 173 | jmpi func_qlsh_u_ret |
| 174 | func_qlsh_u_not_optional_end: |
| 175 | prepare |
| 176 | pushargi use_end |
| 177 | finishi @printf |
| 178 | func_qlsh_u_ret: |
| 179 | ret |
| 180 | epilog |
| 181 | |
| 182 | func_qrsh: |
| 183 | prolog |
| 184 | arg $value |
| 185 | arg $shift |
| 186 | getarg %v0 $value |
| 187 | getarg %v1 $shift |
| 188 | allocai $((__WORDSIZE >> 3) * 2) $buf |
| 189 | beqi func_qrsh_zero %v1 0 |
| 190 | beqi func_qrsh_overflow %v1 __WORDSIZE |
| 191 | rsbi %r0 %v1 __WORDSIZE |
| 192 | lshr %r1 %v0 %r0 |
| 193 | rshr %r0 %v0 %v1 |
| 194 | jmpi func_qrsh_done |
| 195 | func_qrsh_overflow: |
| 196 | movr %r1 %v0 |
| 197 | rshi %r0 %v0 $(__WORDSIZE - 1) |
| 198 | jmpi func_qrsh_done |
| 199 | func_qrsh_zero: |
| 200 | movr %r0 %v0 |
| 201 | rshi %r1 %v0 $(__WORDSIZE - 1) |
| 202 | func_qrsh_done: |
| 203 | stxi $buf %fp %r0 |
| 204 | stxi $($buf + (__WORDSIZE >> 3)) %fp %r1 |
| 205 | beqi func_qrsh_not_optional %v1 0 |
| 206 | beqi func_qrsh_not_optional %v1 1 |
| 207 | beqi func_qrsh_not_optional %v1 $(__WORDSIZE / 2 - 1) |
| 208 | beqi func_qrsh_not_optional %v1 $(__WORDSIZE / 2) |
| 209 | beqi func_qrsh_not_optional %v1 $(__WORDSIZE / 2 + 1) |
| 210 | beqi func_qrsh_not_optional %v1 $(__WORDSIZE - 1) |
| 211 | beqi func_qrsh_not_optional %v1 $(__WORDSIZE) |
| 212 | jmpi func_qrsh_optional |
| 213 | func_qrsh_not_optional: |
| 214 | prepare |
| 215 | pushargi use_start |
| 216 | finishi @printf |
| 217 | movi %v2 0 |
| 218 | jmpi func_qrsh_printf |
| 219 | func_qrsh_optional: |
| 220 | prepare |
| 221 | pushargi opt_start |
| 222 | finishi @printf |
| 223 | movi %v2 1 |
| 224 | func_qrsh_printf: |
| 225 | ldxi %r0 %fp $buf |
| 226 | ldxi %r1 %fp $($buf + (__WORDSIZE >> 3)) |
| 227 | prepare |
| 228 | pushargi fmt |
| 229 | ellipsis |
| 230 | pushargi QRSH |
| 231 | pushargr %v1 |
| 232 | pushargr %v0 |
| 233 | pushargr %v1 |
| 234 | pushargr %r0 |
| 235 | pushargr %r1 |
| 236 | finishi @printf |
| 237 | beqi func_qrsh_not_optional_end %v2 0 |
| 238 | prepare |
| 239 | pushargi opt_end |
| 240 | finishi @printf |
| 241 | jmpi func_qrsh_ret |
| 242 | func_qrsh_not_optional_end: |
| 243 | prepare |
| 244 | pushargi use_end |
| 245 | finishi @printf |
| 246 | func_qrsh_ret: |
| 247 | ret |
| 248 | epilog |
| 249 | |
| 250 | func_qrsh_u: |
| 251 | prolog |
| 252 | arg $value |
| 253 | arg $shift |
| 254 | getarg %v0 $value |
| 255 | getarg %v1 $shift |
| 256 | allocai $((__WORDSIZE >> 3) * 2) $buf |
| 257 | beqi func_qrsh_u_zero %v1 0 |
| 258 | beqi func_qrsh_u_overflow %v1 __WORDSIZE |
| 259 | rsbi %r0 %v1 __WORDSIZE |
| 260 | lshr %r1 %v0 %r0 |
| 261 | rshr_u %r0 %v0 %v1 |
| 262 | jmpi func_qrsh_u_done |
| 263 | func_qrsh_u_overflow: |
| 264 | movr %r1 %v0 |
| 265 | movi %r0 0 |
| 266 | jmpi func_qrsh_u_done |
| 267 | func_qrsh_u_zero: |
| 268 | movr %r0 %v0 |
| 269 | movi %r1 0 |
| 270 | func_qrsh_u_done: |
| 271 | stxi $buf %fp %r0 |
| 272 | stxi $($buf + (__WORDSIZE >> 3)) %fp %r1 |
| 273 | beqi func_qrsh_u_not_optional %v1 0 |
| 274 | beqi func_qrsh_u_not_optional %v1 1 |
| 275 | beqi func_qrsh_u_not_optional %v1 $(__WORDSIZE / 2 - 1) |
| 276 | beqi func_qrsh_u_not_optional %v1 $(__WORDSIZE / 2) |
| 277 | beqi func_qrsh_u_not_optional %v1 $(__WORDSIZE / 2 + 1) |
| 278 | beqi func_qrsh_u_not_optional %v1 $(__WORDSIZE - 1) |
| 279 | beqi func_qrsh_u_not_optional %v1 $(__WORDSIZE) |
| 280 | jmpi func_qrsh_u_optional |
| 281 | func_qrsh_u_not_optional: |
| 282 | prepare |
| 283 | pushargi use_start |
| 284 | finishi @printf |
| 285 | movi %v2 0 |
| 286 | jmpi func_qrsh_u_printf |
| 287 | func_qrsh_u_optional: |
| 288 | prepare |
| 289 | pushargi opt_start |
| 290 | finishi @printf |
| 291 | movi %v2 1 |
| 292 | func_qrsh_u_printf: |
| 293 | ldxi %r0 %fp $buf |
| 294 | ldxi %r1 %fp $($buf + (__WORDSIZE >> 3)) |
| 295 | prepare |
| 296 | pushargi fmt |
| 297 | ellipsis |
| 298 | pushargi QRSHU |
| 299 | pushargr %v1 |
| 300 | pushargr %v0 |
| 301 | pushargr %v1 |
| 302 | pushargr %r0 |
| 303 | pushargr %r1 |
| 304 | finishi @printf |
| 305 | beqi func_qrsh_u_not_optional_end %v2 0 |
| 306 | prepare |
| 307 | pushargi opt_end |
| 308 | finishi @printf |
| 309 | jmpi func_qrsh_u_ret |
| 310 | func_qrsh_u_not_optional_end: |
| 311 | prepare |
| 312 | pushargi use_end |
| 313 | finishi @printf |
| 314 | func_qrsh_u_ret: |
| 315 | epilog |
| 316 | #endif |
| 317 | |
| 318 | name main |
| 319 | main: |
| 320 | prolog |
| 321 | #if GENTABLE |
| 322 | # if __WORDSIZE == 32 |
| 323 | movi %v0 0x89abcdef |
| 324 | # else |
| 325 | movi %v0 0x89abcdef01234567 |
| 326 | # endif |
| 327 | movi %v1 0 |
| 328 | loop: |
| 329 | prepare |
| 330 | pushargr %v0 |
| 331 | pushargr %v1 |
| 332 | finishi func_qlsh |
| 333 | prepare |
| 334 | pushargr %v0 |
| 335 | pushargr %v1 |
| 336 | finishi func_qlsh_u |
| 337 | prepare |
| 338 | pushargr %v0 |
| 339 | pushargr %v1 |
| 340 | finishi func_qrsh |
| 341 | prepare |
| 342 | pushargr %v0 |
| 343 | pushargr %v1 |
| 344 | finishi func_qrsh_u |
| 345 | addi %v1 %v1 1 |
| 346 | blei loop %v1 __WORDSIZE |
| 347 | #else |
| 348 | # if __WORDSIZE == 32 |
| 349 | QLSH( 0, 0x89abcdef, 0, 0x89abcdef, 0xffffffff) |
| 350 | QLSHU( 0, 0x89abcdef, 0, 0x89abcdef, 0x00000000) |
| 351 | QRSH( 0, 0x89abcdef, 0, 0x89abcdef, 0xffffffff) |
| 352 | QRSHU( 0, 0x89abcdef, 0, 0x89abcdef, 0x00000000) |
| 353 | QLSH( 1, 0x89abcdef, 1, 0x13579bde, 0xffffffff) |
| 354 | QLSHU( 1, 0x89abcdef, 1, 0x13579bde, 0x00000001) |
| 355 | QRSH( 1, 0x89abcdef, 1, 0xc4d5e6f7, 0x80000000) |
| 356 | QRSHU( 1, 0x89abcdef, 1, 0x44d5e6f7, 0x80000000) |
| 357 | OPTIONAL( QLSH( 2, 0x89abcdef, 2, 0x26af37bc, 0xfffffffe)) |
| 358 | OPTIONAL(QLSHU( 2, 0x89abcdef, 2, 0x26af37bc, 0x00000002)) |
| 359 | OPTIONAL( QRSH( 2, 0x89abcdef, 2, 0xe26af37b, 0xc0000000)) |
| 360 | OPTIONAL(QRSHU( 2, 0x89abcdef, 2, 0x226af37b, 0xc0000000)) |
| 361 | OPTIONAL( QLSH( 3, 0x89abcdef, 3, 0x4d5e6f78, 0xfffffffc)) |
| 362 | OPTIONAL(QLSHU( 3, 0x89abcdef, 3, 0x4d5e6f78, 0x00000004)) |
| 363 | OPTIONAL( QRSH( 3, 0x89abcdef, 3, 0xf13579bd, 0xe0000000)) |
| 364 | OPTIONAL(QRSHU( 3, 0x89abcdef, 3, 0x113579bd, 0xe0000000)) |
| 365 | OPTIONAL( QLSH( 4, 0x89abcdef, 4, 0x9abcdef0, 0xfffffff8)) |
| 366 | OPTIONAL(QLSHU( 4, 0x89abcdef, 4, 0x9abcdef0, 0x00000008)) |
| 367 | OPTIONAL( QRSH( 4, 0x89abcdef, 4, 0xf89abcde, 0xf0000000)) |
| 368 | OPTIONAL(QRSHU( 4, 0x89abcdef, 4, 0x089abcde, 0xf0000000)) |
| 369 | OPTIONAL( QLSH( 5, 0x89abcdef, 5, 0x3579bde0, 0xfffffff1)) |
| 370 | OPTIONAL(QLSHU( 5, 0x89abcdef, 5, 0x3579bde0, 0x00000011)) |
| 371 | OPTIONAL( QRSH( 5, 0x89abcdef, 5, 0xfc4d5e6f, 0x78000000)) |
| 372 | OPTIONAL(QRSHU( 5, 0x89abcdef, 5, 0x044d5e6f, 0x78000000)) |
| 373 | OPTIONAL( QLSH( 6, 0x89abcdef, 6, 0x6af37bc0, 0xffffffe2)) |
| 374 | OPTIONAL(QLSHU( 6, 0x89abcdef, 6, 0x6af37bc0, 0x00000022)) |
| 375 | OPTIONAL( QRSH( 6, 0x89abcdef, 6, 0xfe26af37, 0xbc000000)) |
| 376 | OPTIONAL(QRSHU( 6, 0x89abcdef, 6, 0x0226af37, 0xbc000000)) |
| 377 | OPTIONAL( QLSH( 7, 0x89abcdef, 7, 0xd5e6f780, 0xffffffc4)) |
| 378 | OPTIONAL(QLSHU( 7, 0x89abcdef, 7, 0xd5e6f780, 0x00000044)) |
| 379 | OPTIONAL( QRSH( 7, 0x89abcdef, 7, 0xff13579b, 0xde000000)) |
| 380 | OPTIONAL(QRSHU( 7, 0x89abcdef, 7, 0x0113579b, 0xde000000)) |
| 381 | OPTIONAL( QLSH( 8, 0x89abcdef, 8, 0xabcdef00, 0xffffff89)) |
| 382 | OPTIONAL(QLSHU( 8, 0x89abcdef, 8, 0xabcdef00, 0x00000089)) |
| 383 | OPTIONAL( QRSH( 8, 0x89abcdef, 8, 0xff89abcd, 0xef000000)) |
| 384 | OPTIONAL(QRSHU( 8, 0x89abcdef, 8, 0x0089abcd, 0xef000000)) |
| 385 | OPTIONAL( QLSH( 9, 0x89abcdef, 9, 0x579bde00, 0xffffff13)) |
| 386 | OPTIONAL(QLSHU( 9, 0x89abcdef, 9, 0x579bde00, 0x00000113)) |
| 387 | OPTIONAL( QRSH( 9, 0x89abcdef, 9, 0xffc4d5e6, 0xf7800000)) |
| 388 | OPTIONAL(QRSHU( 9, 0x89abcdef, 9, 0x0044d5e6, 0xf7800000)) |
| 389 | OPTIONAL( QLSH(10, 0x89abcdef, 10, 0xaf37bc00, 0xfffffe26)) |
| 390 | OPTIONAL(QLSHU(10, 0x89abcdef, 10, 0xaf37bc00, 0x00000226)) |
| 391 | OPTIONAL( QRSH(10, 0x89abcdef, 10, 0xffe26af3, 0x7bc00000)) |
| 392 | OPTIONAL(QRSHU(10, 0x89abcdef, 10, 0x00226af3, 0x7bc00000)) |
| 393 | OPTIONAL( QLSH(11, 0x89abcdef, 11, 0x5e6f7800, 0xfffffc4d)) |
| 394 | OPTIONAL(QLSHU(11, 0x89abcdef, 11, 0x5e6f7800, 0x0000044d)) |
| 395 | OPTIONAL( QRSH(11, 0x89abcdef, 11, 0xfff13579, 0xbde00000)) |
| 396 | OPTIONAL(QRSHU(11, 0x89abcdef, 11, 0x00113579, 0xbde00000)) |
| 397 | OPTIONAL( QLSH(12, 0x89abcdef, 12, 0xbcdef000, 0xfffff89a)) |
| 398 | OPTIONAL(QLSHU(12, 0x89abcdef, 12, 0xbcdef000, 0x0000089a)) |
| 399 | OPTIONAL( QRSH(12, 0x89abcdef, 12, 0xfff89abc, 0xdef00000)) |
| 400 | OPTIONAL(QRSHU(12, 0x89abcdef, 12, 0x00089abc, 0xdef00000)) |
| 401 | OPTIONAL( QLSH(13, 0x89abcdef, 13, 0x79bde000, 0xfffff135)) |
| 402 | OPTIONAL(QLSHU(13, 0x89abcdef, 13, 0x79bde000, 0x00001135)) |
| 403 | OPTIONAL( QRSH(13, 0x89abcdef, 13, 0xfffc4d5e, 0x6f780000)) |
| 404 | OPTIONAL(QRSHU(13, 0x89abcdef, 13, 0x00044d5e, 0x6f780000)) |
| 405 | OPTIONAL( QLSH(14, 0x89abcdef, 14, 0xf37bc000, 0xffffe26a)) |
| 406 | OPTIONAL(QLSHU(14, 0x89abcdef, 14, 0xf37bc000, 0x0000226a)) |
| 407 | OPTIONAL( QRSH(14, 0x89abcdef, 14, 0xfffe26af, 0x37bc0000)) |
| 408 | OPTIONAL(QRSHU(14, 0x89abcdef, 14, 0x000226af, 0x37bc0000)) |
| 409 | QLSH(15, 0x89abcdef, 15, 0xe6f78000, 0xffffc4d5) |
| 410 | QLSHU(15, 0x89abcdef, 15, 0xe6f78000, 0x000044d5) |
| 411 | QRSH(15, 0x89abcdef, 15, 0xffff1357, 0x9bde0000) |
| 412 | QRSHU(15, 0x89abcdef, 15, 0x00011357, 0x9bde0000) |
| 413 | QLSH(16, 0x89abcdef, 16, 0xcdef0000, 0xffff89ab) |
| 414 | QLSHU(16, 0x89abcdef, 16, 0xcdef0000, 0x000089ab) |
| 415 | QRSH(16, 0x89abcdef, 16, 0xffff89ab, 0xcdef0000) |
| 416 | QRSHU(16, 0x89abcdef, 16, 0x000089ab, 0xcdef0000) |
| 417 | QLSH(17, 0x89abcdef, 17, 0x9bde0000, 0xffff1357) |
| 418 | QLSHU(17, 0x89abcdef, 17, 0x9bde0000, 0x00011357) |
| 419 | QRSH(17, 0x89abcdef, 17, 0xffffc4d5, 0xe6f78000) |
| 420 | QRSHU(17, 0x89abcdef, 17, 0x000044d5, 0xe6f78000) |
| 421 | OPTIONAL( QLSH(18, 0x89abcdef, 18, 0x37bc0000, 0xfffe26af)) |
| 422 | OPTIONAL(QLSHU(18, 0x89abcdef, 18, 0x37bc0000, 0x000226af)) |
| 423 | OPTIONAL( QRSH(18, 0x89abcdef, 18, 0xffffe26a, 0xf37bc000)) |
| 424 | OPTIONAL(QRSHU(18, 0x89abcdef, 18, 0x0000226a, 0xf37bc000)) |
| 425 | OPTIONAL( QLSH(19, 0x89abcdef, 19, 0x6f780000, 0xfffc4d5e)) |
| 426 | OPTIONAL(QLSHU(19, 0x89abcdef, 19, 0x6f780000, 0x00044d5e)) |
| 427 | OPTIONAL( QRSH(19, 0x89abcdef, 19, 0xfffff135, 0x79bde000)) |
| 428 | OPTIONAL(QRSHU(19, 0x89abcdef, 19, 0x00001135, 0x79bde000)) |
| 429 | OPTIONAL( QLSH(20, 0x89abcdef, 20, 0xdef00000, 0xfff89abc)) |
| 430 | OPTIONAL(QLSHU(20, 0x89abcdef, 20, 0xdef00000, 0x00089abc)) |
| 431 | OPTIONAL( QRSH(20, 0x89abcdef, 20, 0xfffff89a, 0xbcdef000)) |
| 432 | OPTIONAL(QRSHU(20, 0x89abcdef, 20, 0x0000089a, 0xbcdef000)) |
| 433 | OPTIONAL( QLSH(21, 0x89abcdef, 21, 0xbde00000, 0xfff13579)) |
| 434 | OPTIONAL(QLSHU(21, 0x89abcdef, 21, 0xbde00000, 0x00113579)) |
| 435 | OPTIONAL( QRSH(21, 0x89abcdef, 21, 0xfffffc4d, 0x5e6f7800)) |
| 436 | OPTIONAL(QRSHU(21, 0x89abcdef, 21, 0x0000044d, 0x5e6f7800)) |
| 437 | OPTIONAL( QLSH(22, 0x89abcdef, 22, 0x7bc00000, 0xffe26af3)) |
| 438 | OPTIONAL(QLSHU(22, 0x89abcdef, 22, 0x7bc00000, 0x00226af3)) |
| 439 | OPTIONAL( QRSH(22, 0x89abcdef, 22, 0xfffffe26, 0xaf37bc00)) |
| 440 | OPTIONAL(QRSHU(22, 0x89abcdef, 22, 0x00000226, 0xaf37bc00)) |
| 441 | OPTIONAL( QLSH(23, 0x89abcdef, 23, 0xf7800000, 0xffc4d5e6)) |
| 442 | OPTIONAL(QLSHU(23, 0x89abcdef, 23, 0xf7800000, 0x0044d5e6)) |
| 443 | OPTIONAL( QRSH(23, 0x89abcdef, 23, 0xffffff13, 0x579bde00)) |
| 444 | OPTIONAL(QRSHU(23, 0x89abcdef, 23, 0x00000113, 0x579bde00)) |
| 445 | OPTIONAL( QLSH(24, 0x89abcdef, 24, 0xef000000, 0xff89abcd)) |
| 446 | OPTIONAL(QLSHU(24, 0x89abcdef, 24, 0xef000000, 0x0089abcd)) |
| 447 | OPTIONAL( QRSH(24, 0x89abcdef, 24, 0xffffff89, 0xabcdef00)) |
| 448 | OPTIONAL(QRSHU(24, 0x89abcdef, 24, 0x00000089, 0xabcdef00)) |
| 449 | OPTIONAL( QLSH(25, 0x89abcdef, 25, 0xde000000, 0xff13579b)) |
| 450 | OPTIONAL(QLSHU(25, 0x89abcdef, 25, 0xde000000, 0x0113579b)) |
| 451 | OPTIONAL( QRSH(25, 0x89abcdef, 25, 0xffffffc4, 0xd5e6f780)) |
| 452 | OPTIONAL(QRSHU(25, 0x89abcdef, 25, 0x00000044, 0xd5e6f780)) |
| 453 | OPTIONAL( QLSH(26, 0x89abcdef, 26, 0xbc000000, 0xfe26af37)) |
| 454 | OPTIONAL(QLSHU(26, 0x89abcdef, 26, 0xbc000000, 0x0226af37)) |
| 455 | OPTIONAL( QRSH(26, 0x89abcdef, 26, 0xffffffe2, 0x6af37bc0)) |
| 456 | OPTIONAL(QRSHU(26, 0x89abcdef, 26, 0x00000022, 0x6af37bc0)) |
| 457 | OPTIONAL( QLSH(27, 0x89abcdef, 27, 0x78000000, 0xfc4d5e6f)) |
| 458 | OPTIONAL(QLSHU(27, 0x89abcdef, 27, 0x78000000, 0x044d5e6f)) |
| 459 | OPTIONAL( QRSH(27, 0x89abcdef, 27, 0xfffffff1, 0x3579bde0)) |
| 460 | OPTIONAL(QRSHU(27, 0x89abcdef, 27, 0x00000011, 0x3579bde0)) |
| 461 | OPTIONAL( QLSH(28, 0x89abcdef, 28, 0xf0000000, 0xf89abcde)) |
| 462 | OPTIONAL(QLSHU(28, 0x89abcdef, 28, 0xf0000000, 0x089abcde)) |
| 463 | OPTIONAL( QRSH(28, 0x89abcdef, 28, 0xfffffff8, 0x9abcdef0)) |
| 464 | OPTIONAL(QRSHU(28, 0x89abcdef, 28, 0x00000008, 0x9abcdef0)) |
| 465 | OPTIONAL( QLSH(29, 0x89abcdef, 29, 0xe0000000, 0xf13579bd)) |
| 466 | OPTIONAL(QLSHU(29, 0x89abcdef, 29, 0xe0000000, 0x113579bd)) |
| 467 | OPTIONAL( QRSH(29, 0x89abcdef, 29, 0xfffffffc, 0x4d5e6f78)) |
| 468 | OPTIONAL(QRSHU(29, 0x89abcdef, 29, 0x00000004, 0x4d5e6f78)) |
| 469 | OPTIONAL( QLSH(30, 0x89abcdef, 30, 0xc0000000, 0xe26af37b)) |
| 470 | OPTIONAL(QLSHU(30, 0x89abcdef, 30, 0xc0000000, 0x226af37b)) |
| 471 | OPTIONAL( QRSH(30, 0x89abcdef, 30, 0xfffffffe, 0x26af37bc)) |
| 472 | OPTIONAL(QRSHU(30, 0x89abcdef, 30, 0x00000002, 0x26af37bc)) |
| 473 | QLSH(31, 0x89abcdef, 31, 0x80000000, 0xc4d5e6f7) |
| 474 | QLSHU(31, 0x89abcdef, 31, 0x80000000, 0x44d5e6f7) |
| 475 | QRSH(31, 0x89abcdef, 31, 0xffffffff, 0x13579bde) |
| 476 | QRSHU(31, 0x89abcdef, 31, 0x00000001, 0x13579bde) |
| 477 | QLSH(32, 0x89abcdef, 32, 0x00000000, 0x89abcdef) |
| 478 | QLSHU(32, 0x89abcdef, 32, 0x00000000, 0x89abcdef) |
| 479 | QRSH(32, 0x89abcdef, 32, 0xffffffff, 0x89abcdef) |
| 480 | QRSHU(32, 0x89abcdef, 32, 0x00000000, 0x89abcdef) |
| 481 | # else |
| 482 | QLSH( 0, 0x89abcdef01234567, 0, 0x89abcdef01234567, 0xffffffffffffffff) |
| 483 | QLSHU( 0, 0x89abcdef01234567, 0, 0x89abcdef01234567, 0x0000000000000000) |
| 484 | QRSH( 0, 0x89abcdef01234567, 0, 0x89abcdef01234567, 0xffffffffffffffff) |
| 485 | QRSHU( 0, 0x89abcdef01234567, 0, 0x89abcdef01234567, 0x0000000000000000) |
| 486 | QLSH( 1, 0x89abcdef01234567, 1, 0x13579bde02468ace, 0xffffffffffffffff) |
| 487 | QLSHU( 1, 0x89abcdef01234567, 1, 0x13579bde02468ace, 0x0000000000000001) |
| 488 | QRSH( 1, 0x89abcdef01234567, 1, 0xc4d5e6f78091a2b3, 0x8000000000000000) |
| 489 | QRSHU( 1, 0x89abcdef01234567, 1, 0x44d5e6f78091a2b3, 0x8000000000000000) |
| 490 | OPTIONAL( QLSH( 2, 0x89abcdef01234567, 2, 0x26af37bc048d159c, 0xfffffffffffffffe)) |
| 491 | OPTIONAL(QLSHU( 2, 0x89abcdef01234567, 2, 0x26af37bc048d159c, 0x0000000000000002)) |
| 492 | OPTIONAL( QRSH( 2, 0x89abcdef01234567, 2, 0xe26af37bc048d159, 0xc000000000000000)) |
| 493 | OPTIONAL(QRSHU( 2, 0x89abcdef01234567, 2, 0x226af37bc048d159, 0xc000000000000000)) |
| 494 | OPTIONAL( QLSH( 3, 0x89abcdef01234567, 3, 0x4d5e6f78091a2b38, 0xfffffffffffffffc)) |
| 495 | OPTIONAL(QLSHU( 3, 0x89abcdef01234567, 3, 0x4d5e6f78091a2b38, 0x0000000000000004)) |
| 496 | OPTIONAL( QRSH( 3, 0x89abcdef01234567, 3, 0xf13579bde02468ac, 0xe000000000000000)) |
| 497 | OPTIONAL(QRSHU( 3, 0x89abcdef01234567, 3, 0x113579bde02468ac, 0xe000000000000000)) |
| 498 | OPTIONAL( QLSH( 4, 0x89abcdef01234567, 4, 0x9abcdef012345670, 0xfffffffffffffff8)) |
| 499 | OPTIONAL(QLSHU( 4, 0x89abcdef01234567, 4, 0x9abcdef012345670, 0x0000000000000008)) |
| 500 | OPTIONAL( QRSH( 4, 0x89abcdef01234567, 4, 0xf89abcdef0123456, 0x7000000000000000)) |
| 501 | OPTIONAL(QRSHU( 4, 0x89abcdef01234567, 4, 0x089abcdef0123456, 0x7000000000000000)) |
| 502 | OPTIONAL( QLSH( 5, 0x89abcdef01234567, 5, 0x3579bde02468ace0, 0xfffffffffffffff1)) |
| 503 | OPTIONAL(QLSHU( 5, 0x89abcdef01234567, 5, 0x3579bde02468ace0, 0x0000000000000011)) |
| 504 | OPTIONAL( QRSH( 5, 0x89abcdef01234567, 5, 0xfc4d5e6f78091a2b, 0x3800000000000000)) |
| 505 | OPTIONAL(QRSHU( 5, 0x89abcdef01234567, 5, 0x044d5e6f78091a2b, 0x3800000000000000)) |
| 506 | OPTIONAL( QLSH( 6, 0x89abcdef01234567, 6, 0x6af37bc048d159c0, 0xffffffffffffffe2)) |
| 507 | OPTIONAL(QLSHU( 6, 0x89abcdef01234567, 6, 0x6af37bc048d159c0, 0x0000000000000022)) |
| 508 | OPTIONAL( QRSH( 6, 0x89abcdef01234567, 6, 0xfe26af37bc048d15, 0x9c00000000000000)) |
| 509 | OPTIONAL(QRSHU( 6, 0x89abcdef01234567, 6, 0x0226af37bc048d15, 0x9c00000000000000)) |
| 510 | OPTIONAL( QLSH( 7, 0x89abcdef01234567, 7, 0xd5e6f78091a2b380, 0xffffffffffffffc4)) |
| 511 | OPTIONAL(QLSHU( 7, 0x89abcdef01234567, 7, 0xd5e6f78091a2b380, 0x0000000000000044)) |
| 512 | OPTIONAL( QRSH( 7, 0x89abcdef01234567, 7, 0xff13579bde02468a, 0xce00000000000000)) |
| 513 | OPTIONAL(QRSHU( 7, 0x89abcdef01234567, 7, 0x0113579bde02468a, 0xce00000000000000)) |
| 514 | OPTIONAL( QLSH( 8, 0x89abcdef01234567, 8, 0xabcdef0123456700, 0xffffffffffffff89)) |
| 515 | OPTIONAL(QLSHU( 8, 0x89abcdef01234567, 8, 0xabcdef0123456700, 0x0000000000000089)) |
| 516 | OPTIONAL( QRSH( 8, 0x89abcdef01234567, 8, 0xff89abcdef012345, 0x6700000000000000)) |
| 517 | OPTIONAL(QRSHU( 8, 0x89abcdef01234567, 8, 0x0089abcdef012345, 0x6700000000000000)) |
| 518 | OPTIONAL( QLSH( 9, 0x89abcdef01234567, 9, 0x579bde02468ace00, 0xffffffffffffff13)) |
| 519 | OPTIONAL(QLSHU( 9, 0x89abcdef01234567, 9, 0x579bde02468ace00, 0x0000000000000113)) |
| 520 | OPTIONAL( QRSH( 9, 0x89abcdef01234567, 9, 0xffc4d5e6f78091a2, 0xb380000000000000)) |
| 521 | OPTIONAL(QRSHU( 9, 0x89abcdef01234567, 9, 0x0044d5e6f78091a2, 0xb380000000000000)) |
| 522 | OPTIONAL( QLSH(10, 0x89abcdef01234567, 10, 0xaf37bc048d159c00, 0xfffffffffffffe26)) |
| 523 | OPTIONAL(QLSHU(10, 0x89abcdef01234567, 10, 0xaf37bc048d159c00, 0x0000000000000226)) |
| 524 | OPTIONAL( QRSH(10, 0x89abcdef01234567, 10, 0xffe26af37bc048d1, 0x59c0000000000000)) |
| 525 | OPTIONAL(QRSHU(10, 0x89abcdef01234567, 10, 0x00226af37bc048d1, 0x59c0000000000000)) |
| 526 | OPTIONAL( QLSH(11, 0x89abcdef01234567, 11, 0x5e6f78091a2b3800, 0xfffffffffffffc4d)) |
| 527 | OPTIONAL(QLSHU(11, 0x89abcdef01234567, 11, 0x5e6f78091a2b3800, 0x000000000000044d)) |
| 528 | OPTIONAL( QRSH(11, 0x89abcdef01234567, 11, 0xfff13579bde02468, 0xace0000000000000)) |
| 529 | OPTIONAL(QRSHU(11, 0x89abcdef01234567, 11, 0x00113579bde02468, 0xace0000000000000)) |
| 530 | OPTIONAL( QLSH(12, 0x89abcdef01234567, 12, 0xbcdef01234567000, 0xfffffffffffff89a)) |
| 531 | OPTIONAL(QLSHU(12, 0x89abcdef01234567, 12, 0xbcdef01234567000, 0x000000000000089a)) |
| 532 | OPTIONAL( QRSH(12, 0x89abcdef01234567, 12, 0xfff89abcdef01234, 0x5670000000000000)) |
| 533 | OPTIONAL(QRSHU(12, 0x89abcdef01234567, 12, 0x00089abcdef01234, 0x5670000000000000)) |
| 534 | OPTIONAL( QLSH(13, 0x89abcdef01234567, 13, 0x79bde02468ace000, 0xfffffffffffff135)) |
| 535 | OPTIONAL(QLSHU(13, 0x89abcdef01234567, 13, 0x79bde02468ace000, 0x0000000000001135)) |
| 536 | OPTIONAL( QRSH(13, 0x89abcdef01234567, 13, 0xfffc4d5e6f78091a, 0x2b38000000000000)) |
| 537 | OPTIONAL(QRSHU(13, 0x89abcdef01234567, 13, 0x00044d5e6f78091a, 0x2b38000000000000)) |
| 538 | OPTIONAL( QLSH(14, 0x89abcdef01234567, 14, 0xf37bc048d159c000, 0xffffffffffffe26a)) |
| 539 | OPTIONAL(QLSHU(14, 0x89abcdef01234567, 14, 0xf37bc048d159c000, 0x000000000000226a)) |
| 540 | OPTIONAL( QRSH(14, 0x89abcdef01234567, 14, 0xfffe26af37bc048d, 0x159c000000000000)) |
| 541 | OPTIONAL(QRSHU(14, 0x89abcdef01234567, 14, 0x000226af37bc048d, 0x159c000000000000)) |
| 542 | OPTIONAL( QLSH(15, 0x89abcdef01234567, 15, 0xe6f78091a2b38000, 0xffffffffffffc4d5)) |
| 543 | OPTIONAL(QLSHU(15, 0x89abcdef01234567, 15, 0xe6f78091a2b38000, 0x00000000000044d5)) |
| 544 | OPTIONAL( QRSH(15, 0x89abcdef01234567, 15, 0xffff13579bde0246, 0x8ace000000000000)) |
| 545 | OPTIONAL(QRSHU(15, 0x89abcdef01234567, 15, 0x000113579bde0246, 0x8ace000000000000)) |
| 546 | OPTIONAL( QLSH(16, 0x89abcdef01234567, 16, 0xcdef012345670000, 0xffffffffffff89ab)) |
| 547 | OPTIONAL(QLSHU(16, 0x89abcdef01234567, 16, 0xcdef012345670000, 0x00000000000089ab)) |
| 548 | OPTIONAL( QRSH(16, 0x89abcdef01234567, 16, 0xffff89abcdef0123, 0x4567000000000000)) |
| 549 | OPTIONAL(QRSHU(16, 0x89abcdef01234567, 16, 0x000089abcdef0123, 0x4567000000000000)) |
| 550 | OPTIONAL( QLSH(17, 0x89abcdef01234567, 17, 0x9bde02468ace0000, 0xffffffffffff1357)) |
| 551 | OPTIONAL(QLSHU(17, 0x89abcdef01234567, 17, 0x9bde02468ace0000, 0x0000000000011357)) |
| 552 | OPTIONAL( QRSH(17, 0x89abcdef01234567, 17, 0xffffc4d5e6f78091, 0xa2b3800000000000)) |
| 553 | OPTIONAL(QRSHU(17, 0x89abcdef01234567, 17, 0x000044d5e6f78091, 0xa2b3800000000000)) |
| 554 | OPTIONAL( QLSH(18, 0x89abcdef01234567, 18, 0x37bc048d159c0000, 0xfffffffffffe26af)) |
| 555 | OPTIONAL(QLSHU(18, 0x89abcdef01234567, 18, 0x37bc048d159c0000, 0x00000000000226af)) |
| 556 | OPTIONAL( QRSH(18, 0x89abcdef01234567, 18, 0xffffe26af37bc048, 0xd159c00000000000)) |
| 557 | OPTIONAL(QRSHU(18, 0x89abcdef01234567, 18, 0x0000226af37bc048, 0xd159c00000000000)) |
| 558 | OPTIONAL( QLSH(19, 0x89abcdef01234567, 19, 0x6f78091a2b380000, 0xfffffffffffc4d5e)) |
| 559 | OPTIONAL(QLSHU(19, 0x89abcdef01234567, 19, 0x6f78091a2b380000, 0x0000000000044d5e)) |
| 560 | OPTIONAL( QRSH(19, 0x89abcdef01234567, 19, 0xfffff13579bde024, 0x68ace00000000000)) |
| 561 | OPTIONAL(QRSHU(19, 0x89abcdef01234567, 19, 0x0000113579bde024, 0x68ace00000000000)) |
| 562 | OPTIONAL( QLSH(20, 0x89abcdef01234567, 20, 0xdef0123456700000, 0xfffffffffff89abc)) |
| 563 | OPTIONAL(QLSHU(20, 0x89abcdef01234567, 20, 0xdef0123456700000, 0x0000000000089abc)) |
| 564 | OPTIONAL( QRSH(20, 0x89abcdef01234567, 20, 0xfffff89abcdef012, 0x3456700000000000)) |
| 565 | OPTIONAL(QRSHU(20, 0x89abcdef01234567, 20, 0x0000089abcdef012, 0x3456700000000000)) |
| 566 | OPTIONAL( QLSH(21, 0x89abcdef01234567, 21, 0xbde02468ace00000, 0xfffffffffff13579)) |
| 567 | OPTIONAL(QLSHU(21, 0x89abcdef01234567, 21, 0xbde02468ace00000, 0x0000000000113579)) |
| 568 | OPTIONAL( QRSH(21, 0x89abcdef01234567, 21, 0xfffffc4d5e6f7809, 0x1a2b380000000000)) |
| 569 | OPTIONAL(QRSHU(21, 0x89abcdef01234567, 21, 0x0000044d5e6f7809, 0x1a2b380000000000)) |
| 570 | OPTIONAL( QLSH(22, 0x89abcdef01234567, 22, 0x7bc048d159c00000, 0xffffffffffe26af3)) |
| 571 | OPTIONAL(QLSHU(22, 0x89abcdef01234567, 22, 0x7bc048d159c00000, 0x0000000000226af3)) |
| 572 | OPTIONAL( QRSH(22, 0x89abcdef01234567, 22, 0xfffffe26af37bc04, 0x8d159c0000000000)) |
| 573 | OPTIONAL(QRSHU(22, 0x89abcdef01234567, 22, 0x00000226af37bc04, 0x8d159c0000000000)) |
| 574 | OPTIONAL( QLSH(23, 0x89abcdef01234567, 23, 0xf78091a2b3800000, 0xffffffffffc4d5e6)) |
| 575 | OPTIONAL(QLSHU(23, 0x89abcdef01234567, 23, 0xf78091a2b3800000, 0x000000000044d5e6)) |
| 576 | OPTIONAL( QRSH(23, 0x89abcdef01234567, 23, 0xffffff13579bde02, 0x468ace0000000000)) |
| 577 | OPTIONAL(QRSHU(23, 0x89abcdef01234567, 23, 0x00000113579bde02, 0x468ace0000000000)) |
| 578 | OPTIONAL( QLSH(24, 0x89abcdef01234567, 24, 0xef01234567000000, 0xffffffffff89abcd)) |
| 579 | OPTIONAL(QLSHU(24, 0x89abcdef01234567, 24, 0xef01234567000000, 0x000000000089abcd)) |
| 580 | OPTIONAL( QRSH(24, 0x89abcdef01234567, 24, 0xffffff89abcdef01, 0x2345670000000000)) |
| 581 | OPTIONAL(QRSHU(24, 0x89abcdef01234567, 24, 0x00000089abcdef01, 0x2345670000000000)) |
| 582 | OPTIONAL( QLSH(25, 0x89abcdef01234567, 25, 0xde02468ace000000, 0xffffffffff13579b)) |
| 583 | OPTIONAL(QLSHU(25, 0x89abcdef01234567, 25, 0xde02468ace000000, 0x000000000113579b)) |
| 584 | OPTIONAL( QRSH(25, 0x89abcdef01234567, 25, 0xffffffc4d5e6f780, 0x91a2b38000000000)) |
| 585 | OPTIONAL(QRSHU(25, 0x89abcdef01234567, 25, 0x00000044d5e6f780, 0x91a2b38000000000)) |
| 586 | OPTIONAL( QLSH(26, 0x89abcdef01234567, 26, 0xbc048d159c000000, 0xfffffffffe26af37)) |
| 587 | OPTIONAL(QLSHU(26, 0x89abcdef01234567, 26, 0xbc048d159c000000, 0x000000000226af37)) |
| 588 | OPTIONAL( QRSH(26, 0x89abcdef01234567, 26, 0xffffffe26af37bc0, 0x48d159c000000000)) |
| 589 | OPTIONAL(QRSHU(26, 0x89abcdef01234567, 26, 0x000000226af37bc0, 0x48d159c000000000)) |
| 590 | OPTIONAL( QLSH(27, 0x89abcdef01234567, 27, 0x78091a2b38000000, 0xfffffffffc4d5e6f)) |
| 591 | OPTIONAL(QLSHU(27, 0x89abcdef01234567, 27, 0x78091a2b38000000, 0x00000000044d5e6f)) |
| 592 | OPTIONAL( QRSH(27, 0x89abcdef01234567, 27, 0xfffffff13579bde0, 0x2468ace000000000)) |
| 593 | OPTIONAL(QRSHU(27, 0x89abcdef01234567, 27, 0x000000113579bde0, 0x2468ace000000000)) |
| 594 | OPTIONAL( QLSH(28, 0x89abcdef01234567, 28, 0xf012345670000000, 0xfffffffff89abcde)) |
| 595 | OPTIONAL(QLSHU(28, 0x89abcdef01234567, 28, 0xf012345670000000, 0x00000000089abcde)) |
| 596 | OPTIONAL( QRSH(28, 0x89abcdef01234567, 28, 0xfffffff89abcdef0, 0x1234567000000000)) |
| 597 | OPTIONAL(QRSHU(28, 0x89abcdef01234567, 28, 0x000000089abcdef0, 0x1234567000000000)) |
| 598 | OPTIONAL( QLSH(29, 0x89abcdef01234567, 29, 0xe02468ace0000000, 0xfffffffff13579bd)) |
| 599 | OPTIONAL(QLSHU(29, 0x89abcdef01234567, 29, 0xe02468ace0000000, 0x00000000113579bd)) |
| 600 | OPTIONAL( QRSH(29, 0x89abcdef01234567, 29, 0xfffffffc4d5e6f78, 0x091a2b3800000000)) |
| 601 | OPTIONAL(QRSHU(29, 0x89abcdef01234567, 29, 0x000000044d5e6f78, 0x091a2b3800000000)) |
| 602 | OPTIONAL( QLSH(30, 0x89abcdef01234567, 30, 0xc048d159c0000000, 0xffffffffe26af37b)) |
| 603 | OPTIONAL(QLSHU(30, 0x89abcdef01234567, 30, 0xc048d159c0000000, 0x00000000226af37b)) |
| 604 | OPTIONAL( QRSH(30, 0x89abcdef01234567, 30, 0xfffffffe26af37bc, 0x048d159c00000000)) |
| 605 | OPTIONAL(QRSHU(30, 0x89abcdef01234567, 30, 0x0000000226af37bc, 0x048d159c00000000)) |
| 606 | QLSH(31, 0x89abcdef01234567, 31, 0x8091a2b380000000, 0xffffffffc4d5e6f7) |
| 607 | QLSHU(31, 0x89abcdef01234567, 31, 0x8091a2b380000000, 0x0000000044d5e6f7) |
| 608 | QRSH(31, 0x89abcdef01234567, 31, 0xffffffff13579bde, 0x02468ace00000000) |
| 609 | QRSHU(31, 0x89abcdef01234567, 31, 0x0000000113579bde, 0x02468ace00000000) |
| 610 | QLSH(32, 0x89abcdef01234567, 32, 0x0123456700000000, 0xffffffff89abcdef) |
| 611 | QLSHU(32, 0x89abcdef01234567, 32, 0x0123456700000000, 0x0000000089abcdef) |
| 612 | QRSH(32, 0x89abcdef01234567, 32, 0xffffffff89abcdef, 0x0123456700000000) |
| 613 | QRSHU(32, 0x89abcdef01234567, 32, 0x0000000089abcdef, 0x0123456700000000) |
| 614 | QLSH(33, 0x89abcdef01234567, 33, 0x02468ace00000000, 0xffffffff13579bde) |
| 615 | QLSHU(33, 0x89abcdef01234567, 33, 0x02468ace00000000, 0x0000000113579bde) |
| 616 | QRSH(33, 0x89abcdef01234567, 33, 0xffffffffc4d5e6f7, 0x8091a2b380000000) |
| 617 | QRSHU(33, 0x89abcdef01234567, 33, 0x0000000044d5e6f7, 0x8091a2b380000000) |
| 618 | OPTIONAL( QLSH(34, 0x89abcdef01234567, 34, 0x048d159c00000000, 0xfffffffe26af37bc)) |
| 619 | OPTIONAL(QLSHU(34, 0x89abcdef01234567, 34, 0x048d159c00000000, 0x0000000226af37bc)) |
| 620 | OPTIONAL( QRSH(34, 0x89abcdef01234567, 34, 0xffffffffe26af37b, 0xc048d159c0000000)) |
| 621 | OPTIONAL(QRSHU(34, 0x89abcdef01234567, 34, 0x00000000226af37b, 0xc048d159c0000000)) |
| 622 | OPTIONAL( QLSH(35, 0x89abcdef01234567, 35, 0x091a2b3800000000, 0xfffffffc4d5e6f78)) |
| 623 | OPTIONAL(QLSHU(35, 0x89abcdef01234567, 35, 0x091a2b3800000000, 0x000000044d5e6f78)) |
| 624 | OPTIONAL( QRSH(35, 0x89abcdef01234567, 35, 0xfffffffff13579bd, 0xe02468ace0000000)) |
| 625 | OPTIONAL(QRSHU(35, 0x89abcdef01234567, 35, 0x00000000113579bd, 0xe02468ace0000000)) |
| 626 | OPTIONAL( QLSH(36, 0x89abcdef01234567, 36, 0x1234567000000000, 0xfffffff89abcdef0)) |
| 627 | OPTIONAL(QLSHU(36, 0x89abcdef01234567, 36, 0x1234567000000000, 0x000000089abcdef0)) |
| 628 | OPTIONAL( QRSH(36, 0x89abcdef01234567, 36, 0xfffffffff89abcde, 0xf012345670000000)) |
| 629 | OPTIONAL(QRSHU(36, 0x89abcdef01234567, 36, 0x00000000089abcde, 0xf012345670000000)) |
| 630 | OPTIONAL( QLSH(37, 0x89abcdef01234567, 37, 0x2468ace000000000, 0xfffffff13579bde0)) |
| 631 | OPTIONAL(QLSHU(37, 0x89abcdef01234567, 37, 0x2468ace000000000, 0x000000113579bde0)) |
| 632 | OPTIONAL( QRSH(37, 0x89abcdef01234567, 37, 0xfffffffffc4d5e6f, 0x78091a2b38000000)) |
| 633 | OPTIONAL(QRSHU(37, 0x89abcdef01234567, 37, 0x00000000044d5e6f, 0x78091a2b38000000)) |
| 634 | OPTIONAL( QLSH(38, 0x89abcdef01234567, 38, 0x48d159c000000000, 0xffffffe26af37bc0)) |
| 635 | OPTIONAL(QLSHU(38, 0x89abcdef01234567, 38, 0x48d159c000000000, 0x000000226af37bc0)) |
| 636 | OPTIONAL( QRSH(38, 0x89abcdef01234567, 38, 0xfffffffffe26af37, 0xbc048d159c000000)) |
| 637 | OPTIONAL(QRSHU(38, 0x89abcdef01234567, 38, 0x000000000226af37, 0xbc048d159c000000)) |
| 638 | OPTIONAL( QLSH(39, 0x89abcdef01234567, 39, 0x91a2b38000000000, 0xffffffc4d5e6f780)) |
| 639 | OPTIONAL(QLSHU(39, 0x89abcdef01234567, 39, 0x91a2b38000000000, 0x00000044d5e6f780)) |
| 640 | OPTIONAL( QRSH(39, 0x89abcdef01234567, 39, 0xffffffffff13579b, 0xde02468ace000000)) |
| 641 | OPTIONAL(QRSHU(39, 0x89abcdef01234567, 39, 0x000000000113579b, 0xde02468ace000000)) |
| 642 | OPTIONAL( QLSH(40, 0x89abcdef01234567, 40, 0x2345670000000000, 0xffffff89abcdef01)) |
| 643 | OPTIONAL(QLSHU(40, 0x89abcdef01234567, 40, 0x2345670000000000, 0x00000089abcdef01)) |
| 644 | OPTIONAL( QRSH(40, 0x89abcdef01234567, 40, 0xffffffffff89abcd, 0xef01234567000000)) |
| 645 | OPTIONAL(QRSHU(40, 0x89abcdef01234567, 40, 0x000000000089abcd, 0xef01234567000000)) |
| 646 | OPTIONAL( QLSH(41, 0x89abcdef01234567, 41, 0x468ace0000000000, 0xffffff13579bde02)) |
| 647 | OPTIONAL(QLSHU(41, 0x89abcdef01234567, 41, 0x468ace0000000000, 0x00000113579bde02)) |
| 648 | OPTIONAL( QRSH(41, 0x89abcdef01234567, 41, 0xffffffffffc4d5e6, 0xf78091a2b3800000)) |
| 649 | OPTIONAL(QRSHU(41, 0x89abcdef01234567, 41, 0x000000000044d5e6, 0xf78091a2b3800000)) |
| 650 | OPTIONAL( QLSH(42, 0x89abcdef01234567, 42, 0x8d159c0000000000, 0xfffffe26af37bc04)) |
| 651 | OPTIONAL(QLSHU(42, 0x89abcdef01234567, 42, 0x8d159c0000000000, 0x00000226af37bc04)) |
| 652 | OPTIONAL( QRSH(42, 0x89abcdef01234567, 42, 0xffffffffffe26af3, 0x7bc048d159c00000)) |
| 653 | OPTIONAL(QRSHU(42, 0x89abcdef01234567, 42, 0x0000000000226af3, 0x7bc048d159c00000)) |
| 654 | OPTIONAL( QLSH(43, 0x89abcdef01234567, 43, 0x1a2b380000000000, 0xfffffc4d5e6f7809)) |
| 655 | OPTIONAL(QLSHU(43, 0x89abcdef01234567, 43, 0x1a2b380000000000, 0x0000044d5e6f7809)) |
| 656 | OPTIONAL( QRSH(43, 0x89abcdef01234567, 43, 0xfffffffffff13579, 0xbde02468ace00000)) |
| 657 | OPTIONAL(QRSHU(43, 0x89abcdef01234567, 43, 0x0000000000113579, 0xbde02468ace00000)) |
| 658 | OPTIONAL( QLSH(44, 0x89abcdef01234567, 44, 0x3456700000000000, 0xfffff89abcdef012)) |
| 659 | OPTIONAL(QLSHU(44, 0x89abcdef01234567, 44, 0x3456700000000000, 0x0000089abcdef012)) |
| 660 | OPTIONAL( QRSH(44, 0x89abcdef01234567, 44, 0xfffffffffff89abc, 0xdef0123456700000)) |
| 661 | OPTIONAL(QRSHU(44, 0x89abcdef01234567, 44, 0x0000000000089abc, 0xdef0123456700000)) |
| 662 | OPTIONAL( QLSH(45, 0x89abcdef01234567, 45, 0x68ace00000000000, 0xfffff13579bde024)) |
| 663 | OPTIONAL(QLSHU(45, 0x89abcdef01234567, 45, 0x68ace00000000000, 0x0000113579bde024)) |
| 664 | OPTIONAL( QRSH(45, 0x89abcdef01234567, 45, 0xfffffffffffc4d5e, 0x6f78091a2b380000)) |
| 665 | OPTIONAL(QRSHU(45, 0x89abcdef01234567, 45, 0x0000000000044d5e, 0x6f78091a2b380000)) |
| 666 | OPTIONAL( QLSH(46, 0x89abcdef01234567, 46, 0xd159c00000000000, 0xffffe26af37bc048)) |
| 667 | OPTIONAL(QLSHU(46, 0x89abcdef01234567, 46, 0xd159c00000000000, 0x0000226af37bc048)) |
| 668 | OPTIONAL( QRSH(46, 0x89abcdef01234567, 46, 0xfffffffffffe26af, 0x37bc048d159c0000)) |
| 669 | OPTIONAL(QRSHU(46, 0x89abcdef01234567, 46, 0x00000000000226af, 0x37bc048d159c0000)) |
| 670 | OPTIONAL( QLSH(47, 0x89abcdef01234567, 47, 0xa2b3800000000000, 0xffffc4d5e6f78091)) |
| 671 | OPTIONAL(QLSHU(47, 0x89abcdef01234567, 47, 0xa2b3800000000000, 0x000044d5e6f78091)) |
| 672 | OPTIONAL( QRSH(47, 0x89abcdef01234567, 47, 0xffffffffffff1357, 0x9bde02468ace0000)) |
| 673 | OPTIONAL(QRSHU(47, 0x89abcdef01234567, 47, 0x0000000000011357, 0x9bde02468ace0000)) |
| 674 | OPTIONAL( QLSH(48, 0x89abcdef01234567, 48, 0x4567000000000000, 0xffff89abcdef0123)) |
| 675 | OPTIONAL(QLSHU(48, 0x89abcdef01234567, 48, 0x4567000000000000, 0x000089abcdef0123)) |
| 676 | OPTIONAL( QRSH(48, 0x89abcdef01234567, 48, 0xffffffffffff89ab, 0xcdef012345670000)) |
| 677 | OPTIONAL(QRSHU(48, 0x89abcdef01234567, 48, 0x00000000000089ab, 0xcdef012345670000)) |
| 678 | OPTIONAL( QLSH(49, 0x89abcdef01234567, 49, 0x8ace000000000000, 0xffff13579bde0246)) |
| 679 | OPTIONAL(QLSHU(49, 0x89abcdef01234567, 49, 0x8ace000000000000, 0x000113579bde0246)) |
| 680 | OPTIONAL( QRSH(49, 0x89abcdef01234567, 49, 0xffffffffffffc4d5, 0xe6f78091a2b38000)) |
| 681 | OPTIONAL(QRSHU(49, 0x89abcdef01234567, 49, 0x00000000000044d5, 0xe6f78091a2b38000)) |
| 682 | OPTIONAL( QLSH(50, 0x89abcdef01234567, 50, 0x159c000000000000, 0xfffe26af37bc048d)) |
| 683 | OPTIONAL(QLSHU(50, 0x89abcdef01234567, 50, 0x159c000000000000, 0x000226af37bc048d)) |
| 684 | OPTIONAL( QRSH(50, 0x89abcdef01234567, 50, 0xffffffffffffe26a, 0xf37bc048d159c000)) |
| 685 | OPTIONAL(QRSHU(50, 0x89abcdef01234567, 50, 0x000000000000226a, 0xf37bc048d159c000)) |
| 686 | OPTIONAL( QLSH(51, 0x89abcdef01234567, 51, 0x2b38000000000000, 0xfffc4d5e6f78091a)) |
| 687 | OPTIONAL(QLSHU(51, 0x89abcdef01234567, 51, 0x2b38000000000000, 0x00044d5e6f78091a)) |
| 688 | OPTIONAL( QRSH(51, 0x89abcdef01234567, 51, 0xfffffffffffff135, 0x79bde02468ace000)) |
| 689 | OPTIONAL(QRSHU(51, 0x89abcdef01234567, 51, 0x0000000000001135, 0x79bde02468ace000)) |
| 690 | OPTIONAL( QLSH(52, 0x89abcdef01234567, 52, 0x5670000000000000, 0xfff89abcdef01234)) |
| 691 | OPTIONAL(QLSHU(52, 0x89abcdef01234567, 52, 0x5670000000000000, 0x00089abcdef01234)) |
| 692 | OPTIONAL( QRSH(52, 0x89abcdef01234567, 52, 0xfffffffffffff89a, 0xbcdef01234567000)) |
| 693 | OPTIONAL(QRSHU(52, 0x89abcdef01234567, 52, 0x000000000000089a, 0xbcdef01234567000)) |
| 694 | OPTIONAL( QLSH(53, 0x89abcdef01234567, 53, 0xace0000000000000, 0xfff13579bde02468)) |
| 695 | OPTIONAL(QLSHU(53, 0x89abcdef01234567, 53, 0xace0000000000000, 0x00113579bde02468)) |
| 696 | OPTIONAL( QRSH(53, 0x89abcdef01234567, 53, 0xfffffffffffffc4d, 0x5e6f78091a2b3800)) |
| 697 | OPTIONAL(QRSHU(53, 0x89abcdef01234567, 53, 0x000000000000044d, 0x5e6f78091a2b3800)) |
| 698 | OPTIONAL( QLSH(54, 0x89abcdef01234567, 54, 0x59c0000000000000, 0xffe26af37bc048d1)) |
| 699 | OPTIONAL(QLSHU(54, 0x89abcdef01234567, 54, 0x59c0000000000000, 0x00226af37bc048d1)) |
| 700 | OPTIONAL( QRSH(54, 0x89abcdef01234567, 54, 0xfffffffffffffe26, 0xaf37bc048d159c00)) |
| 701 | OPTIONAL(QRSHU(54, 0x89abcdef01234567, 54, 0x0000000000000226, 0xaf37bc048d159c00)) |
| 702 | OPTIONAL( QLSH(55, 0x89abcdef01234567, 55, 0xb380000000000000, 0xffc4d5e6f78091a2)) |
| 703 | OPTIONAL(QLSHU(55, 0x89abcdef01234567, 55, 0xb380000000000000, 0x0044d5e6f78091a2)) |
| 704 | OPTIONAL( QRSH(55, 0x89abcdef01234567, 55, 0xffffffffffffff13, 0x579bde02468ace00)) |
| 705 | OPTIONAL(QRSHU(55, 0x89abcdef01234567, 55, 0x0000000000000113, 0x579bde02468ace00)) |
| 706 | OPTIONAL( QLSH(56, 0x89abcdef01234567, 56, 0x6700000000000000, 0xff89abcdef012345)) |
| 707 | OPTIONAL(QLSHU(56, 0x89abcdef01234567, 56, 0x6700000000000000, 0x0089abcdef012345)) |
| 708 | OPTIONAL( QRSH(56, 0x89abcdef01234567, 56, 0xffffffffffffff89, 0xabcdef0123456700)) |
| 709 | OPTIONAL(QRSHU(56, 0x89abcdef01234567, 56, 0x0000000000000089, 0xabcdef0123456700)) |
| 710 | OPTIONAL( QLSH(57, 0x89abcdef01234567, 57, 0xce00000000000000, 0xff13579bde02468a)) |
| 711 | OPTIONAL(QLSHU(57, 0x89abcdef01234567, 57, 0xce00000000000000, 0x0113579bde02468a)) |
| 712 | OPTIONAL( QRSH(57, 0x89abcdef01234567, 57, 0xffffffffffffffc4, 0xd5e6f78091a2b380)) |
| 713 | OPTIONAL(QRSHU(57, 0x89abcdef01234567, 57, 0x0000000000000044, 0xd5e6f78091a2b380)) |
| 714 | OPTIONAL( QLSH(58, 0x89abcdef01234567, 58, 0x9c00000000000000, 0xfe26af37bc048d15)) |
| 715 | OPTIONAL(QLSHU(58, 0x89abcdef01234567, 58, 0x9c00000000000000, 0x0226af37bc048d15)) |
| 716 | OPTIONAL( QRSH(58, 0x89abcdef01234567, 58, 0xffffffffffffffe2, 0x6af37bc048d159c0)) |
| 717 | OPTIONAL(QRSHU(58, 0x89abcdef01234567, 58, 0x0000000000000022, 0x6af37bc048d159c0)) |
| 718 | OPTIONAL( QLSH(59, 0x89abcdef01234567, 59, 0x3800000000000000, 0xfc4d5e6f78091a2b)) |
| 719 | OPTIONAL(QLSHU(59, 0x89abcdef01234567, 59, 0x3800000000000000, 0x044d5e6f78091a2b)) |
| 720 | OPTIONAL( QRSH(59, 0x89abcdef01234567, 59, 0xfffffffffffffff1, 0x3579bde02468ace0)) |
| 721 | OPTIONAL(QRSHU(59, 0x89abcdef01234567, 59, 0x0000000000000011, 0x3579bde02468ace0)) |
| 722 | OPTIONAL( QLSH(60, 0x89abcdef01234567, 60, 0x7000000000000000, 0xf89abcdef0123456)) |
| 723 | OPTIONAL(QLSHU(60, 0x89abcdef01234567, 60, 0x7000000000000000, 0x089abcdef0123456)) |
| 724 | OPTIONAL( QRSH(60, 0x89abcdef01234567, 60, 0xfffffffffffffff8, 0x9abcdef012345670)) |
| 725 | OPTIONAL(QRSHU(60, 0x89abcdef01234567, 60, 0x0000000000000008, 0x9abcdef012345670)) |
| 726 | OPTIONAL( QLSH(61, 0x89abcdef01234567, 61, 0xe000000000000000, 0xf13579bde02468ac)) |
| 727 | OPTIONAL(QLSHU(61, 0x89abcdef01234567, 61, 0xe000000000000000, 0x113579bde02468ac)) |
| 728 | OPTIONAL( QRSH(61, 0x89abcdef01234567, 61, 0xfffffffffffffffc, 0x4d5e6f78091a2b38)) |
| 729 | OPTIONAL(QRSHU(61, 0x89abcdef01234567, 61, 0x0000000000000004, 0x4d5e6f78091a2b38)) |
| 730 | OPTIONAL( QLSH(62, 0x89abcdef01234567, 62, 0xc000000000000000, 0xe26af37bc048d159)) |
| 731 | OPTIONAL(QLSHU(62, 0x89abcdef01234567, 62, 0xc000000000000000, 0x226af37bc048d159)) |
| 732 | OPTIONAL( QRSH(62, 0x89abcdef01234567, 62, 0xfffffffffffffffe, 0x26af37bc048d159c)) |
| 733 | OPTIONAL(QRSHU(62, 0x89abcdef01234567, 62, 0x0000000000000002, 0x26af37bc048d159c)) |
| 734 | QLSH(63, 0x89abcdef01234567, 63, 0x8000000000000000, 0xc4d5e6f78091a2b3) |
| 735 | QLSHU(63, 0x89abcdef01234567, 63, 0x8000000000000000, 0x44d5e6f78091a2b3) |
| 736 | QRSH(63, 0x89abcdef01234567, 63, 0xffffffffffffffff, 0x13579bde02468ace) |
| 737 | QRSHU(63, 0x89abcdef01234567, 63, 0x0000000000000001, 0x13579bde02468ace) |
| 738 | QLSH(64, 0x89abcdef01234567, 64, 0x0000000000000000, 0x89abcdef01234567) |
| 739 | QLSHU(64, 0x89abcdef01234567, 64, 0x0000000000000000, 0x89abcdef01234567) |
| 740 | QRSH(64, 0x89abcdef01234567, 64, 0xffffffffffffffff, 0x89abcdef01234567) |
| 741 | QRSHU(64, 0x89abcdef01234567, 64, 0x0000000000000000, 0x89abcdef01234567) |
| 742 | #endif |
| 743 | #endif |
| 744 | prepare |
| 745 | pushargi ok |
| 746 | finishi @printf |
| 747 | ret |
| 748 | epilog |