summaryrefslogtreecommitdiff
path: root/gcc/config/h8300
Commit message (Collapse)AuthorAgeFilesLines
* h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support for H8/300, H8/S aa:8 mode.Dhananjay R. Deshpande2002-09-132-12/+28
| | | | | | | | | | * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support for H8/300, H8/S aa:8 mode. (TINY_CONSTANT_ADDRESS_P): Add support for H8/S aa:16 mode. * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length for H8/300 aa:8 mode. From-SVN: r57108
* h8300.md (udivmodqi4): Do not use an expander.Kazu Hirata2002-09-121-38/+2
| | | | | | | * config/h8300/h8300.md (udivmodqi4): Do not use an expander. (udivmodhi4): Likewise. From-SVN: r57071
* h8300.md (udivmodqi4): Enable on H8/300.Kazu Hirata2002-09-081-2/+2
| | | | | | | * config/h8300/h8300.md (udivmodqi4): Enable on H8/300. (anonymous pattern): Likewise. From-SVN: r56945
* h8300.md (udivmodqi4): Split the pattern into an expander and an anonymous ↵Kazu Hirata2002-09-071-2/+38
| | | | | | | | | | | pattern. * config/h8300/h8300.md (udivmodqi4): Split the pattern into an expander and an anonymous pattern. Zero out the upper half of the dividend in the expander. (udivmodqi4): Likewise. From-SVN: r56923
* h8300.c: Fix formatting.Kazu Hirata2002-09-073-12/+12
| | | | | | | | * config/h8300/h8300.c: Fix formatting. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. From-SVN: r56917
* h8300.c (enum shift_alg): Move to earlier in h8300.c.Dhananjay R. Deshpande2002-09-061-153/+195
| | | | | | | | | | | | * h8300.c (enum shift_alg): Move to earlier in h8300.c. (enum shift_type, enum h8_cpu): Likewise. (INL, ROT, LOP, SPC macros): Likewise. (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose const designator. (h8300_init_once): Update shift_alg_{qi,hi,si} to use more space efficient algorithms when optimize for codesize. From-SVN: r56890
* h8300.c (asm_file_start): Add a missing semicolon.Kazu Hirata2002-09-051-1/+1
| | | | | | | * config/h8300/h8300.c (asm_file_start): Add a missing semicolon. From-SVN: r56829
* * h8300.c (asm_file_start): Corrected optimization comment.Arati Dikey2002-09-031-1/+4
| | | | From-SVN: r56761
* chorus.h: Consistently define *_DEBUGGING_INFO with the value 1.Jason Thorpe2002-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/chorus.h: Consistently define *_DEBUGGING_INFO with the value 1. Do not undef before defining. * config/darwin.h: Likewise. * config/dbx.h: Likewise. * config/dbxcoff.h: Likewise. * config/dbxelf.h: Likewise. * config/elfos.h: Likewise. * config/interix.h: Likewise. * config/lynx-ng.h: Likewise. * config/lynx.h: Likewise. * config/netware.h: Likewise. * config/psos.h: Likewise. * config/svr3.h: Likewise. * config/alpha/alpha.h: Likewise. * config/alpha/elf.h: Likewise. * config/alpha/vms.h: Likewise. * config/arc/arc.h: Likewise. * config/arm/aout.h: Likewise. * config/arm/coff.h: Likewise. * config/c4x/c4x.h: Likewise. * config/h8300/h8300.h: Likewise. * config/i386/cygwin.h: Likewise. * config/i386/djgpp.h: Likewise. * config/i386/gas.h: Likewise. * config/i386/gstabs.h: Likewise. * config/i386/i386-coff.h: Likewise. * config/i386/i386-interix.h: Likewise. * config/i386/sco5.h: Likewise. * config/i386/svr3dbx.h: Likewise. * config/i386/sysv3.h: Likewise. * config/i386/win32.h: Likewise. * config/i386/x86-64.h: Likewise. * config/i960/i960.h: Likewise. * config/ia64/ia64.h: Likewise. * config/ip2k/ip2k.h: Likewise. * config/m32r/m32r.h: Likewise. * config/m68k/3b1.h: Likewise. * config/m68k/3b1g.h: Likewise. * config/m68k/ccur-GAS.h: Likewise. * config/m68k/coff.h: Likewise. * config/m68k/hp2bsd.h: Likewise. * config/m68k/hp310g.h: Likewise. * config/m68k/hp320g.h: Likewise. * config/m68k/hp3bsd.h: Likewise. * config/m68k/hp3bsd44.h: Likewise. * config/m68k/linux-aout.h: Likewise. * config/m68k/m68k-aout.h: Likewise. * config/m68k/mot3300.h: Likewise. * config/m68k/netbsd.h: Likewise. * config/m68k/openbsd.h: Likewise. * config/m68k/pbb.h: Likewise. * config/m68k/plexus.h: Likewise. * config/m68k/sun2.h: Likewise. * config/m68k/sun3.h: Likewise. * config/m68k/tower-as.h: Likewise. * config/m68k/vxm68k.h: Likewise. * config/m88k/aout-dbx.h: Likewise. * config/m88k/m88k-aout.h: Likewise. * config/mcore/mcore-elf.h: Likewise. * config/mcore/mcore-pe.h: Likewise. * config/mips/elf.h: Likewise. * config/mips/elf64.h: Likewise. * config/mips/iris5gas.h: Likewise. * config/mips/iris6.h: Likewise. * config/mips/mips.h: Likewise. * config/mips/sni-gas.h: Likewise. * config/mmix/mmix.h: Likewise. * config/ns32k/netbsd.h: Likewise. * config/pa/pa64-hpux.h: Likewise. * config/romp/romp.h: Likewise. * config/rs6000/sysv4.h: Likewise. * config/rs6000/xcoff.h: Likewise. * config/sh/coff.h: Likewise. * config/sh/elf.h: Likewise. * config/sparc/linux64.h: Likewise. * config/sparc/liteelf.h: Likewise. * config/sparc/netbsd.h: Likewise. * config/sparc/openbsd.h: Likewise. * config/sparc/pbd.h: Likewise. * config/sparc/sp64-elf.h: Likewise. * config/sparc/sp86x-elf.h: Likewise. * config/sparc/sparc.h: Likewise. * config/vax/vax.h: Likewise. * config/vax/vaxv.h: Likewise. From-SVN: r56667
* h8300.c (shift_alg_hi): Various tweaks to improve performance of HImode shifts.Dhananjay R. Deshpande2002-08-291-10/+32
| | | | | | | | * h8300.c (shift_alg_hi): Various tweaks to improve performance of HImode shifts. (get_shift_alg): Corresponding changes. From-SVN: r56665
* arc.c (output_shift): Use stdio instead of asm_fprintf.Kaveh R. Ghazi2002-08-202-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * arc.c (output_shift): Use stdio instead of asm_fprintf. * arm.c (thumb_output_function_prologue): Likewise. * avr.c (print_operand): Likewise. * c4x.c (c4x_print_operand): Likewise. * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE, ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise. * cris.c (cris_target_asm_function_prologue, cris_asm_output_mi_thunk): Likewise. * h8300.c (print_operand): Likewise. * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. * ip2k.c (print_operand): Likewise. Fix format specifier. * m68hc11.c (asm_print_register, print_operand, print_operand_address): Use stdio instead of asm_fprintf. (print_operand_address): Fix format specifier. * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of asm_fprintf. * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. * m68k.c (m68k_output_function_prologue, m68k_output_function_epilogue, print_operand): Likewise. * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label): Likewise. Fix format specifier. * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. From-SVN: r56472
* dsp16xx.c (print_operand): Fix format specifier.Kaveh R. Ghazi2002-08-111-2/+2
| | | | | | | | | | | | | | | | | | * dsp16xx.c (print_operand): Fix format specifier. * dsp16xx.md: Avoid automatic aggregate initialization. * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index. * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U integer constant modifier. * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning. * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE guards. * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier. * v850.c (v850_select_section): Mark parameter with ATTRIBUTE_UNUSED. * global.c (global_alloc): Const-ify. * ra-colorize.c (hardregset_to_string): Fix format specifier. From-SVN: r56212
* arc.c (arc_init): Don't use ISO C style function definitions.Kaveh R. Ghazi2002-08-111-1/+2
| | | | | | | | | | | | | | * arc.c (arc_init): Don't use ISO C style function definitions. * arm.c (count_insns_for_constant, thumb_far_jump_used_p, arm_get_strip_length, arm_strip_name_encoding): Likewise. * avr.h (progmem_section): Likewise. * h8300.c h8300_asm_insn_count): Likewise. * m32r.c (init_idents): Likewise. * s390.c (s390_split_branches, s390_chunkify_pool): Likewise. * sh.c (sh_cfun_interrupt_handler_p): Likewise. * xtensa.c (xtensa_build_va_list): Likewise. From-SVN: r56209
* * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,Kaveh R. Ghazi2002-07-311-11/+2
| | | | | | | | | | | fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h, ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h, openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h: (ASM_GLOBALIZE_LABEL): Delete. (GLOBAL_ASM_OP): Define. From-SVN: r55892
* alpha.h, [...] (ASM_OUTPUT_LABEL): Delete definition.Kaveh R. Ghazi2002-07-301-11/+0
| | | | | | | | | | | | | | * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h, darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h, ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition. * defaults.h (ASM_OUTPUT_LABEL): Provide a default. * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs. From-SVN: r55872
* h8300.c (TARGET_INSERT_ATTRIBUTES): Define.Dhananjay R. Deshpande2002-06-201-0/+20
| | | | | | | * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define. (h8300_insert_attributes): New. From-SVN: r54814
* c-common.c (builtin_define_type_max): New.Richard Henderson2002-06-111-6/+0
| | | | | | | | | | | | | | | | | | | | | * c-common.c (builtin_define_type_max): New. (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__. From Joseph S. Myers: * glimits.h: Rewrite to expect the double underscore definitions from the compiler. * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h, config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h, config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h, config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h, config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h, config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__, __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__. From-SVN: r54544
* * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.Jeff Law2002-06-061-1/+2
| | | | From-SVN: r54323
* elf.h: Fix formatting.Kazu Hirata2002-06-032-8/+12
| | | | | | | * config/h8300/elf.h: Fix formatting. * config/h8300/rtems.h: Likewise. From-SVN: r54196
* elf.h: Use TARGET_OS_CPP_BUILTINS rather than SUBTARGET_SPEC.Neil Booth2002-06-023-26/+42
| | | | | | | | | | | | config/h8300: * elf.h: Use TARGET_OS_CPP_BUILTINS rather than SUBTARGET_SPEC. * rtems.h: Similarly. * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove. (TARGET_CPU_CPP_BUILTINS): Use. From-SVN: r54187
* h8300-protos.h: Add a prototype for h8300_shift_needs_scratch_p.Kazu Hirata2002-06-014-4/+75
| | | | | | | | | | | | | | * config/h8300/h8300-protos.h: Add a prototype for h8300_shift_needs_scratch_p. * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New. * config/h8300/h8300.h (OK_FOR_R): New. (OK_FOR_S): Likewise. (OK_FOR_T): Likewise. (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T. * config/h8300/h8300.md (anonymous shift patterns): Use constraints R, S, and T. From-SVN: r54143
* h8300-protos.h: Remove prototypes for ok_for_bclr and small_power_of_two.Kazu Hirata2002-05-304-53/+23
| | | | | | | | | | | | | | | | | | | * config/h8300/h8300-protos.h: Remove prototypes for ok_for_bclr and small_power_of_two. * config/h8300/h8300.c (small_power_of_two): Remove. (ok_for_blcr): Likewise. (fix_bit_operand): Make WHAT deal with an integer instead of a constraint character. * config/h8300/h8300.h (CONST_OK_FOR_O): Remove. (CONST_OK_FOR_P): Likewise. (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or CONST_OK_FOR_P any more. * config/h8300/h8300.md (andqi3): Adjust to the new prototype of fix_bit_operand. (iorqi3): Likewise. (xorqi3): Likewise. From-SVN: r54037
* h8300-protos.h: Remove the prototype for o_operand.Kazu Hirata2002-05-293-48/+59
| | | | | | | | | | | | | | | * config/h8300/h8300-protos.h: Remove the prototype for o_operand. Add prototypes for single_one_operand and single_zero_operand. * config/h8300/h8300.c (o_operand): Remove. (single_one_operand): New. (single_zero_operand): Likewise. (print_operand): For 'V' operand, and the operand with 0xff. For 'V' and 'W' operands, do not and the bit position with 7. * config/h8300/h8300.md (various anonymous patterns): Replace use of exact_log2 with single_one_operand/single_zero_operand. From-SVN: r53994
* * config/h8300/h8300.md (two anonymous patterns): New.Kazu Hirata2002-05-281-0/+40
| | | | From-SVN: r53955
* * config/h8300/h8300.md (*andorqi3): New.Kazu Hirata2002-05-221-0/+14
| | | | From-SVN: r53732
* system.h (BLOCK_PROFILER, [...]): Poison.Richard Henderson2002-05-191-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE, FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison. * toplev.c (display_help): Kill -a -ax help. * config/1750a/1750a.h, config/alpha/alpha.h, config/clipper/clipper.h, config/dsp16xx/dsp16xx.h, config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h, config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h: (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill. * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill. * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill. * config/i386/i386-protos.h (ix86_output_block_profiler): Kill. (ix86_output_function_block_profiler): Kill. * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill. (m68hc11_function_block_profiler): Kill. * config/m68hc11/m68hc11-protos.h: Update. * config/m88k/m88k.c (output_block_profiler): Kill. (output_function_block_profiler): Kill. * config/m88k/m88k-protos.h: Update. From-SVN: r53617
* system.h (STRIP_NAME_ENCODING): Poison it.Richard Henderson2002-05-192-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system.h (STRIP_NAME_ENCODING): Poison it. * output.h (STRIP_NAME_ENCODING): Remove. (default_strip_name_encoding): Declare. * target-def.h (TARGET_STRIP_NAME_ENCODING): New. * target.h (strip_name_encoding): New. * varasm.c (default_strip_name_encoding): New. * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h, config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c, config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c, config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h, config/pa/som.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/v850/v850.h: Use the hook, not the macro. * config/darwin-protos.h, config/darwin.c, config/darwin.h, config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c, config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c, config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h, config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h, config/v850/v850.c, config/v850/v850.h: Move STRIP_NAME_ENCODING to out-of-line function and add TARGET_STRIP_NAME_ENCODING. * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING with TARGET_STRIP_NAME_ENCODING referencing existing function; make function static. * xcoffout.c: Include target.h * Makefile.in (xcoffout.o): Update. * config/avr/avr.c (avr_encode_section_info): Correct prototype. * config/avr/avr.h (STRIP_NAME_ENCODING): Remove. * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark reloc argument unused. * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New. * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous STRIP_NAME_ENCODING docs. From-SVN: r53615
* system.h (ENCODE_SECTION_INFO): Poison it.Richard Henderson2002-05-183-19/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system.h (ENCODE_SECTION_INFO): Poison it. * target-def.h (TARGET_ENCODE_SECTION_INFO): New. * target.h (encode_section_info): New. * varasm.c (make_decl_rtl, output_constant_def): Use it. * hooks.c (hook_tree_int_void): New. * hooks.h: Declare it. * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c, config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h, config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h, config/mcore/mcore-protos.h, config/mcore/mcore.c, config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000-protos.h, config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c, config/stormy16/stormy16.h: Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO referencing existing function. Make function static. * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c, config/arc/arc.h, config/arm/arm.c, config/arm/arm.h, config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c, config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c, config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c, config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c, config/pa/pa.h, config/romp/romp.c, config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c, config/s390/s390.h, config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h, config/vax/vax.c, config/vax/vms.h, config/xtensa/xtensa.c, config/xtensa/xtensa.h: Move ENCODE_SECTION_INFO to out-of-line function and add TARGET_ENCODE_SECTION_INFO. * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro. (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename from SUBTARGET_* (switch_to_section): Replace in_rdata case with in_readonly_data. * config/h8300/h8300.c (h8300_encode_label): Make static. * config/h8300/h8300-protos.h: Update. * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename from rs6000_encode_section_info; make static. (rs6000_xcoff_encode_section_info): New. * config/v850/v850.c (v850_encode_data_area): Make static. * config/v850/v850-protos.h: Update. * config/vax/vax.c: Include flags.h. (vms_select_section): Fix typo. * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous ENCODE_SECTION_INFO docs. From-SVN: r53606
* final.c (HAVE_READONLY_DATA_SECTION): New.Richard Henderson2002-05-182-24/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * final.c (HAVE_READONLY_DATA_SECTION): New. (shorten_branches): Use it instead of ifdefs. * varasm.c (enum in_section): Add in_readonly_data. (text_section, data_section): Tidy. (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present. * config/darwin.h, config/nextstep.h, config/h8300/elf.h, config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h (READONLY_DATA_SECTION): Don't undef. * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h, config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h, config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef. * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h, config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h, config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h, config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove. * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h, config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h, config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h, config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h, config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h, config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP. * config/elfos.h, config/netware.h, config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h, config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h, config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h, config/pa/pa64-hpux.h, config/sparc/litecoff.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove. * config/elfos.h, config/netware.h, config/svr3.h, config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h, config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/h8300/h8300.h, config/i386/i386-interix.h, config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h, config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove. * config/elfos.h, config/netware.h, config/svr3.h, config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h, config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h, config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h, config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove. * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h, config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h, config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h, config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h, config/rs6000/sysv4.h, config/v850/v850.h (EXTRA_SECTIONS): Remove in_const/in_rdata. (EXTRA_SECTION_FUNCTIONS): Remove accompanying function. * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h, config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h, config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h, config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section. * config/alpha/alpha.c (alpha_start_function): Likewise. (alpha_write_linkage): Likewise. * config/m32r/m32r.c (m32r_select_section): Likewise. * config/m88k/m88k.c (m88k_select_section): Likewise. * config/mips/mips.c (mips_select_rtx_section): Likewise. * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise. (rs6000_elf_select_section): Likewise. * config/v850/v850.c (v850_select_section): Likewise. * config/1750a/1750a.h, config/i860/sysv3.h (READONLY_DATA_SECTION_ASM_OP): New. READONLY_DATA_SECTION_ASM_OP. * config/i386/interix.c, config/i386/winnt.c (i386_pe_unique_section): Always use .rdata prefix. * config/pa/som.h (readonly_data): Always switch to read-only section. (READONLY_DATA_SECTION): Predicate on flag_pic. * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis. * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New. (READONLY_DATA_SECTION): Update. From-SVN: r53593
* c-parse.in (MODIFIED_WCHAR_TYPE): New macro.Zack Weinberg2002-05-151-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-parse.in (MODIFIED_WCHAR_TYPE): New macro. (c_common_nodes_and_builtins): Use it. (builtin_define_with_value): New function. (cb_register_builtins): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here, using builtin_define_with_value. Use consistent notation when defining __GXX_WEAK__. (WCHAR_TYPE_SIZE): Don't redefine. (combine_strings): Don't use WCHAR_TYPE_SIZE. * cppdefault.h: Don't provide defaults for SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE. * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc. * tradcpp.c (initialize_builtins): Likewise. * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__. * c-lex.h (builtin_define_with_value): Prototype. * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE, NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE. * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc. * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h, config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h, config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h, config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h, config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h, config/sparc/linux64.h, config/sparc/netbsd-elf.h, config/sparc/sol2-bi.h, config/sparc/sparc.h: Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references to __SIZE_TYPE__ etc from all spec strings. When this makes extra specs empty, delete them. From-SVN: r53472
* crti.asm: Remove trailing spaces.Kazu Hirata2002-05-033-51/+51
| | | | | | | | * config/h8300/crti.asm: Remove trailing spaces. * config/h8300/h8300.c: Likewise. * config/h8300/lib1funcs.asm: Likewise. From-SVN: r53090
* lib1funcs.asm (___mulsi3): Remove unnecessary push and pop.Kazu Hirata2002-04-201-12/+5
| | | | | | | * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary push and pop. Replace add.l with add.w. From-SVN: r52559
* lib1funcs.asm (___mulsi3): Use hardware multiply instructions for H8/300H case.Toshiyasu Morita2002-04-201-24/+41
| | | | | | | * config/h8300/lib1funcs.asm (___mulsi3): Use hardware multiply instructions for H8/300H case. From-SVN: r52558
* lib1funcs.asm (___cmpsi2, ___ucmpsi2): Bum three instructions from each routine.Toshiyasu Morita2002-04-201-22/+17
| | | | | | | * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2): Bum three instructions from each routine. From-SVN: r52557
* rtems.h, [...] (*-rtems*): Cleanup pass to move common definitions to ↵Eric Norum2002-04-121-5/+0
| | | | | | | | | | | | | | | | | config/rtems.h and make the targets... 2002-04-12 Eric Norum <eric.norum@usask.ca> * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h, config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h, config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h, config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h, config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h, config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h, config/v850/rtems.h (*-rtems*): Cleanup pass to move common definitions to config/rtems.h and make the targets more similar. From-SVN: r52225
* 1750a.h, [...] (POINTER_SIZE): Delete.Kaveh R. Ghazi2002-03-121-4/+0
| | | | | | | | | | | | * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h, ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete. * defaults.h (POINTER_SIZE): Define. * doc/tm.texi (POINTER_SIZE): Document default. From-SVN: r50634
* h8300.c (h8300_adjust_insn_length): Tighten insn length for memory load/store.Kazu Hirata2002-03-081-3/+14
| | | | | | | * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten insn length for memory load/store. From-SVN: r50445
* emit-rtl.c, [...]: Remove all #ifndef REAL_ARITHMETIC blocks...Zack Weinberg2002-03-031-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c, print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c, tree.c, config/m68k/m68k.c, f/com.c, f/target.h, java/expr.c, java/jcf-parse.c, java/lex.c: Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef REAL_ARITHMETIC blocks unconditional. Delete some further #ifdef blocks predicated on REAL_ARITHMETIC. * flags.h, toplev.c: Delete remaining references to flag_pretend_float. * doc/invoke.texi: Remove documentation of -fpretend-float. * doc/tm.texi: Describe the various REAL_* macros as provided by real.h, not by the target configuration files. * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h, config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h, config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h, config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h, config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h, config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h, config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Do not define, undefine, or mention in comments any of REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF, REAL_VALUE_ISNAN, REAL_VALUE_ISINF, REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE, REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL, REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS, REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX, REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT, REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE, REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT. From-SVN: r50263
* 1750a.h, [...] (BITS_PER_WORD): Delete.Kaveh R. Ghazi2002-03-031-5/+0
| | | | | | | | | | | | | | * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h, convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD): Delete. * defaults.h (BITS_PER_WORD): Define. * doc/tm.texi (BITS_PER_WORD): Document default value. From-SVN: r50257
* varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P; invoke ↵Richard Henderson2002-03-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ENCODE_SECTION_INFO with first call flag. * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P; invoke ENCODE_SECTION_INFO with first call flag. * config/darwin-protos.h, config/darwin.c, config/darwin.h, config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h, config/arm/arm.h, config/arm/pe.c, config/arm/pe.h, config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h, config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h, config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h, config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c, config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h, config/m88k/m88k.h, config/mcore/mcore-protos.h, config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h, config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h, config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c, config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h, config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes FIRST argument. As needed, examine it and do nothing. * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h, config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/mcore/mcore.h: Remove REDO_SECTION_INFO_P. * config/arm/t-pe (pe.o): Add dependencies. From-SVN: r50236
* a29k.h, [...]: (BITS_PER_UNIT): Delete.Kaveh R. Ghazi2002-03-031-3/+0
| | | | | | | | | | | | | * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h, cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete. * defaults.h (BITS_PER_UNIT): Define. * doc/tm.texi (BITS_PER_UNIT): Document default value. From-SVN: r50235
* h8300-protos.h: Add a prototype for compute_a_shift_length.Kazu Hirata2002-03-023-47/+162
| | | | | | | | | | | | | * config/h8300/h8300-protos.h: Add a prototype for compute_a_shift_length. * config/h8300/h8300.c (h8300_asm_insn_count): New. (compute_a_shift_length): Likewise. (h8300_adjust_insn_length): Do not adjust insn length of shift insns. * config/h8300/h8300.md (anonymous shift patterns): Use compute_a_shift_length. From-SVN: r50227
* * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.Kazu Hirata2002-03-011-27/+31
| | | | From-SVN: r50207
* h8300-protos.h: Fix formatting.Kazu Hirata2002-03-013-21/+21
| | | | | | | | * config/h8300/h8300-protos.h: Fix formatting. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. From-SVN: r50192
* h8300.c (print_operand): Support 16-bit constant addresses.Kazu Hirata2002-03-012-13/+40
| | | | | | | | * config/h8300/h8300.c (print_operand): Support 16-bit constant addresses. * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New. From-SVN: r50191
* h8300.c: Fix formatting.Kazu Hirata2002-02-282-8/+8
| | | | | | | * config/h8300/h8300.c: Fix formatting. * config/h8300/h8300.h: Likewise. From-SVN: r50150
* h8300-protos.h: Update the prototype for compute_logical_op_length.Kazu Hirata2002-02-273-120/+80
| | | | | | | | | | | | | * config/h8300/h8300-protos.h: Update the prototype for compute_logical_op_length. Add the prototype for compute_logical_op_cc. * config/h8300/h8300.c (compute_logical_op_length): Figure out code from operands. (compute_logical_op_cc): New. * config/h8300/h8300.md: Combine all the logical op patterns in HImode and SImode. Use compute_logical_op_cc. From-SVN: r50078
* h8300-protos.h: Add a prototype for compute_logical_op_length.Kazu Hirata2002-02-263-12/+137
| | | | | | | | | | * config/h8300/h8300-protos.h: Add a prototype for compute_logical_op_length. * config/h8300/h8300.c (compute_logical_op_length): New. * config/h8300/h8300.md (anonymous logical patterns): Use compute_logical_op_length for length. From-SVN: r50055
* h8300.c (output_simode_bld): Handle H8/300 and H8/300[HS] separately.Kazu Hirata2002-02-232-12/+25
| | | | | | | | | * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and H8/300[HS] separately. * config/h8300/h8300.md: Remove the early clobber constraint from bit field patterns. From-SVN: r49995
* h8300.md (mulqihi3): Tighten predicates to register_operand.Kazu Hirata2002-02-231-4/+4
| | | | | | | | | | * config/h8300/h8300.md (mulqihi3): Tighten predicates to register_operand. (mulhisi3): Likewise. (umulqisi3): Likewise. (umulhisi3): Likewise. From-SVN: r49994