static const char *
parse_disp26 (CGEN_CPU_DESC cd,
- const char ** strp,
- int opindex,
- int opinfo,
- enum cgen_parse_operand_result * resultp,
- bfd_vma * valuep)
+ const char ** strp,
+ int opindex,
+ int opinfo,
+ enum cgen_parse_operand_result * resultp,
+ bfd_vma * valuep)
{
const char *errmsg = NULL;
enum cgen_parse_operand_result result_type;
*strp += 4;
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_OR1K_PLT26,
- & result_type, & value);
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 2) & 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value = (value >> 2) & 0xffff;
*valuep = value;
return errmsg;
}
*strp += 3;
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_HI16,
- & result_type, & value);
+ & result_type, & value);
if (**strp != ')')
- errmsg = MISSING_CLOSING_PARENTHESIS;
+ errmsg = MISSING_CLOSING_PARENTHESIS;
++*strp;
ret = value;
*strp += 3;
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
- & result_type, & value);
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
ret = value;
*strp += 4;
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_OR1K_GOT16,
- & result_type, & value);
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value &= 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}
*strp += 8;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_GOTPC_HI16,
- & result_type, & value);
+ BFD_RELOC_OR1K_GOTPC_HI16,
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 16) & 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value = (value >> 16) & 0xffff;
*valuep = value;
return errmsg;
}
*strp += 8;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_GOTPC_LO16,
- &result_type, &value);
+ BFD_RELOC_OR1K_GOTPC_LO16,
+ &result_type, &value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value &= 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}
*strp += 9;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_GOTOFF_HI16,
- & result_type, & value);
+ BFD_RELOC_OR1K_GOTOFF_HI16,
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 16) & 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value = (value >> 16) & 0xffff;
*valuep = value;
return errmsg;
}
*strp += 9;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_GOTOFF_LO16,
- &result_type, &value);
+ BFD_RELOC_OR1K_GOTOFF_LO16,
+ &result_type, &value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value &= 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}
*strp += 8;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_GD_HI16,
- & result_type, & value);
+ BFD_RELOC_OR1K_TLS_GD_HI16,
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 16) & 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value = (value >> 16) & 0xffff;
*valuep = value;
return errmsg;
}
*strp += 8;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_GD_LO16,
- &result_type, &value);
+ BFD_RELOC_OR1K_TLS_GD_LO16,
+ &result_type, &value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value &= 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}
*strp += 9;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_LDM_HI16,
- & result_type, & value);
+ BFD_RELOC_OR1K_TLS_LDM_HI16,
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 16) & 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value = (value >> 16) & 0xffff;
*valuep = value;
return errmsg;
}
*strp += 9;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_LDM_LO16,
- &result_type, &value);
+ BFD_RELOC_OR1K_TLS_LDM_LO16,
+ &result_type, &value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value &= 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}
*strp += 9;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_LDO_HI16,
- & result_type, & value);
+ BFD_RELOC_OR1K_TLS_LDO_HI16,
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 16) & 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value = (value >> 16) & 0xffff;
*valuep = value;
return errmsg;
}
*strp += 9;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_LDO_LO16,
- &result_type, &value);
+ BFD_RELOC_OR1K_TLS_LDO_LO16,
+ &result_type, &value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value &= 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}
*strp += 11;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_IE_HI16,
- & result_type, & value);
+ BFD_RELOC_OR1K_TLS_IE_HI16,
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 16) & 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value = (value >> 16) & 0xffff;
*valuep = value;
return errmsg;
}
*strp += 11;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_IE_LO16,
- &result_type, &value);
+ BFD_RELOC_OR1K_TLS_IE_LO16,
+ &result_type, &value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value &= 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}
*strp += 8;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_LE_HI16,
- & result_type, & value);
+ BFD_RELOC_OR1K_TLS_LE_HI16,
+ & result_type, & value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 16) & 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value = (value >> 16) & 0xffff;
*valuep = value;
return errmsg;
}
*strp += 8;
errmsg = cgen_parse_address (cd, strp, opindex,
- BFD_RELOC_OR1K_TLS_LE_LO16,
- &result_type, &value);
+ BFD_RELOC_OR1K_TLS_LE_LO16,
+ &result_type, &value);
if (**strp != ')')
- return MISSING_CLOSING_PARENTHESIS;
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
- && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value &= 0xffff;
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}