1 2002-01-15 Richard Earnshaw <rearnsha@arm.com>
3 Support for VFP instructions
4 * tc-arm.c (CP_WB_OK, CP_NO_WB): New defines.
5 (cp_address_required_here): New argument wb_ok. When false, do not
6 accept write-back forms of addressing. Change all callers.
7 (FPU_VFP_EXT_NONE, FPU_VFP_EXT_V1xD, FPU_VFP_VFP_V1)
8 (FPU_VFP_EXT_V2): Define.
9 (FPU_ARCH_VFP, FPU_ARCH_VFP_V1xD, FPU_ARCH_VFP_V1, FPU_ARCH_VFP_V2):
10 Define in terms of above.
11 (vfp_dp_reg_pos, vfp_sp_reg_pos, vfp_ldstm_type): New enums.
12 (vfp_reg): New struct.
13 (vfp_regs): New array of registers.
14 (insns): Add VFP instructions.
15 (sn_table): New array of VFP single-precision register names.
16 (dn_table): New array of VFP double-precision register names.
17 (all_reg_maps): Add the new register tables.
18 (arm_reg_type): Add new values for above. Increase RET_TYPE_MAX.
19 (vfp_sp_reg_required_here, vfp_dp_reg_required_here, do_vfp_sp_monadic)
20 (do_vfp_dp_monadic, do_vfp_sp_dyadic, do_vfp_dp_dyadic)
21 (do_vfp_reg_from_sp, do_vfp_sp_reg2, do_vfp_sp_from_reg)
22 (do_vfp_reg_from_dp, do_vfp_reg2_from_dp, do_vfp_dp_from_reg)
23 (do_vfp_dp_from_reg2, vfp_psr_parse, vfp_psr_required_here)
24 (do_vfp_reg_from_ctrl, do_vfp_ctrl_from_reg, do_vfp_sp_ldst)
25 (do_vfp_dp_ldst, vfp_sp_reg_list, vfp_dp_reg_list, vfp_sp_ldstm)
26 (vfp_dp_ldstm, do_vfp_sp_ldstmia, do_vfp_sp_ldstmdb, do_vfp_ldstmia)
27 (do_vfp_dp_ldstmdb, do_vfp_xp_ldstmia, do_vfp_xp_ldstmdb)
28 (do_vfp_sp_compare_z, do_vfp_dp_compare_z, do_vfp_dp_sp_cvt)
29 (do_vfp_sp_dp_cvt): New functions.
30 (md_begin): Set soft-float flag for appropriate VFP work.
31 (md_atof): Handle VFP-format doubles.
32 (md_parse_option): Handle VFP command-line options.
33 (md_show_usage): Display VFP command-line options.
35 2002-01-15 Richard Earnshaw <rearnsha@arm.com>
37 * tc-arm.c (md_parse_option): Tidy up setting of cpu_variant for
38 various command line options.
40 2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
42 * config/tc-xstormy16.c: (xstormy16_fix_adjustable): Do not fix
44 (xstormy16_md_apply_fix3): Do not return a value.
46 2002-01-14 Richard Earnshaw <rearnsha@arm.com>
48 * tc-arm.c (md_longopts): On targets that aren't bi-endian, support
49 the -EL/-EB option that matches the target's endianness.
50 (md_parse_option): Likewise.
52 2002-01-14 Richard Earnshaw <rearnsha@arm.com>
54 * tc-arm.c (md_longopts): Fix misplaced #endif -- the -oabi option
55 is not dependent on ARM_BI_ENDIAN.
57 2002-01-14 Richard Earnshaw <rearnsha@arm.com>
59 * tc-arm.c (all error messages): Normalize capitalization of messages.
61 * tc-arm.h (md_operand): Delete define.
62 * tc-arm.c (in_my_get_expression): New static variable.
63 (my_get_expression): Set and clear it.
64 (md_operand): New function. If called from my_get_expression
65 put the error in inst.error.
66 (output_inst): Now takes argument of instruction being assembled.
67 Print it out with any error message.
68 (do_ldst, do_ldstv4, thumb_load_store): Fault attempt to use a store
70 (end_of_line): Don't update inst.error if it is already set.
72 2002-01-11 Richard Earnshaw <rearnsha@arm.com>
74 * tc-arm.c ((do_ldst): Fix handling an immediate expression pseudo
75 op that can be translated into a mvn instruction.
77 2002-01-11 Steve Ellcey <sje@cup.hp.com>
79 * gas/config/tc-ia64.h (MD_FLAGS_DEFAULT): New Macro for
80 setting default md.flags.
81 (SHT_INIT_ARRAY): New elf special section used by HP-UX.
82 (SHT_FINI_ARRAY): New elf special section used by HP-UX.
83 * gas/config/tc-ia64.c (setup_unwind_header): Add support
84 for 32 bit unwind info blocks.
85 (generate_unwind_image): Add support for different types
86 of unwind images (32 bits and/or big-endian).
87 (ia64_init): Use MD_FLAGS_DEFAULT to set md.flags.
88 (ia64_target_format): Add support for hpux target formats.
89 (ia64_gen_real_reloc_type): Add support for FUNC_IPLT_RELOC.
90 (ia64_elf_section_type): Add support for SHT_INIT_ARRAY and
91 SHT_FINI_ARRAY elf section types.
93 2002-01-10 Richard Earnshaw <rearnsha@arm.com>
95 * tc-arm.c (struct reg_entry): Move before prototypes.
96 (int_register, cp_register, fp_register): Delete.
97 (reg_table): Delete. Replaced with ...
98 (rn_table, cp_table, cn_table, fn_table, mav_mvf_table)
99 (mav_mvd_table, mav_mvfx_table, mav_mvdx_table, mav_mvax_table)
100 (mav_dspsc_table): ... one table per register set.
101 (arm_reg_hsh): Delete.
102 (struct reg_map): New structure.
103 (all_reg_maps): New array.
104 (enum arm_reg_type): New enums.
105 (build_reg_hsh): New function.
106 (insert_reg_alias): Use hash table passed by caller. Adjust all
108 (create_register_alias): New function, split out from ...
109 (md_assemble): ... here.
110 (md_begin): Build new register hash tables.
111 (arm_reg_parse): New argument for the hash table to search. Adjust all
113 (arm_reg_parse_any): New function.
114 (co_proc_number): Look up the processor number in the processor hash
116 (cirrus_regtype): Delete.
117 (cirrus_register, cirrus_mvf_register, cirrus_mvd_register)
118 (cirrus_mvfx_register, cirrus_mvdx_register, cirrus_mvax_register)
119 (ARM_EXT_MAVERICKsc_register): Delete.
120 (do_c_binops_1, do_c_binops_2, do_c_binops_3): Delete.
121 (do_c_binops_1[a-o], do_c_binops_2[a-c], do_c_binops_3[a-d]): New
123 (do_c_triple_4, do_c_triple_5): Delete.
124 (do_c_triple_4[ab], do_c_triple_5[a-h]): New functions.
125 (do_c_quad_6): Delete.
126 (do_c_quad_6[ab]): New functions.
127 (do_c_binops, do_c_triple, do_c_quad, do_c_shift, do_c_ldst): Rework
128 arguments to use new register parsing methods.
129 (cirrus_reg_required_here): Likewise.
130 (insns): Reclassify cirrus maverick worker functions.
131 (cirrus_valid_reg): Delete.
133 2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
135 * configure.in (sh*le): Set cpu_type=sh and endian=little.
136 (sh*-*-netbsdelf*): New target.
137 * configure: Regenerate.
138 * tc-sh.h: Update copyright years.
139 (TARGET_FORMAT): Add version for TE_NetBSD.
141 2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
143 * read.c (emit_expr): Do not allow 'size' or 'nbytes' to go
146 2002-01-06 Alan Modra <amodra@bigpond.net.au>
148 * config/tc-m68k.h (md_prepare_relax_scan): Rewrite.
149 * config/tc-m68k.c (md_relax_table): Add md_prepare_relax_scan comment.
151 2002-01-05 Daniel Jacobowitz <drow@mvista.com>
153 * tc-mips.c (mips_cprestore_valid): New flag.
154 (mips_frame_reg_valid): New flag.
155 (macro) [M_JAL_2]: Check both flags.
157 (s_cprestore): Set mips_cprestore_valid.
158 (tc_get_register): If setting mips_frame_reg, set
159 mips_frame_reg_valid and clear mips_cprestore_valid.
160 (s_mips_ent): Clear both flags.
161 (s_mips_end): Clear both flags.
163 2002-01-05 Alan Modra <amodra@bigpond.net.au>
165 * write.c (write_object_file): Make use of bfd_section_list_remove.
166 * config/obj-ecoff.c (ecoff_frob_file): Likewise.
167 * config/tc-mmix.c (mmix_frob_file): Likewise.
169 2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
171 * configure.in (i386-*-netbsdelf*): Collapse target into...
172 (i386-*-netbsd*): ...this. Add support for x86-64.
173 * configure: Regenerated.
175 2002-01-03 matthew green <mrg@redhat.com>
177 * config/tc-ppc.c (md_parse_option): BookE is not Motorola specific.
179 2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
181 * config/tc-m68k.c (md_estimate_size_before_relax): Test for a
184 For older changes see ChangeLog-0001
190 version-control: never