Lines Matching refs:strp

89 m32c_cgen_isa_register (const char **strp)
92 const char *s = *strp;
116 if (**strp == '[') \
119 errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, & value);\
129 if (**strp == '[') \
132 errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value); \
139 parse_unsigned6 (CGEN_CPU_DESC cd, const char **strp,
155 parse_unsigned8 (CGEN_CPU_DESC cd, const char **strp,
162 if (strncasecmp (*strp, "%dsp8(", 6) == 0)
167 *strp += 6;
168 errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_8,
170 if (**strp != ')')
172 (*strp) ++;
183 if (strncmp (*strp, "0x0", 3) == 0
184 || (**strp == '0' && *(*strp + 1) != 'x'))
201 parse_signed4 (CGEN_CPU_DESC cd, const char **strp,
208 if (strncmp (*strp, "0x0", 3) == 0
209 || (**strp == '0' && *(*strp + 1) != 'x'))
226 parse_signed4n (CGEN_CPU_DESC cd, const char **strp,
233 if (strncmp (*strp, "0x0", 3) == 0
234 || (**strp == '0' && *(*strp + 1) != 'x'))
251 parse_signed8 (CGEN_CPU_DESC cd, const char **strp,
257 if (strncasecmp (*strp, "%hi8(", 5) == 0)
262 *strp += 5;
263 errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32C_HI8,
265 if (**strp != ')')
267 (*strp) ++;
291 parse_unsigned16 (CGEN_CPU_DESC cd, const char **strp,
298 if (strncasecmp (*strp, "%dsp16(", 7) == 0)
303 *strp += 7;
304 errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_16,
306 if (**strp != ')')
308 (*strp) ++;
320 if (**strp == '[')
324 if (m32c_cgen_isa_register (strp))
327 if (strncmp (*strp, "0x0", 3) == 0
328 || (**strp == '0' && *(*strp + 1) != 'x'))
331 errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, & value);
340 && (strncmp (*strp, "[a", 2) == 0
341 || **strp == ','
342 || **strp == 0))
350 parse_signed16 (CGEN_CPU_DESC cd, const char **strp,
356 if (strncasecmp (*strp, "%lo16(", 6) == 0)
361 *strp += 6;
362 errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
364 if (**strp != ')')
366 (*strp) ++;
377 if (strncasecmp (*strp, "%hi16(", 6) == 0)
382 *strp += 6;
383 errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_HI16,
385 if (**strp != ')')
387 (*strp) ++;
411 parse_unsigned20 (CGEN_CPU_DESC cd, const char **strp,
418 if (**strp == '[')
422 if (m32c_cgen_isa_register (strp))
425 errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, & value);
437 parse_unsigned24 (CGEN_CPU_DESC cd, const char **strp,
444 if (**strp == '[')
448 if (m32c_cgen_isa_register (strp))
451 errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, & value);
464 parse_signed24 (CGEN_CPU_DESC cd, const char **strp,
483 parse_signed32 (CGEN_CPU_DESC cd, const char **strp,
489 errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
498 parse_imm1_S (CGEN_CPU_DESC cd, const char **strp,
504 errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
516 parse_imm3_S (CGEN_CPU_DESC cd, const char **strp,
522 errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
534 parse_bit3_S (CGEN_CPU_DESC cd, const char **strp,
540 errmsg = cgen_parse_signed_integer (cd, strp, opindex, & value);
553 const char **strp,
563 errmsg = cgen_parse_address (cd, strp, M32C_OPERAND_LAB_5_3,
588 parse_Bitno16R (CGEN_CPU_DESC cd, const char **strp,
594 errmsg = cgen_parse_unsigned_integer (cd, strp, opindex, & value);
606 parse_unsigned_bitbase (CGEN_CPU_DESC cd, const char **strp,
613 const char *newp = *strp;
655 *strp = newp;
660 parse_signed_bitbase (CGEN_CPU_DESC cd, const char **strp,
667 const char *newp = *strp;
700 *strp = newp;
705 parse_unsigned_bitbase8 (CGEN_CPU_DESC cd, const char **strp,
708 return parse_unsigned_bitbase (cd, strp, opindex, valuep, 8, 0);
712 parse_unsigned_bitbase11 (CGEN_CPU_DESC cd, const char **strp,
715 return parse_unsigned_bitbase (cd, strp, opindex, valuep, 11, 0);
719 parse_unsigned_bitbase16 (CGEN_CPU_DESC cd, const char **strp,
722 return parse_unsigned_bitbase (cd, strp, opindex, valuep, 16, 1);
726 parse_unsigned_bitbase19 (CGEN_CPU_DESC cd, const char **strp,
729 return parse_unsigned_bitbase (cd, strp, opindex, valuep, 19, 2);
733 parse_unsigned_bitbase27 (CGEN_CPU_DESC cd, const char **strp,
736 return parse_unsigned_bitbase (cd, strp, opindex, valuep, 27, 1);
740 parse_signed_bitbase8 (CGEN_CPU_DESC cd, const char **strp,
743 return parse_signed_bitbase (cd, strp, opindex, valuep, 8, 1);
747 parse_signed_bitbase11 (CGEN_CPU_DESC cd, const char **strp,
750 return parse_signed_bitbase (cd, strp, opindex, valuep, 11, 0);
754 parse_signed_bitbase19 (CGEN_CPU_DESC cd, const char **strp,
757 return parse_signed_bitbase (cd, strp, opindex, valuep, 19, 1);
763 parse_suffix (const char **strp, char suffix)
765 const char *newp = *strp;
767 if (**strp == ':' && TOLOWER (*(*strp + 1)) == suffix)
768 newp = *strp + 2;
772 *strp = newp;
780 parse_S (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, const char **strp,
783 return parse_suffix (strp, 's');
787 parse_G (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, const char **strp,
790 return parse_suffix (strp, 'g');
794 parse_Q (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, const char **strp,
797 return parse_suffix (strp, 'q');
801 parse_Z (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, const char **strp,
804 return parse_suffix (strp, 'z');
810 parse_X (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, const char **strp,
813 if (**strp == ':')
819 parse_r0l_r0h (CGEN_CPU_DESC cd, const char **strp,
825 const char *newp = *strp;
844 *strp = newp;
852 parse_size (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, const char **strp,
855 if (**strp == '.'
856 && (*(*strp + 1) == 'b' || *(*strp + 1) == 'B'
857 || *(*strp + 1) == 'w' || *(*strp + 1) == 'W'))
859 *strp += 2;
887 const char **strp,
896 while (**strp && **strp != ')')
898 if (**strp == 'r' || **strp == 'R')
900 ++*strp;
901 regno = **strp - '0';
905 else if (**strp == 'a' || **strp == 'A')
907 ++*strp;
908 regno = **strp - '0';
911 regno = **strp - '0' + 4;
914 else if (strncasecmp (*strp, "sb", 2) == 0 || strncasecmp (*strp, "SB", 2) == 0)
917 ++*strp;
920 else if (strncasecmp (*strp, "fb", 2) == 0 || strncasecmp (*strp, "FB", 2) == 0)
923 ++*strp;
931 ++*strp;
932 if (**strp == ',')
934 if (*(*strp + 1) == ')')
936 ++*strp;
940 if (!*strp)
951 const char **strp,
955 return parse_regset (cd, strp, opindex, valuep, POP);
960 const char **strp,
964 return parse_regset (cd, strp, opindex, valuep, PUSH);