Calls to md_number_to_chars don't need to cast their value arg (*).
Remove those casts. avr_output_property_recode made a call to
md_number_to_chars with size of 1. Simplify that. tc-bpf.c
md_convert_frag used write_insn_bytes that simply copied input to
output. Dispense with that nonsense, and similarly in a couple of
other places where md_number_to_chars was called with size 1.
*) unless the value arg is an expression that needs a cast, eg. tic54x
emit_insn where the shift left could trigger signed overflow UB
without a cast.
tmp_bits = prec_bits;
while (tmp_bits > LITTLENUM_NUMBER_OF_BITS)
{
- if (lp[n] != (LITTLENUM_TYPE) - 1)
+ if (lp[n] != (LITTLENUM_TYPE) -1)
break;
--n;
tmp_bits -= LITTLENUM_NUMBER_OF_BITS;
if (big_wordian)
{
- for (wordP = words; prec --;)
+ for (wordP = words; prec--;)
{
- md_number_to_chars (litP, (valueT) (* wordP ++), sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, *wordP++, sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
}
else
{
- for (wordP = words + prec; prec --;)
+ for (wordP = words + prec; prec--;)
{
- md_number_to_chars (litP, (valueT) (* -- wordP), sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, *--wordP, sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
}
*(p + 3) = alpha_evax_proc->ra_save;
break;
case PDSC_S_K_KIND_FP_STACK:
- md_number_to_chars (p + 2, (valueT) alpha_evax_proc->rsa_offset, 2);
+ md_number_to_chars (p + 2, alpha_evax_proc->rsa_offset, 2);
break;
default: /* impossible */
break;
*(p + 5) = alpha_evax_proc->type & 0x0f;
/* Signature offset. */
- md_number_to_chars (p + 6, (valueT) 0, 2);
+ md_number_to_chars (p + 6, 0, 2);
fix_new_exp (frag_now, p - frag_now->fr_literal + 8,
8, &exp, 0, BFD_RELOC_64);
/* pdesc+16: Size. */
p = frag_more (6);
- md_number_to_chars (p, (valueT) alpha_evax_proc->framesize, 4);
- md_number_to_chars (p + 4, (valueT) 0, 2);
+ md_number_to_chars (p, alpha_evax_proc->framesize, 4);
+ md_number_to_chars (p + 4, 0, 2);
/* Entry length. */
exp.X_op = O_subtract;
fix->fx_line = 0;
frag_ptr += 4;
- md_number_to_chars (frag_ptr, (bfd_byte) record->type, 1);
- frag_ptr += 1;
+ *frag_ptr++ = record->type & 0xff;
/* Write out the rest of the data. */
switch (record->type)
}
}
-/* Write a BPF instruction to BUF. */
-
-static void
-write_insn_bytes (bfd_byte *buf, char *bytes)
-{
- int i;
-
- for (i = 0; i < 8; ++i)
- md_number_to_chars ((char *) buf + i, (valueT) bytes[i], 1);
-}
-
/* *FRAGP has been relaxed to its final size, and now needs to have
the bytes inside it modified to conform to the new size.
{
/* 16-bit disp is known and not in range. Turn the JA
into a JAL with a 32-bit displacement. */
- char bytes[8] = {0};
-
- bytes[0] = ((BPF_CLASS_JMP32|BPF_CODE_JA|BPF_SRC_K) >> 56) & 0xff;
- bytes[1] = (word >> 48) & 0xff;
- bytes[2] = 0; /* disp16 high */
- bytes[3] = 0; /* disp16 lo */
- write_insn_bytes (buf, bytes);
+ buf[0] = ((BPF_CLASS_JMP32|BPF_CODE_JA|BPF_SRC_K) >> 56) & 0xff;
+ buf[1] = (word >> 48) & 0xff;
+ buf[2] = 0; /* disp16 high */
+ buf[3] = 0; /* disp16 lo */
+ buf[4] = 0;
+ buf[5] = 0;
+ buf[6] = 0;
+ buf[7] = 0;
/* Install fixup for the JAL. */
reloc_howto_type *reloc_howto
/* 16-bit disp is known and not in range. Turn the JXX
into a sequence JXX +1; JA +1; JAL d32. */
- char bytes[8];
-
/* First, set the 16-bit offset in the current
instruction to 1. */
/* Then, write the JA + 1 */
- bytes[0] = 0x05; /* JA */
- bytes[1] = 0x0;
- encode_int16 (1, bytes + 2);
- bytes[4] = 0x0;
- bytes[5] = 0x0;
- bytes[6] = 0x0;
- bytes[7] = 0x0;
- write_insn_bytes (buf, bytes);
+ buf[0] = 0x05; /* JA */
+ buf[1] = 0x0;
+ encode_int16 (1, (char *) buf + 2);
+ buf[4] = 0x0;
+ buf[5] = 0x0;
+ buf[6] = 0x0;
+ buf[7] = 0x0;
buf += 8;
/* Finally, write the JAL to the target. */
- bytes[0] = ((BPF_CLASS_JMP32|BPF_CODE_JA|BPF_SRC_K) >> 56) & 0xff;
- bytes[1] = 0;
- bytes[2] = 0;
- bytes[3] = 0;
- encode_int32 ((int32_t) 0, bytes + 4);
- write_insn_bytes (buf, bytes);
+ buf[0] = ((BPF_CLASS_JMP32|BPF_CODE_JA|BPF_SRC_K) >> 56) & 0xff;
+ buf[1] = 0;
+ buf[2] = 0;
+ buf[3] = 0;
+ buf[4] = 0;
+ buf[5] = 0;
+ buf[6] = 0;
+ buf[7] = 0;
/* Install fixup for the JAL. */
reloc_howto_type *reloc_howto
md_number_to_chars (where, *valP, 8);
break;
case BFD_RELOC_BPF_DISP16:
- md_number_to_chars (where + 2, (uint16_t) *valP, 2);
+ md_number_to_chars (where + 2, *valP, 2);
break;
case BFD_RELOC_BPF_DISP32:
case BFD_RELOC_BPF_DISPCALL32:
- md_number_to_chars (where + 4, (uint32_t) *valP, 4);
+ md_number_to_chars (where + 4, *valP, 4);
break;
case BFD_RELOC_16_PCREL:
- md_number_to_chars (where + 2, (uint32_t) *valP, 2);
+ md_number_to_chars (where + 2, *valP, 2);
break;
default:
as_bad_where (fixP->fx_file, fixP->fx_line,
{
char *this_frag = frag_more (insn->size);
char bytes[16];
- int i;
/* First encode the known parts of the instruction, including
opcodes and constant immediates, and write them to the frag. */
encode_insn (insn, bytes, 0 /* relax */);
- for (i = 0; i < insn->size; ++i)
- md_number_to_chars (this_frag + i, (valueT) bytes[i], 1);
+ memcpy (this_frag, bytes, insn->size);
/* Now install the instruction fixups. */
install_insn_fixups (insn, frag_now,
add_relaxed_insn (struct bpf_insn *insn, expressionS *exp)
{
char bytes[16];
- int i;
char *this_frag;
unsigned worst_case = relaxed_branch_length (NULL, NULL, 0);
unsigned best_case = insn->size;
/* First encode the known parts of the instruction, including
opcodes and constant immediates, and write them to the frag. */
encode_insn (insn, bytes, 1 /* relax */);
- for (i = 0; i < insn->size; ++i)
- md_number_to_chars (this_frag + i, (valueT) bytes[i], 1);
+ memcpy (this_frag, bytes, insn->size);
/* Note that instruction fixups will be applied once the frag is
relaxed, in md_convert_frag. */
/* Write the instruction encoding to frag. */
for (i = 0; i < insn_size; i++)
{
- md_number_to_chars (this_frag, (valueT) words[i], 2);
+ md_number_to_chars (this_frag, words[i], 2);
this_frag += 2;
}
}
opcodep = cris_insn_first_word_frag ();
/* Output the prefix opcode. */
- md_number_to_chars (opcodep, (long) prefix.opcode, 2);
+ md_number_to_chars (opcodep, prefix.opcode, 2);
/* Having a specified reloc only happens for DIP and for BDAP with
PIC or TLS operands, but it is ok to drop through here for the other
opcodep = frag_more (2);
/* Output the instruction opcode. */
- md_number_to_chars (opcodep, (long) (output_instruction.opcode), 2);
+ md_number_to_chars (opcodep, output_instruction.opcode, 2);
/* Output the symbol-dependent instruction stuff. */
if (output_instruction.insn_type == CRIS_INSN_BRANCH)
/* Write the instruction encoding to frag. */
for (i = 0; i < insn_size; i++)
{
- md_number_to_chars (this_frag, (valueT) words[i], 2);
+ md_number_to_chars (this_frag, words[i], 2);
this_frag += 2;
}
}
fixP->fx_r_type = fixP->fx_cgen.opinfo;
}
- md_number_to_chars (displacement, (valueT) addend, extension + 1);
+ md_number_to_chars (displacement, addend, extension + 1);
fragP->fr_fix += (extension & -2); /* 0,2 or 4 bytes added. */
}
}
/* Now put displacement after opcode. */
md_number_to_chars ((char *) where_to_put_displacement,
- (valueT) (displacement_from_opcode_start - extension),
+ displacement_from_opcode_start - extension,
DISP_SIZE_FROM_RELAX_STATE (fragP->fr_subtype));
fragP->fr_fix += extension;
}
{
while (prec--)
{
- number_to_chars_bigendian (lit, (long) (*words++),
- sizeof (LITTLENUM_TYPE));
+ number_to_chars_bigendian (lit, *words++, sizeof (LITTLENUM_TYPE));
lit += sizeof (LITTLENUM_TYPE);
}
}
{
while (prec--)
{
- number_to_chars_littleendian (lit, (long) (words[prec]),
+ number_to_chars_littleendian (lit, words[prec],
sizeof (LITTLENUM_TYPE));
lit += sizeof (LITTLENUM_TYPE);
}
{
for (i = 0; i < prec; i++)
{
- md_number_to_chars (litP, (valueT) words[i],
- sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
}
{
for (i = prec - 1; i >= 0; i--)
{
- md_number_to_chars (litP, (valueT) words[i],
- sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
}
for (i = 0; i < prec; i++)
{
- md_number_to_chars (litP, (valueT) words[i],
- sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
{
for (i = prec - 1; i >= 0; i--)
{
- md_number_to_chars (litP, (valueT) words[i],
- sizeof (LITTLENUM_TYPE));
- litP += sizeof (LITTLENUM_TYPE);
+ md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE));
+ litP += sizeof (LITTLENUM_TYPE);
}
}
else
for (i = 0; i < prec; i++)
{
- md_number_to_chars (litP, (valueT) words[i],
- sizeof (LITTLENUM_TYPE));
- litP += sizeof (LITTLENUM_TYPE);
+ md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE));
+ litP += sizeof (LITTLENUM_TYPE);
}
return NULL;
for (i = prec - 1; i >= 0; i--)
{
- md_number_to_chars (litP, (valueT) words[i], 2);
+ md_number_to_chars (litP, words[i], 2);
litP += 2;
}
{
for (i = 0; i < prec; i++)
{
- md_number_to_chars (litP, (valueT) words[i],
- sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
}
{
for (i = prec - 1; i >= 0; i--)
{
- md_number_to_chars (litP, (valueT) words[i],
- sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
}
#ifdef ENDIAN
*mem_ptr = object;
#else
- mem_ptr[0] = (char) object;
+ mem_ptr[0] = object;
object >>= 8;
- mem_ptr[1] = (char) object;
+ mem_ptr[1] = object;
object >>= 8;
- mem_ptr[2] = (char) object;
+ mem_ptr[2] = object;
object >>= 8;
- mem_ptr[3] = (char) object;
+ mem_ptr[3] = object;
#endif
}
else
{
case 4:
gen_to_words (words, 2, 8);
- md_number_to_imm (memP, (long) words[0],
+ md_number_to_imm (memP, words[0],
sizeof (LITTLENUM_TYPE));
md_number_to_imm (memP + sizeof (LITTLENUM_TYPE),
- (long) words[1],
+ words[1],
sizeof (LITTLENUM_TYPE));
break;
case 8:
gen_to_words (words, 4, 11);
- md_number_to_imm (memP, (long) words[0],
+ md_number_to_imm (memP, words[0],
sizeof (LITTLENUM_TYPE));
md_number_to_imm (memP + sizeof (LITTLENUM_TYPE),
- (long) words[1],
+ words[1],
sizeof (LITTLENUM_TYPE));
md_number_to_imm ((memP + 2
* sizeof (LITTLENUM_TYPE)),
- (long) words[2],
+ words[2],
sizeof (LITTLENUM_TYPE));
md_number_to_imm ((memP + 3
* sizeof (LITTLENUM_TYPE)),
- (long) words[3],
+ words[3],
sizeof (LITTLENUM_TYPE));
break;
}
disp = (S_GET_VALUE (fragP->fr_symbol) + fragP->fr_offset) - object_address;
disp += md_pcrel_adjust (fragP);
- md_number_to_disp (buffer_address, (long) disp, (int) ext);
+ md_number_to_disp (buffer_address, disp, ext);
fragP->fr_fix += ext;
}
valueT offset;
offset = to_addr - from_addr;
- md_number_to_chars (ptr, (valueT) 0xEA, 1);
- md_number_to_disp (ptr + 1, (valueT) offset, 2);
+ *ptr++ = 0xEA;
+ md_number_to_disp (ptr, offset, 2);
}
void
valueT offset;
offset = to_addr - from_addr;
- md_number_to_chars (ptr, (valueT) 0xEA, 1);
- md_number_to_disp (ptr + 1, (valueT) offset, 4);
+ *ptr++ = 0xEA;
+ md_number_to_disp (ptr, offset, 4);
}
\f
const char md_shortopts[] = "m:";
bfd_set_section_flags (apuinfo_secp, SEC_HAS_CONTENTS | SEC_READONLY);
p = frag_more (4);
- md_number_to_chars (p, (valueT) 8, 4);
+ md_number_to_chars (p, 8, 4);
p = frag_more (4);
- md_number_to_chars (p, (valueT) ppc_apuinfo_num * 4, 4);
+ md_number_to_chars (p, ppc_apuinfo_num * 4, 4);
p = frag_more (4);
- md_number_to_chars (p, (valueT) 2, 4);
+ md_number_to_chars (p, 2, 4);
p = frag_more (8);
strcpy (p, APUINFO_LABEL);
for (i = 0; i < ppc_apuinfo_num; i++)
{
p = frag_more (4);
- md_number_to_chars (p, (valueT) ppc_apuinfo_list[i], 4);
+ md_number_to_chars (p, ppc_apuinfo_list[i], 4);
}
frag_align (2, 0, 0);
exp.X_add_number = 0;
emit_expr (&exp, 4);
fragp = frag_more (7 * 4);
- md_number_to_chars (fragp, (valueT) s3_cur_proc_ptr->reg_mask, 4);
- md_number_to_chars (fragp + 4, (valueT) s3_cur_proc_ptr->reg_offset, 4);
- md_number_to_chars (fragp + 8, (valueT) s3_cur_proc_ptr->fpreg_mask, 4);
- md_number_to_chars (fragp + 12, (valueT) s3_cur_proc_ptr->leaf, 4);
- md_number_to_chars (fragp + 16, (valueT) s3_cur_proc_ptr->frame_offset, 4);
- md_number_to_chars (fragp + 20, (valueT) s3_cur_proc_ptr->frame_reg, 4);
- md_number_to_chars (fragp + 24, (valueT) s3_cur_proc_ptr->pc_reg, 4);
+ md_number_to_chars (fragp, s3_cur_proc_ptr->reg_mask, 4);
+ md_number_to_chars (fragp + 4, s3_cur_proc_ptr->reg_offset, 4);
+ md_number_to_chars (fragp + 8, s3_cur_proc_ptr->fpreg_mask, 4);
+ md_number_to_chars (fragp + 12, s3_cur_proc_ptr->leaf, 4);
+ md_number_to_chars (fragp + 16, s3_cur_proc_ptr->frame_offset, 4);
+ md_number_to_chars (fragp + 20, s3_cur_proc_ptr->frame_reg, 4);
+ md_number_to_chars (fragp + 24, s3_cur_proc_ptr->pc_reg, 4);
subseg_set (saved_seg, saved_subseg);
}
if (target_big_endian)
{
for (i = 0; i < prec; i++)
- {
- s3_md_number_to_chars (litP, (valueT) words[i], 2);
- litP += 2;
- }
+ {
+ s3_md_number_to_chars (litP, words[i], 2);
+ litP += 2;
+ }
}
else
{
for (i = 0; i < prec; i += 2)
- {
- s3_md_number_to_chars (litP, (valueT) words[i + 1], 2);
- s3_md_number_to_chars (litP + 2, (valueT) words[i], 2);
- litP += 4;
- }
+ {
+ s3_md_number_to_chars (litP, words[i + 1], 2);
+ s3_md_number_to_chars (litP + 2, words[i], 2);
+ litP += 4;
+ }
}
return 0;
exp.X_add_number = 0;
emit_expr (&exp, 4);
fragp = frag_more (7 * 4);
- s7_number_to_chars (fragp, (valueT) s7_cur_proc_ptr->reg_mask, 4);
- s7_number_to_chars (fragp + 4, (valueT) s7_cur_proc_ptr->reg_offset, 4);
- s7_number_to_chars (fragp + 8, (valueT) s7_cur_proc_ptr->fpreg_mask, 4);
- s7_number_to_chars (fragp + 12, (valueT) s7_cur_proc_ptr->leaf, 4);
- s7_number_to_chars (fragp + 16, (valueT) s7_cur_proc_ptr->frame_offset, 4);
- s7_number_to_chars (fragp + 20, (valueT) s7_cur_proc_ptr->frame_reg, 4);
- s7_number_to_chars (fragp + 24, (valueT) s7_cur_proc_ptr->pc_reg, 4);
+ s7_number_to_chars (fragp, s7_cur_proc_ptr->reg_mask, 4);
+ s7_number_to_chars (fragp + 4, s7_cur_proc_ptr->reg_offset, 4);
+ s7_number_to_chars (fragp + 8, s7_cur_proc_ptr->fpreg_mask, 4);
+ s7_number_to_chars (fragp + 12, s7_cur_proc_ptr->leaf, 4);
+ s7_number_to_chars (fragp + 16, s7_cur_proc_ptr->frame_offset, 4);
+ s7_number_to_chars (fragp + 20, s7_cur_proc_ptr->frame_reg, 4);
+ s7_number_to_chars (fragp + 24, s7_cur_proc_ptr->pc_reg, 4);
subseg_set (saved_seg, saved_subseg);
}
ignore_rest_of_line ();
}
p = frag_more (4);
- s7_number_to_chars (p, (valueT) 0, 4);
+ s7_number_to_chars (p, 0, 4);
fix_new_exp (frag_now, p - frag_now->fr_literal, 4, &ex, false, BFD_RELOC_GPREL32);
demand_empty_rest_of_line ();
}
if (target_big_endian)
{
for (i = 0; i < prec; i++)
- {
- s7_number_to_chars (litP, (valueT) words[i], 2);
- litP += 2;
- }
+ {
+ s7_number_to_chars (litP, words[i], 2);
+ litP += 2;
+ }
}
else
{
for (i = 0; i < prec; i += 2)
- {
- s7_number_to_chars (litP, (valueT) words[i + 1], 2);
- s7_number_to_chars (litP + 2, (valueT) words[i], 2);
- litP += 4;
- }
+ {
+ s7_number_to_chars (litP, words[i + 1], 2);
+ s7_number_to_chars (litP + 2, words[i], 2);
+ litP += 4;
+ }
}
return 0;
/* Put out the opcode. */
if (INSN_BIG_ENDIAN)
- number_to_chars_bigendian (toP, (valueT) theinsn->opcode, 4);
+ number_to_chars_bigendian (toP, theinsn->opcode, 4);
else
- number_to_chars_littleendian (toP, (valueT) theinsn->opcode, 4);
+ number_to_chars_littleendian (toP, theinsn->opcode, 4);
/* Put out the symbol-dependent stuff. */
if (theinsn->reloc != BFD_RELOC_NONE)
char *p;
p = frag_more (INSN_SIZE);
- md_number_to_chars (p, (valueT) p_insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, p_insn.opcode, INSN_SIZE);
}
{
insn.opcode |= insn.addressing_mode;
p = frag_more (INSN_SIZE);
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else
{
into instruction word, and output. */
insn.opcode |=
(insn.operand_type[am_insn]->direct.address & 0x0000FFFF);
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else
{
/* Unresolved direct addressing mode instruction. */
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
fix_new_exp (frag_now, p + 2 - (frag_now->fr_literal), 2,
& insn.operand_type[am_insn]->direct.direct_expr,
0, 0);
{
case Imm_Float:
debug ("Floating point first operand\n");
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
keeploc = input_line_pointer;
input_line_pointer =
as_warn (_("only lower 16-bits of first operand are used"));
insn.opcode |=
(insn.operand_type[0]->immediate.u_number & 0x0000FFFFL);
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
break;
case Imm_SInt:
}
insn.opcode |=
(insn.operand_type[0]->immediate.s_number & 0x0000FFFFL);
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
break;
}
}
/* Unresolved immediate label. */
if (insn.operands > 1)
insn.opcode |= (insn.operand_type[1]->reg.opcode << 16);
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
fix_new_exp (frag_now, p + 2 - (frag_now->fr_literal), 2,
& insn.operand_type[0]->immediate.imm_expr,
0, 0);
{
insn.opcode |= (insn.operand_type[0]->reg.opcode);
insn.opcode |= PC_Register;
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else
{
{
insn.opcode |=
(insn.operand_type[0]->immediate.s_number & 0x0000FFFF);
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else
{
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
fix_new_exp (frag_now, p + 2 - (frag_now->fr_literal),
2, & insn.operand_type[0]->immediate.imm_expr,
1, 0);
{
insn.opcode |= (insn.operand_type[1]->reg.opcode);
insn.opcode |= PC_Register;
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else if (insn.operand_type[1]->immediate.resolved == 1)
{
}
insn.opcode |= (insn.operand_type[1]->immediate.s_number);
insn.opcode |= PC_Relative;
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else
{
insn.opcode |= PC_Relative;
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
fix_new_exp (frag_now, p + 2 - frag_now->fr_literal, 2,
& insn.operand_type[1]->immediate.imm_expr,
1, 0);
as_bad (_("interrupt vector for trap instruction out of range"));
return;
}
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else if (insn.tm->opcode_modifier == StackOp
|| insn.tm->opcode_modifier == Rotate)
{
/* Push, Pop and Rotate instructions. */
insn.opcode |= (insn.operand_type[0]->reg.opcode << 16);
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else if ((insn.tm->operand_types[0] & (Abs24 | Direct))
== (Abs24 | Direct))
/* Direct addressing uses lower 8 bits of direct address. */
insn.opcode |=
(insn.operand_type[0]->direct.address & 0x00FF0000) >> 16;
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else
{
fixS *fix;
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
fix = fix_new_exp (frag_now, p + 3 - (frag_now->fr_literal),
1, &insn.operand_type[0]->direct.direct_expr, 0, 0);
/* Ensure that the assembler doesn't complain
}
insn.opcode |=
((insn.operand_type[0]->immediate.u_number & 0x00FF0000) >> 16);
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else
{
fixS *fix;
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
fix = fix_new_exp (frag_now, p + 3 - (frag_now->fr_literal),
1, &insn.operand_type[0]->immediate.imm_expr,
0, 0);
as_warn (_("first operand is too large for a 24-bit displacement"));
insn.opcode |=
(insn.operand_type[0]->immediate.u_number & 0x00FFFFFF);
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
else
{
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
fix_new_exp (frag_now, p + 1 - (frag_now->fr_literal), 3,
& insn.operand_type[0]->immediate.imm_expr, 0, 0);
}
}
else if (insn.tm->operand_types[0] & NotReq)
/* Check for NOP instruction without arguments. */
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
else if (insn.tm->operands == 0)
/* Check for instructions without operands. */
- md_number_to_chars (p, (valueT) insn.opcode, INSN_SIZE);
+ md_number_to_chars (p, insn.opcode, INSN_SIZE);
}
debug ("Addressing mode: %08X\n", insn.addressing_mode);
{
for (wordP = words; wordP<(words+prec) ; wordP+=2)
{
if (wordP < (words + prec - 1)) /* Dump wordP[1] (if we have one). */
- {
- md_number_to_chars (litP, (valueT) (wordP[1]),
- sizeof (LITTLENUM_TYPE));
- litP += sizeof (LITTLENUM_TYPE);
- }
+ {
+ md_number_to_chars (litP, wordP[1], sizeof (LITTLENUM_TYPE));
+ litP += sizeof (LITTLENUM_TYPE);
+ }
/* Dump wordP[0] */
- md_number_to_chars (litP, (valueT) (wordP[0]),
- sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, wordP[0], sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
return NULL;
char *p = frag_more (size);
if (size == 2)
- md_number_to_chars (p, (valueT) insn->opcode[i].word, 2);
+ md_number_to_chars (p, insn->opcode[i].word, 2);
else
md_number_to_chars (p, (valueT) insn->opcode[i].word << 16, 4);
the bigendian 386. */
for (wordP = words + prec - 1; prec--;)
{
- md_number_to_chars (litP, (valueT) (*wordP--), sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, *wordP--, sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
return 0;
f);
}
- number_to_chars_littleendian (f, (unsigned int)bits, 4);
- number_to_chars_littleendian (f + 4, (unsigned int)(bits >> 32), 4);
+ number_to_chars_littleendian (f, bits, 4);
+ number_to_chars_littleendian (f + 4, bits >> 32, 4);
current_bundle_index = 0;
/* Emit DWARF2 debugging information. */
the bigendian 386. */
for (wordP = words + prec - 1; prec--;)
{
- md_number_to_chars (litP, (valueT) (*wordP--), sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, *wordP--, sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
return 0;
/* Write the note type. */
p = frag_more (4);
- md_number_to_chars (p, (valueT) id, 4);
+ md_number_to_chars (p, id, 4);
/* Write the name field. */
p = frag_more (4);
{
for (i = 0; i < prec; i++)
{
- md_number_to_chars (litP, (valueT) words[i],
- sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
}
{
for (i = prec - 1; i >= 0; i--)
{
- md_number_to_chars (litP, (valueT) words[i],
- sizeof (LITTLENUM_TYPE));
+ md_number_to_chars (litP, words[i], sizeof (LITTLENUM_TYPE));
litP += sizeof (LITTLENUM_TYPE);
}
}
/* Follow the standard note section layout:
First write the length of the name string. */
p = frag_more (4);
- md_number_to_chars (p, (valueT) XTINFO_NAMESZ, 4);
+ md_number_to_chars (p, XTINFO_NAMESZ, 4);
/* Next comes the length of the "descriptor", i.e., the actual data. */
p = frag_more (4);
- md_number_to_chars (p, (valueT) sz, 4);
+ md_number_to_chars (p, sz, 4);
/* Write the note type. */
p = frag_more (4);
- md_number_to_chars (p, (valueT) XTINFO_TYPE, 4);
+ md_number_to_chars (p, XTINFO_TYPE, 4);
/* Write the name field. */
p = frag_more (XTINFO_NAMESZ);
md_number_to_chars (p, fill,
(size > BSD_FILL_SIZE_CROCK_4
? BSD_FILL_SIZE_CROCK_4
- : (int) size));
+ : size));
/* Note: .fill (),0 emits no frag (since we are asked to .fill 0 bytes)
but emits no error message because it seems a legal thing to do.
It is a degenerate case of .fill but could be emitted by a
(uint64_t) get, (uint64_t) use);
}
/* Put bytes in right order. */
- md_number_to_chars (p, use, (int) nbytes);
+ md_number_to_chars (p, use, nbytes);
}
else if (op == O_big)
{
if (nbytes == 1)
{
- md_number_to_chars (p, (valueT) generic_bignum[0], 1);
+ md_number_to_chars (p, generic_bignum[0], 1);
return;
}
know (nbytes % CHARS_PER_LITTLENUM == 0);
while (size >= CHARS_PER_LITTLENUM)
{
--nums;
- md_number_to_chars (p, (valueT) *nums, CHARS_PER_LITTLENUM);
+ md_number_to_chars (p, *nums, CHARS_PER_LITTLENUM);
size -= CHARS_PER_LITTLENUM;
p += CHARS_PER_LITTLENUM;
}
nums = generic_bignum;
while (size >= CHARS_PER_LITTLENUM)
{
- md_number_to_chars (p, (valueT) *nums, CHARS_PER_LITTLENUM);
+ md_number_to_chars (p, *nums, CHARS_PER_LITTLENUM);
++nums;
size -= CHARS_PER_LITTLENUM;
p += CHARS_PER_LITTLENUM;
/* At least for now, stabs in a special stab section are always
output as 12 byte blocks of information. */
p = frag_more (8);
- md_number_to_chars (p, (valueT) stroff, 4);
- md_number_to_chars (p + 4, (valueT) type, 1);
- md_number_to_chars (p + 5, (valueT) other, 1);
- md_number_to_chars (p + 6, (valueT) desc, 2);
+ md_number_to_chars (p, stroff, 4);
+ md_number_to_chars (p + 4, type, 1);
+ md_number_to_chars (p + 5, other, 1);
+ md_number_to_chars (p + 6, desc, 2);
if (what == 's' || what == 'n')
{