(arm_gen_constant): New function.
commit64266206a030d661192f82149bfc861953b3dbd8
authorerich <erich@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Dec 1995 11:41:39 +0000 (6 11:41 +0000)
committererich <erich@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Dec 1995 11:41:39 +0000 (6 11:41 +0000)
treee77783f05a0d139fd6e72215a8e806a53f4ed558
parenta54fc94ed2903b3d860690e330ddd7667f871afb
(arm_gen_constant): New function.
(arm_split_constant): Split most of the functionality into
arm_gen_constant.  Try to decide which way of handling the constant
is optimal for the target processor.
(arm_prgmode): New enum.
(target_{cpu,fpe}_name, arm_fast_multiply, arm_arch4): New variables.
(all_procs): New table describing processors and capabilities.
(arm_override_options): New function.
(arm_return_in_memory): New function.
(arm_rtx_costs): Adjust the multiply costs to cope with processors
with fast multiplication instructions.
(output_move_double): Use the ldm/stm variants more efficiently.
Delete cases that can no-longer occur.
(output_return_instruction, output_func_epilogue): Use TARGET_APCS_32,
not TARGET_6 for determining the type of return instruction to emit.
(final_prescan_insn case CALL_INSN): Use TARGET_APCS_32, not TARGET_6
to determine condition preservation.
({symbol,label}_mentioned_p): New functions.
(add_constant, dump_table, fixit, find_barrier, broken_move): New
support functions for handling constant spilling.
(arm_reorg): New constant spilling pass, for putting unhandlable
constants into the rtl where we can load them efficiently.
(output_load_symbol): Delete.
(strings_fpa): Use a form which is common to both GAS and ARMASM.
(output_return_instruction, output_func_epilogue): Call
assemble_external_libcall, before trying to generate an abort call
in the assembler.
(arm_asm_output_label): Call ARM_OUTPUT_LABEL, rather than assuming
that labels are followed by a colon.
(aof_text_section, aof_add_import, aof_delete_import,
aof_dump_imports): New functions to support ARMASM assembler
generation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10680 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/config/arm/arm.c