Lines Matching refs:first

137       uint16_t first = read_2ubyte_unaligned (data);
141 if ((first & 0x3) != 0x3)
143 else if ((first & 0x1f) != 0x1f)
145 else if ((first & 0x3f) != 0x3f)
147 else if ((first & 0x7f) != 0x7f)
151 uint16_t nnn = (first >> 12) & 0x7;
177 size_t idx = (first >> 13) * 3 + (first & 0x3);
185 if ((first & 0x1fe0) != 0)
188 op[0] = REGP ((first & 0x1c) >> 2);
190 opaddr = (((first >> 1) & 0x3c0)
191 | ((first >> 7) & 0x30)
192 | ((first >> 2) & 0x8)
193 | ((first >> 4) & 0x4));
197 else if (first == 0)
201 rs1 = (first >> 7) & 0x1f;
202 int16_t nzimm = ((0 - ((first >> 7) & 0x20))
203 | ((first >> 2) & 0x1f));
215 rs1 = (first >> 7) & 0x1f;
217 opaddr = ((first >> 7) & 0x20) | ((first >> 2) & 0x1f);
223 op[0] = FREGP ((first >> 2) & 0x7);
224 opaddr = ((first << 1) & 0xc0) | ((first >> 7) & 0x38);
226 opaddr, REGP ((first >> 7) & 0x7));
234 opaddr = (((first << 3) & 0x20) | ((first >> 2) & 0xe)
235 | ((first << 1) & 0x80) | ((first >> 1) | 0x40)
236 | ((first << 2) & 0x400) | (first & 0xb00)
237 | ((first >> 6) & 0x10));
243 int32_t imm = (((UINT32_C (0) - ((first >> 12) & 0x1)) << 5)
244 | ((first >> 2) & 0x1f));
245 uint16_t reg = (first >> 7) & 0x1f;
249 len = snprintf (addrbuf, sizeof (addrbuf), "0x%" PRIx16, first);
267 op[0] = FREG ((first >> 7) & 0x1f);
268 opaddr = ((first << 4) & 0x1c0) | ((first >> 7) & 0x20) | ((first >> 2) & 0x18);
276 op[0] = REGP ((first >> 2) & 0x7);
277 opaddr = (((first >> 7) & 0x38) | ((first << 1) & 0x40)
278 | ((first >> 4) & 0x4));
280 opaddr, REGP ((first >> 7) & 0x7));
284 mne = (first & 0xf80) == 0 ? "c.li" : "li";
285 op[0] = REG((first >> 7) & 0x1f);
287 (UINT16_C (0) - ((first >> 7) & 0x20)) | ((first >> 2) & 0x1f));
291 rd = ((first >> 7) & 0x1f);
294 len = snprintf (addrbuf, sizeof (addrbuf), "0x%" PRIx16, first);
299 uint16_t uimm = (((first << 4) & 0xc0)
300 | ((first >> 7) & 0x20)
301 | ((first >> 2) & 0x1c));
312 op[0] = FREGP ((first >> 2) & 0x7);
313 opaddr = (((first << 1) & 0x40)
314 | ((first >> 7) & 0x38)
315 | ((first >> 4) & 0x4));
320 op[0] = REGP ((first >> 2) & 0x7);
321 opaddr = ((first >> 7) & 0x38) | ((first << 1) & 0xc0);
324 opaddr, REGP ((first >> 7) & 0x7));
328 if ((first & 0xf80) == (2 << 7))
332 opaddr = (((first >> 2) & 0x10) | ((first << 3) & 0x20)
333 | ((first << 1) & 0x40) | ((first << 4) & 0x180)
334 | ((UINT64_C (0) - ((first >> 12) & 0x1)) << 9));
341 op[0] = REG((first & 0xf80) >> 7);
342 opaddr = (((UINT64_C (0) - ((first >> 12) & 0x1)) & ~0x1f)
343 | ((first >> 2) & 0x1f));
352 op[0] = FREG ((first >> 7) & 0x1f);
353 opaddr = (((first << 4) & 0xc0)
354 | ((first >> 7) & 0x20)
355 | ((first >> 2) & 0x1c));
360 op[0] = REG ((first >> 7) & 0x1f);
361 opaddr = (((first << 4) & 0x1c0)
362 | ((first >> 7) & 0x20)
363 | ((first >> 2) & 0x18));
369 if ((first & 0xc00) != 0xc00)
371 int16_t imm = ((first >> 7) & 0x20) | ((first >> 2) & 0x1f);
372 if ((first & 0xc00) == 0x800)
382 mne = (first & 0x400) ? "srai" : "srli";
395 op[2] = REGP ((first >> 2) & 0x7);
400 mne = (char *) arithmne[((first >> 10) & 0x4) | ((first >> 5) & 0x3)];
402 op[0] = op[1] = REGP ((first >> 7) & 0x7);
405 rs1 = (first >> 7) & 0x1f;
406 rs2 = (first >> 2) & 0x1f;
408 if ((first & 0x1000) == 0)
448 op[0] = FREGP ((first >> 2) & 0x7);
449 opaddr = ((first << 1) & 0xc0) | ((first >> 7) & 0x38);
451 opaddr, REGP ((first >> 7) & 0x7));
456 opaddr = (((UINT64_C (0) - ((first >> 12) & 0x1)) << 11)
457 | ((first << 2) & 0x400)
458 | ((first >> 1) & 0x300)
459 | ((first << 1) & 0x80)
460 | ((first >> 1) & 0x40)
461 | ((first << 3) & 0x20)
462 | ((first >> 7) & 0x10)
463 | ((first >> 2) & 0xe));
470 op[0] = FREG ((first >> 2) & 0x1f);
471 opaddr = ((first >> 1) & 0x1c0) | ((first >> 7) & 0x38);
479 op[0] = REG (8 + ((first >> 7) & 0x7));
480 opaddr = addr + (((UINT64_C (0) - ((first >> 12) & 0x1)) & ~0xff)
481 | ((first << 1) & 0xc0) | ((first << 3) & 0x20)
482 | ((first >> 7) & 0x18) | ((first >> 2) & 0x6));
488 op[0] = REG ((first >> 2) & 0x1f);
489 opaddr = ((first >> 1) & 0xc0) | ((first >> 7) & 0x3c);
498 op[0] = FREGP ((first >> 2) & 0x7);
499 opaddr = (((first >> 7) & 0x38) | ((first << 1) & 0x40)
500 | ((first >> 4) & 0x4));
505 op[0] = REGP ((first >> 2) & 0x7);
506 opaddr = ((first >> 7) & 0x38) | ((first << 1) & 0xc0);
509 opaddr, REGP ((first >> 7) & 0x7));
516 op[0] = FREG ((first & 0x7c) >> 2);
517 opaddr = ((first & 0x1e00) >> 7) | ((first & 0x180) >> 1);
522 op[0] = REG ((first & 0x7c) >> 2);
523 opaddr = ((first & 0x1c00) >> 7) | ((first & 0x380) >> 1);
534 len = snprintf (immbuf, sizeof (immbuf), "0x%04" PRIx16, first);