Commit Graph

32 Commits

Author SHA1 Message Date
Doug Evans
3ada8e173a (SUBTARGET_SWITCHES): Renamed from ARM_EXTRA_TARGET_SWITCHES.
(TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define.
(TARGET_SWITCHES): Add -msoft-float, -mhard-float.
(BYTES_BIG_ENDIAN): Delete #ifndef/#endif.
(CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable fp regs.
(FUNCTION_VALUE): R16 is return reg only if !-msoft-float.
(LIBCALL_VALUE): Likewise.

From-SVN: r9161
1995-03-10 19:08:13 +00:00
Richard Kenner
8b109b37fc Added arg to RETURN_POPS_ARGS.
From-SVN: r8999
1995-02-21 18:21:14 -05:00
Richard Earnshaw
2ce9c1b9e1 (TARGET_SHORT_BY_BYTES): New macro.
(TARGET_SWITCHES): Recognize switches -m[no-]short-load-bytes.
(TARGET_DEFAULT): Only define if not already done so.
(PROMOTE_MODE): Promote HImode unsigned if TARGET_SHORT_BY_BYTES.
(SECONDARY_INPUT_RELOAD_CLASS): Need a scratch for reloading HImode if
TARGET_SHORT_BY_BYTES.

From-SVN: r8200
1994-10-02 15:10:27 +00:00
Richard Earnshaw
688743e794 (FRAME_POINTER_REQUIRED): Always true if the function has a nonlocal
label.

From-SVN: r7753
1994-07-13 01:06:31 +00:00
Richard Earnshaw
31e6408aee (PREDICATE_CODES): Add reversible_cc_register.
From-SVN: r7740
1994-07-12 13:31:10 +00:00
Richard Earnshaw
bd4d60ce71 (INITIAL_ELIMINATION_OFFSET): Check frame_pointer_needed when eliminating
the arg pointer into the stack pointer.

From-SVN: r7619
1994-06-30 11:48:44 +00:00
Richard Earnshaw
24f0c1b4cc (enum floating_point_type): New enumeration type.
(arm_fpu): New declaration.

From-SVN: r7571
1994-06-27 15:24:36 +00:00
Richard Earnshaw
3967692c7e (TARGET_WHEN_DEBUGGING): Delete.
(MODES_TIEABLE_P): All modes of the same class are tieable.
(CONST_OK_FOR_LETTER_P): Add 'M' for constants valid in a shift.
(FUNCTION_PROFILER): Don't call arm_increase_location.
(INITIAL_ELIMINATION_OFFSET): Call saved regs are no-longer pushed for
functions that don't return.
(LEGITIMIZE_ADDRESS): Push constants that will never be legitimate -- symbols
and labels -- into registers.  Handle DImode better.
(DEFAULT_SIGNED_CHAR): Use unsigned unless already defined.
(RTX_COSTS): Call arm_rtx_costs.
(ADDRESS_COST): Since most operations have the same rtx cost, make the
more complex addresses cheaper.
(PREDICATE_CODES): Add ROTATERT to shift_operator; and new predicates for
reg_or_int_operand and multi_register_push.
(DBX_CONTIN_LENGTH): Only define if not already done.
(PRINT_OPERAND_ADDRESS): Let arm_print operand output the ", " for shifts.

From-SVN: r7536
1994-06-23 16:02:41 +00:00
Richard Earnshaw
9c8728721e (PROMOTE_MODE): Promote HImode integers as signed.
(BYTES_BIG_ENDIAN): Allow target description to override default.
(LOAD_EXTEND_OP): When big-endian, HImode loads are sign extended.

From-SVN: r7447
1994-06-06 13:14:03 +00:00
Richard Earnshaw
4eda77ec3e (FUNCTION_PROFILER): Delete duplicate definition.
(FUNCTION_PROFILER, TRAMPOLINE_TEMPLATE, ASM_FILE_START,
 ASM_OUTPUT_REG_{PUSH,POP}, PRINT_OPERAND_ADDRESS):  Output register
 prefix before any explicit register name.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
 ASM_OUTPUT_COMMON): Output the target dependent comment char.
(ASM_FILE_START): Output register alias for r10.
(REGISTER_NAMES): Output "r9" now for r9, not "rfp".
(ADDITIONAL_REGISTER_NAMES): New macro.

From-SVN: r7444
1994-06-04 11:17:23 +00:00
Richard Earnshaw
aef1764cb3 (CONST_OK_FOR_LETTER_P): Only allow constants valid when inverted for 'K'.
Only allow constants valid when negated for 'L'.

From-SVN: r7435
1994-06-03 13:17:55 +00:00
Richard Earnshaw
7bc7696cba output_func_{prologue,epilogue}): Change declarations from output_{prologue,epilogue}.
output_func_{prologue,epilogue}): Change declarations from
output_{prologue,epilogue}.
(arm_output_llc, arithmetic_instr, output_arithmetic_with_immediate_mulitply,
 output_arithmetic_with_shift, shift_instr): Delete function definition.
(ASM_OUTPUT_OPCODE): Delete.
(PRINT_OPERAND): Call arm_print_operand, instead of doing it directly.
(ARM_COMMENT_CHAR): New macro.
(ARM_REG_PREFIX): New macro.
(ARM_SIGN_EXTEND): New macro.
(PRINT_OPERAND_ADDRESS): Delete variable 'shift'.  Change type of
variable 'offset' to HOST_WIDE_INT.  Use arm_print_operand to handle
shifts in addresses.

From-SVN: r7426
1994-06-02 18:41:52 +00:00
Richard Earnshaw
008cf58a2b Delete some dead code.
(FUNCTION_{PROLOGUE,EPILOGUE}): Call output_func_{prologue,epilogue}.
(INITIAL_ELIMINATION_OFFSET): Inspect all registers, but only add those that
are not in call_used_regs.
(GO_IF_LEGITIMATE_INDEX): Change type of variable 'range' to HOST_WIDE_INT;
change type of variable 'code' to enum rtx_code.

(arm_output_asm_insn): Delete declaration.
(EXTRA_CONSTAINT): New constraint 'R' to match a constant pool label.
Make constraint 'S' never match when not optimizing.
(CONSTANT_ADDRESS_P): Only accept symbols marked with SYMBOL_REF_FLAG when
optimizing.
(ENCODE_SECTION_INFO): Don't mark any symbols when not optimizing.
(ASM_OUTPUT_REG_{PUSH,POP}: Don't call arm_increase_location.
(ASM_OUTPUT_ADDR_VEC_ELT): Likewise.

From-SVN: r7417
1994-06-01 17:10:50 +00:00
Richard Kenner
996a5f59fb Remove references to LSHIFT and lshlsi3.
From-SVN: r7016
1994-04-10 07:13:16 -04:00
Richard Kenner
2254dcd5db Delete OPTIMIZATION_OPTIONS.
From-SVN: r6346
1993-12-31 06:53:01 -05:00
Richard Kenner
f70bf59ec9 (ASM_OUTPUT_ASCII): 8-bit chars should be zero-extended.
From-SVN: r6189
1993-12-06 07:38:16 -05:00
Richard Stallman
228b6a3fb4 Fix indentation.
From-SVN: r5934
1993-10-29 20:43:16 +00:00
Richard Kenner
0b31e2797e (ENCODE_SECTION_INFO): Use DECL_RTL for DECLs.
From-SVN: r5925
1993-10-28 18:43:31 -04:00
Richard Kenner
7fc6c9f01e Add function definitions for shift_instr,
output_mov_long_double_fpu_from_arm,
output_mov_long_double_arm_from_fpu, and
output_mov_long_double_arm_from_arm.
(FLOAT_WORDS_BIG_ENDIAN): Define to 1.
(SECONDARY_OUTPUT_RELOAD_CLASS): return GENERAL_REGS for HImode outputs.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): output
floating point constants as hex, make order correct given definition
of FLOAT_WORDS_BIG_ENDIAN.
(PRINT_OPERAND): Delete redundant code when handling CONST_DOUBLE.

From-SVN: r5809
1993-10-19 17:40:59 -04:00
Richard Earnshaw
2656358643 (OPTIMIZATION_OPTIONS): Don't set flag_omit_frame_pointer, since this inhibits debugging.
(OPTIMIZATION_OPTIONS): Don't set flag_omit_frame_pointer, since
this inhibits debugging.
(ASM_OUTPUT_INTERNAL_LABEL): Always clear arm_target_insn when FSM
goes to state 0.

From-SVN: r5710
1993-10-10 16:46:52 +00:00
Richard Earnshaw
ff9940b015 Major rewrite -- See ChangeLog for details
From-SVN: r5564
1993-10-03 16:33:02 +00:00
Doug Evans
65c4237934 (CPP_PREDEFINES): Add system/cpu/machine assertions where missing.
From-SVN: r5557
1993-10-02 08:55:06 +00:00
Richard Kenner
9a63901fb7 Use WORD_REGISTER_OPERATION and LOAD_EXTEND_OP and delete
BYTE_LOADS_{SIGN,ZERO}_EXTEND.

From-SVN: r5477
1993-09-25 08:29:59 -04:00
Richard Stallman
76c305963d (INIT_CUMULATIVE_ARGS): Pass just the return value type to aggregate_value_p.
From-SVN: r5385
1993-09-22 13:29:19 +00:00
Richard Stallman
4d01c30fb5 (GO_IF_LEGITIMATE_INDEX): Check explicitly for
upper and lower bounds of valid INDEX.

From-SVN: r4584
1993-05-28 19:01:21 +00:00
Torbjorn Granlund
65488bae3e Declare output_arithmetic_with_immediate_multiply.
From-SVN: r4459
1993-05-14 21:10:40 +00:00
Richard Kenner
ea7273ae02 (STORE_FLAG_VALUE): Remove bogus definition.
From-SVN: r2550
1992-10-22 06:40:38 -04:00
Torbjorn Granlund
d17ce9af86 (MOVE_MAX): Define as 4.
From-SVN: r2063
1992-09-06 21:37:08 +00:00
Charles Hannum
e1fde2b5bc entered into RCS
From-SVN: r781
1992-04-18 19:55:56 +00:00
Richard Stallman
8cf6b9ca16 *** empty log message ***
From-SVN: r499
1992-03-16 09:45:34 +00:00
Richard Stallman
b4ac57ab29 *** empty log message ***
From-SVN: r478
1992-03-14 05:17:01 +00:00
Richard Stallman
35d965d5c9 Initial revision
From-SVN: r103
1991-12-06 02:11:44 +00:00