/* tc-tilepro.c -- Assemble for a TILEPro chip.
- Copyright (C) 2011-2020 Free Software Foundation, Inc.
+ Copyright (C) 2011-2022 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
static void
check_illegal_reg_writes (void)
{
- BFD_HOST_U_64_BIT all_regs_written = 0;
+ uint64_t all_regs_written = 0;
int j;
for (j = 0; j < current_bundle_index; j++)
{
const struct tilepro_instruction *instr = ¤t_bundle[j];
int k;
- BFD_HOST_U_64_BIT regs =
- ((BFD_HOST_U_64_BIT)1) << instr->opcode->implicitly_written_register;
- BFD_HOST_U_64_BIT conflict;
+ uint64_t regs =
+ (uint64_t) 1 << instr->opcode->implicitly_written_register;
+ uint64_t conflict;
for (k = 0; k < instr->opcode->num_operands; k++)
{
if (operand->is_dest_reg)
{
int regno = instr->operand_values[k].X_add_number;
- BFD_HOST_U_64_BIT mask = ((BFD_HOST_U_64_BIT)1) << regno;
+ uint64_t mask = (uint64_t) 1 << regno;
- if ((mask & ( (((BFD_HOST_U_64_BIT)1) << TREG_IDN1)
- | (((BFD_HOST_U_64_BIT)1) << TREG_UDN1)
- | (((BFD_HOST_U_64_BIT)1) << TREG_UDN2)
- | (((BFD_HOST_U_64_BIT)1) << TREG_UDN3))) != 0
+ if ((mask & ( ((uint64_t) 1 << TREG_IDN1)
+ | ((uint64_t) 1 << TREG_UDN1)
+ | ((uint64_t) 1 << TREG_UDN2)
+ | ((uint64_t) 1 << TREG_UDN3))) != 0
&& !allow_suspicious_bundles)
{
as_bad (_("Writes to register '%s' are not allowed."),
}
/* Writing to the zero register doesn't count. */
- regs &= ~(((BFD_HOST_U_64_BIT)1) << TREG_ZERO);
+ regs &= ~((uint64_t) 1 << TREG_ZERO);
conflict = all_regs_written & regs;
if (conflict != 0 && !allow_suspicious_bundles)
/* Make sure all instructions can be bundled with other
instructions. */
const struct tilepro_opcode *cannot_bundle = NULL;
- bfd_boolean seen_non_nop = FALSE;
+ bool seen_non_nop = false;
for (j = 0; j < current_bundle_index; j++)
{
else if (op->mnemonic != TILEPRO_OPC_NOP
&& op->mnemonic != TILEPRO_OPC_INFO
&& op->mnemonic != TILEPRO_OPC_INFOL)
- seen_non_nop = TRUE;
+ seen_non_nop = true;
}
if (cannot_bundle != NULL && seen_non_nop)
if (fixP->fx_subsy != (symbolS *) NULL)
{
/* We can't actually support subtracting a symbol. */
- as_bad_where (fixP->fx_file, fixP->fx_line, _("expression too complex"));
+ as_bad_subtract (fixP);
}
/* Correct relocation types for pc-relativeness. */