1. 25 Jul, 2002 8 commits
    • c-decl.c (c_decode_option): No need to handle switches cpplib handles. · 2d615444
      	* c-decl.c (c_decode_option): No need to handle switches
      	cpplib handles.
      cp:
      	* decl2.c (cxx_decode_option): Similarly.
      
      From-SVN: r55737
      Neil Booth committed
    • re PR libstdc++/7222 (g++ 3.1: locale::operator ==() doesn`t work on std::locale("") locales) · c82efc81
      
      2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
      
      	PR libstdc++/7222
      	* src/locale.cc (locale::locale(const char*)): Use setlocale NULL.
      	* testsuite/22_locale/ctor_copy_dtor.cc (test02): New.
      
      From-SVN: r55736
      Benjamin Kosnik committed
    • defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, [...]): New default definitions of new macros. · 2be2ac70
      	* defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
      	ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
      	* doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
      	TYPE_ASM_OP, and TYPE_OPERAND_FMT.
      
      	* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
      	config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
      	config/cris/aout.h, config/i386/freebsd-aout.h,
      	config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
      	config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
      	config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
      	config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
      	config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
      	config/xtensa/elf.h, config/xtensa/linux.h:
      	Use the new macros.
      	Where possible, remove redundant definitions of SIZE_ASM_OP,
      	TYPE_ASM_OP, and TYPE_OPERAND_FMT.
      
      From-SVN: r55735
      Zack Weinberg committed
    • eabi.h: Define TARGET_SPE_ABI, TARGET_SPE, TARGET_ISEL, and TARGET_FPRS. · 518878e1
      
      2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
      
      	* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
      	TARGET_ISEL, and TARGET_FPRS.
      
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
      	-mabi=spe, -mabi=no-spe, and -misel=.
      
      	* config/rs6000/rs6000-protos.h: Add output_isel.
      	Move vrsave_operation prototype here.
      
      	* config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
      	(smaxsi3): Same.
      	(uminsi3): Same.
      	(umaxsi3): Same.
      	(abssi2_nopower): Disallow when TARGET_ISEL.
      	(*ne0): Same.
      	(negsf2): Change to expand and rename old pattern to *negsf2.
      	(abssf2): Change to expand and rename old pattern to *abssf2.
      
      	New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
      	fixunssfsi2.
      
      	Change patterns that check for TARGET_HARD_FLOAT or
      	TARGET_SOFT_FLOAT to also check TARGET_FPRS.
      
      	* config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
      	rs6000_isel, rs6000_fprs, rs6000_isel_string.
      	(rs6000_override_options): Add 8540 case to
      	processor_target_table.
      	Set rs6000_isel for the 8540.
      	Call rs6000_parse_isel_option.
      	(enable_mask_for_builtins): New.
      	(rs6000_parse_isel_option): New.
      	(rs6000_parse_abi_options): Add spe and no-spe.
      	(easy_fp_constant): Treat !TARGET_FPRS as soft-float.
      	(rs6000_legitimize_address): Check for TARGET_FPRS when checking
      	for TARGET_HARD_FLOAT.
      	Add case for SPE_VECTOR_MODE.
      	(rs6000_legitimize_reload_address): Handle SPE vector modes.
      	(rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
      	vector modes.
      	Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
      	(rs6000_emit_move): Check for TARGET_FPRS.
      	Add cases for SPE vector modes.
      	(function_arg_boundary): Return 64 for SPE vector modes.
      	(function_arg_advance): Check for TARGET_FPRS and
      	Handle SPE vectors.
      	(function_arg): Same.
      	(setup_incoming_varargs): Check for TARGET_FPRS.
      	(rs6000_va_arg): Same.
      	(struct builtin_description): Un-constify mask field.  Move up in
      	file.
      	(bdesc_2arg): Un-constify and add SPE builtins.
      	(bdesc_1arg): Same.
      	(bdesc_spe_predicates): New.
      	(bdesc_spe_evsel): New.
      	(rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
      	(rs6000_expand_binop_builtin): Same.
      	(bdesc_2arg_spe): New.
      	(spe_expand_builtin): New.
      	(spe_expand_predicate_builtin): New.
      	(spe_expand_evsel_builtin): New.
      	(rs6000_expand_builtin): Call spe_expand_builtin for SPE.
      	(rs6000_init_builtins): Initialize SPE builtins.  Call
      	rs6000_common_init_builtins.
      	(altivec_init_builtins): Move all non-altivec builtin code to...
      	(rs6000_common_init_builtins): ...here.  New function.
      	(branch_positive_comparison_operator): Allow NE code for SPE.
      	(ccr_bit): Return correct ccr bit for SPE fp.
      	(print_operand): Emit crnor in 'D' case for SPE.
      	New case 't'.
      	Add SPE code for 'y' case.
      	(rs6000_generate_compare): Generate rtl for SPE fp.
      	(output_cbranch): Handle SPE hard floats.
      	(rs6000_emit_cmove): Handle isel.
      	(rs6000_emit_int_cmove): New.
      	(output_isel): New.
      	(rs6000_stack_info): Adjust stack frame so GPRs are saved in
      	64-bits for SPE.
      	(debug_stack_info): Add SPE info.
      	(gen_frame_mem_offset): New.
      	(rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
      	Change mode of frame pointer, when saving it, to Pmode.
      	(rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
      	Misc cleanups and use gen_frame_mem_offset when appropriate.
      
      	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
      	(TARGET_SPE_ABI): New.
      	(TARGET_SPE): New.
      	(TARGET_ISEL): New.
      	(TARGET_FPRS): New.
      	(FIXED_SCRATCH): New.
      	(RTX_COSTS): Add PROCESSOR_PPC8540.
      	(ASM_CPU_SPEC): Add case for 8540.
      	(TARGET_OPTIONS): Add isel= case.
      	(rs6000_spe_abi): New.
      	(rs6000_isel): New.
      	(rs6000_fprs): New.
      	(rs6000_isel_string): New.
      	(UNITS_PER_SPE_WORD): New.
      	(LOCAL_ALIGNMENT): Adjust for SPE.
      	(HARD_REGNO_MODE_OK): Same.
      	(DATA_ALIGNMENT): Same.
      	(MEMBER_TYPE_FORCES_BLK): New.
      	(FIRST_PSEUDO_REGISTER): Set to 113.
      	(FIXED_REGISTERS): Add SPE registers.
      	(reg_class): Same.
      	(REG_CLASS_NAMES): Same.
      	(REG_CLASS_CONTENTS): Same.
      	(REGNO_REG_CLASS): Same.
      	(REGISTER_NAMES): Same.
      	(DEBUG_REGISTER_NAMES): Same.
      	(ADDITIONAL_REGISTER_NAMES): Same.
      	(CALL_USED_REGISTERS): Same.
      	(CALL_REALLY_USED_REGISTERS): Same.
      	(SPE_ACC_REGNO): New.
      	(SPEFSCR_REGNO): New.
      	(SPE_SIMD_REGNO_P): New.
      	(HARD_REGNO_NREGS): Adjust for SPE.
      	(VECTOR_MODE_SUPPORTED_P): Same.
      	(REGNO_REG_CLASS): Same.
      	(FUNCTION_VALUE): Same.
      	(LIBCALL_VALUE): Same.
      	(LEGITIMATE_OFFSET_ADDRESS_P): Same.
      	(SPE_VECTOR_MODE): New.
      	(CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
      	the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
      	(rs6000_stack): Add spe_gp_size, spe_padding_size,
      	spe_gp_save_offset.
      	(USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
      	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
      	(SPE_CONST_OFFSET_OK): New.
      	(rs6000_builtins): Add SPE builtins.
      
      	* testsuite/gcc.dg/ppc-spe.c: New.
      
      	* config/rs6000/eabispe.h: New.
      
      	* config/rs6000/spe.h: New.
      
      	* config/rs600/spe.md: New.
      
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
      	__SIMD__ for TARGET_SPE.
      
      	* config.gcc: Add powerpc-*-eabispe* case.
      	Add spe.h to user headers for powerpc.
      
      From-SVN: r55734
      Aldy Hernandez committed
    • * testsuite/gcc.dg/ppc-spe.c: New. · 0b72793f
      From-SVN: r55733
      Aldy Hernandez committed
    • eabi.h: Define TARGET_SPE_ABI, TARGET_SPE, TARGET_ISEL, and TARGET_FPRS. · 6c8875e5
      2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
      
      	* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
      	TARGET_ISEL, and TARGET_FPRS.
      
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
      	-mabi=spe, -mabi=no-spe, and -misel=.
      
      	* config/rs6000/rs6000-protos.h: Add output_isel.
      	Move vrsave_operation prototype here.
      
      	* config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
      	(smaxsi3): Same.
      	(uminsi3): Same.
      	(umaxsi3): Same.
      	(abssi2_nopower): Disallow when TARGET_ISEL.
      	(*ne0): Same.
      	(negsf2): Change to expand and rename old pattern to *negsf2.
      	(abssf2): Change to expand and rename old pattern to *abssf2.
      
      	New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
      	fixunssfsi2.
      
      	Change patterns that check for TARGET_HARD_FLOAT or
      	TARGET_SOFT_FLOAT to also check TARGET_FPRS.
      
      	* config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
      	rs6000_isel, rs6000_fprs, rs6000_isel_string.
      	(rs6000_override_options): Add 8540 case to
      	processor_target_table.
      	Set rs6000_isel for the 8540.
      	Call rs6000_parse_isel_option.
      	(enable_mask_for_builtins): New.
      	(rs6000_parse_isel_option): New.
      	(rs6000_parse_abi_options): Add spe and no-spe.
      	(easy_fp_constant): Treat !TARGET_FPRS as soft-float.
      	(rs6000_legitimize_address): Check for TARGET_FPRS when checking
      	for TARGET_HARD_FLOAT.
      	Add case for SPE_VECTOR_MODE.
      	(rs6000_legitimize_reload_address): Handle SPE vector modes.
      	(rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
      	vector modes.
      	Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
      	(rs6000_emit_move): Check for TARGET_FPRS.
      	Add cases for SPE vector modes.
      	(function_arg_boundary): Return 64 for SPE vector modes.
      	(function_arg_advance): Check for TARGET_FPRS and
      	Handle SPE vectors.
      	(function_arg): Same.
      	(setup_incoming_varargs): Check for TARGET_FPRS.
      	(rs6000_va_arg): Same.
      	(struct builtin_description): Un-constify mask field.  Move up in
      	file.
      	(bdesc_2arg): Un-constify and add SPE builtins.
      	(bdesc_1arg): Same.
      	(bdesc_spe_predicates): New.
      	(bdesc_spe_evsel): New.
      	(rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
      	(rs6000_expand_binop_builtin): Same.
      	(bdesc_2arg_spe): New.
      	(spe_expand_builtin): New.
      	(spe_expand_predicate_builtin): New.
      	(spe_expand_evsel_builtin): New.
      	(rs6000_expand_builtin): Call spe_expand_builtin for SPE.
      	(rs6000_init_builtins): Initialize SPE builtins.  Call
      	rs6000_common_init_builtins.
      	(altivec_init_builtins): Move all non-altivec builtin code to...
      	(rs6000_common_init_builtins): ...here.  New function.
      	(branch_positive_comparison_operator): Allow NE code for SPE.
      	(ccr_bit): Return correct ccr bit for SPE fp.
      	(print_operand): Emit crnor in 'D' case for SPE.
      	New case 't'.
      	Add SPE code for 'y' case.
      	(rs6000_generate_compare): Generate rtl for SPE fp.
      	(output_cbranch): Handle SPE hard floats.
      	(rs6000_emit_cmove): Handle isel.
      	(rs6000_emit_int_cmove): New.
      	(output_isel): New.
      	(rs6000_stack_info): Adjust stack frame so GPRs are saved in
      	64-bits for SPE.
      	(debug_stack_info): Add SPE info.
      	(gen_frame_mem_offset): New.
      	(rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
      	Change mode of frame pointer, when saving it, to Pmode.
      	(rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
      	Misc cleanups and use gen_frame_mem_offset when appropriate.
      
      	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
      	(TARGET_SPE_ABI): New.
      	(TARGET_SPE): New.
      	(TARGET_ISEL): New.
      	(TARGET_FPRS): New.
      	(FIXED_SCRATCH): New.
      	(RTX_COSTS): Add PROCESSOR_PPC8540.
      	(ASM_CPU_SPEC): Add case for 8540.
      	(TARGET_OPTIONS): Add isel= case.
      	(rs6000_spe_abi): New.
      	(rs6000_isel): New.
      	(rs6000_fprs): New.
      	(rs6000_isel_string): New.
      	(UNITS_PER_SPE_WORD): New.
      	(LOCAL_ALIGNMENT): Adjust for SPE.
      	(HARD_REGNO_MODE_OK): Same.
      	(DATA_ALIGNMENT): Same.
      	(MEMBER_TYPE_FORCES_BLK): New.
      	(FIRST_PSEUDO_REGISTER): Set to 113.
      	(FIXED_REGISTERS): Add SPE registers.
      	(reg_class): Same.
      	(REG_CLASS_NAMES): Same.
      	(REG_CLASS_CONTENTS): Same.
      	(REGNO_REG_CLASS): Same.
      	(REGISTER_NAMES): Same.
      	(DEBUG_REGISTER_NAMES): Same.
      	(ADDITIONAL_REGISTER_NAMES): Same.
      	(CALL_USED_REGISTERS): Same.
      	(CALL_REALLY_USED_REGISTERS): Same.
      	(SPE_ACC_REGNO): New.
      	(SPEFSCR_REGNO): New.
      	(SPE_SIMD_REGNO_P): New.
      	(HARD_REGNO_NREGS): Adjust for SPE.
      	(VECTOR_MODE_SUPPORTED_P): Same.
      	(REGNO_REG_CLASS): Same.
      	(FUNCTION_VALUE): Same.
      	(LIBCALL_VALUE): Same.
      	(LEGITIMATE_OFFSET_ADDRESS_P): Same.
      	(SPE_VECTOR_MODE): New.
      	(CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
      	the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
      	(rs6000_stack): Add spe_gp_size, spe_padding_size,
      	spe_gp_save_offset.
      	(USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
      	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
      	(SPE_CONST_OFFSET_OK): New.
      	(rs6000_builtins): Add SPE builtins.
      
      	* testsuite/gcc.dg/ppc-spe.c: New.
      
      	* config/rs6000/eabispe.h: New.
      
      	* config/rs6000/spe.h: New.
      
      	* config/rs600/spe.md: New.
      
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
      	__SIMD__ for TARGET_SPE.
      
      	* config.gcc: Add powerpc-*-eabispe* case.
      	Add spe.h to user headers for powerpc.
      
      From-SVN: r55732
      Aldy Hernandez committed
    • eabi.h: Define TARGET_SPE_ABI, TARGET_SPE, TARGET_ISEL, and TARGET_FPRS. · a3170dc6
      2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
      
      	* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
      	TARGET_ISEL, and TARGET_FPRS.
      
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
      	-mabi=spe, -mabi=no-spe, and -misel=.
      
      	* config/rs6000/rs6000-protos.h: Add output_isel.
      	Move vrsave_operation prototype here.
      
      	* config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
      	(smaxsi3): Same.
      	(uminsi3): Same.
      	(umaxsi3): Same.
      	(abssi2_nopower): Disallow when TARGET_ISEL.
      	(*ne0): Same.
      	(negsf2): Change to expand and rename old pattern to *negsf2.
      	(abssf2): Change to expand and rename old pattern to *abssf2.
      
      	New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
      	fixunssfsi2.
      
      	Change patterns that check for TARGET_HARD_FLOAT or
      	TARGET_SOFT_FLOAT to also check TARGET_FPRS.
      
      	* config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
      	rs6000_isel, rs6000_fprs, rs6000_isel_string.
      	(rs6000_override_options): Add 8540 case to
      	processor_target_table.
      	Set rs6000_isel for the 8540.
      	Call rs6000_parse_isel_option.
      	(enable_mask_for_builtins): New.
      	(rs6000_parse_isel_option): New.
      	(rs6000_parse_abi_options): Add spe and no-spe.
      	(easy_fp_constant): Treat !TARGET_FPRS as soft-float.
      	(rs6000_legitimize_address): Check for TARGET_FPRS when checking
      	for TARGET_HARD_FLOAT.
      	Add case for SPE_VECTOR_MODE.
      	(rs6000_legitimize_reload_address): Handle SPE vector modes.
      	(rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
      	vector modes.
      	Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
      	(rs6000_emit_move): Check for TARGET_FPRS.
      	Add cases for SPE vector modes.
      	(function_arg_boundary): Return 64 for SPE vector modes.
      	(function_arg_advance): Check for TARGET_FPRS and
      	Handle SPE vectors.
      	(function_arg): Same.
      	(setup_incoming_varargs): Check for TARGET_FPRS.
      	(rs6000_va_arg): Same.
      	(struct builtin_description): Un-constify mask field.  Move up in
      	file.
      	(bdesc_2arg): Un-constify and add SPE builtins.
      	(bdesc_1arg): Same.
      	(bdesc_spe_predicates): New.
      	(bdesc_spe_evsel): New.
      	(rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
      	(rs6000_expand_binop_builtin): Same.
      	(bdesc_2arg_spe): New.
      	(spe_expand_builtin): New.
      	(spe_expand_predicate_builtin): New.
      	(spe_expand_evsel_builtin): New.
      	(rs6000_expand_builtin): Call spe_expand_builtin for SPE.
      	(rs6000_init_builtins): Initialize SPE builtins.  Call
      	rs6000_common_init_builtins.
      	(altivec_init_builtins): Move all non-altivec builtin code to...
      	(rs6000_common_init_builtins): ...here.  New function.
      	(branch_positive_comparison_operator): Allow NE code for SPE.
      	(ccr_bit): Return correct ccr bit for SPE fp.
      	(print_operand): Emit crnor in 'D' case for SPE.
      	New case 't'.
      	Add SPE code for 'y' case.
      	(rs6000_generate_compare): Generate rtl for SPE fp.
      	(output_cbranch): Handle SPE hard floats.
      	(rs6000_emit_cmove): Handle isel.
      	(rs6000_emit_int_cmove): New.
      	(output_isel): New.
      	(rs6000_stack_info): Adjust stack frame so GPRs are saved in
      	64-bits for SPE.
      	(debug_stack_info): Add SPE info.
      	(gen_frame_mem_offset): New.
      	(rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
      	Change mode of frame pointer, when saving it, to Pmode.
      	(rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
      	Misc cleanups and use gen_frame_mem_offset when appropriate.
      
      	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
      	(TARGET_SPE_ABI): New.
      	(TARGET_SPE): New.
      	(TARGET_ISEL): New.
      	(TARGET_FPRS): New.
      	(FIXED_SCRATCH): New.
      	(RTX_COSTS): Add PROCESSOR_PPC8540.
      	(ASM_CPU_SPEC): Add case for 8540.
      	(TARGET_OPTIONS): Add isel= case.
      	(rs6000_spe_abi): New.
      	(rs6000_isel): New.
      	(rs6000_fprs): New.
      	(rs6000_isel_string): New.
      	(UNITS_PER_SPE_WORD): New.
      	(LOCAL_ALIGNMENT): Adjust for SPE.
      	(HARD_REGNO_MODE_OK): Same.
      	(DATA_ALIGNMENT): Same.
      	(MEMBER_TYPE_FORCES_BLK): New.
      	(FIRST_PSEUDO_REGISTER): Set to 113.
      	(FIXED_REGISTERS): Add SPE registers.
      	(reg_class): Same.
      	(REG_CLASS_NAMES): Same.
      	(REG_CLASS_CONTENTS): Same.
      	(REGNO_REG_CLASS): Same.
      	(REGISTER_NAMES): Same.
      	(DEBUG_REGISTER_NAMES): Same.
      	(ADDITIONAL_REGISTER_NAMES): Same.
      	(CALL_USED_REGISTERS): Same.
      	(CALL_REALLY_USED_REGISTERS): Same.
      	(SPE_ACC_REGNO): New.
      	(SPEFSCR_REGNO): New.
      	(SPE_SIMD_REGNO_P): New.
      	(HARD_REGNO_NREGS): Adjust for SPE.
      	(VECTOR_MODE_SUPPORTED_P): Same.
      	(REGNO_REG_CLASS): Same.
      	(FUNCTION_VALUE): Same.
      	(LIBCALL_VALUE): Same.
      	(LEGITIMATE_OFFSET_ADDRESS_P): Same.
      	(SPE_VECTOR_MODE): New.
      	(CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
      	the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
      	(rs6000_stack): Add spe_gp_size, spe_padding_size,
      	spe_gp_save_offset.
      	(USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
      	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
      	(SPE_CONST_OFFSET_OK): New.
      	(rs6000_builtins): Add SPE builtins.
      
      	* testsuite/gcc.dg/ppc-spe.c: New.
      
      	* config/rs6000/eabispe.h: New.
      
      	* config/rs6000/spe.h: New.
      
      	* config/rs600/spe.md: New.
      
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
      	__SIMD__ for TARGET_SPE.
      
      	* config.gcc: Add powerpc-*-eabispe* case.
      	Add spe.h to user headers for powerpc.
      
      From-SVN: r55731
      Aldy Hernandez committed
    • re PR libstdc++/7230 (<strstream> header file is missing (trunk)) · 9a56333e
      
      2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>
      
      	PR libstdc++/7230
      	* config/linker-map.gnu: Revert strstream patch from 2002-07-01.
      	* include/Makefile.am (backward_headers): Use strstream, not
      	strstream.h.
      	* include/Makefile.in: Regenerate.
      	* include/backward/strstream: Revert.
      	* include/backward/strstream.h: Remove.
      	* src/strstream.cc: Revert.
      	* testsuite/backward/strstream_members.cc: Change include.
      
      From-SVN: r55730
      Benjamin Kosnik committed
  2. 24 Jul, 2002 23 commits
  3. 23 Jul, 2002 9 commits
    • linux.h (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove. · d795dc90
      	* config/mips/linux.h (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL):
      	Remove.
      
      From-SVN: r55693
      Neil Booth committed
    • cppexp.c (parse_defined): Mark macro used. · a69cbaac
      	* cppexp.c (parse_defined): Mark macro used.
      	* cpphash.h (struct cpp_macro): New member "used".
      	(_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
      	(struct cpp_reader): New member.
      	* cppinit.c (cpp_finish_options): Set first_unused_line.
      	(cpp_finish): Warn of unused macros if requested.
      	(OPT_TABLE): New switches.
      	(cpp_handle_option): Handle them.
      	* cpplib.c (do_undef): Warn if macro unused.
      	(do_ifdef, do_ifndef): Mark macro used.
      	* cpplib.h (struct cpp_options): New member.
      	* cppmacro.c (_cpp_warn_if_unused_macro): New.
      	(enter_macro_context): Mark macro used.
      	(_cpp_create_definition): Mark macro unused; warn if unused
      	when redefined.
      	* cpptrad.c (scan_out_logcial_line, push_replacement_text):
      	Mark macros used.
      	* doc/cppopts.texi: Update.
      testsuite:
      	* gcc.dg/cpp/trad/Wunused.c, gcc.dg/cpp/trad/Wunused.h,
      	gcc.dg/cpp/Wunused.c, gcc.dg/cpp/Wunused.h: New tests.
      
      From-SVN: r55692
      Neil Booth committed
    • * doc/tm.texi: Update documentation. · b841421a
      From-SVN: r55691
      Neil Booth committed
    • dwarf2out.c (SECTION_ASM_OP, [...]): Remove. · c0667597
      	* dwarf2out.c (SECTION_ASM_OP,
      	ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
      	* system.h (SECTION_ASM_OP): Poison.
      	* tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
      	* config/alpha/alpha-interix.h, config/mips/linux.h
      	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
      	* config/mmix/mmix-protos.h, config/mmix/mmix.c
      	(mmix_asm_output_define_label_difference_symbol): Remove.
      	* config/mmix/mmix.h
      	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
      cp:
      	* cp-tree.h (FILE_FUNCTION_PREFIX_LEN): Remove.
      
      From-SVN: r55690
      Neil Booth committed
    • recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'. · bf7cd754
      	* recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
      	(constrain_operands): Likewise.
      	* regclass.c (record_reg_classes): Likewise.
      	* reload.c (find_reloads): Likewise.
      	* doc/md.texi: Likewise.
      
      From-SVN: r55689
      J"orn Rennecke committed
    • va-arg-15.x, [...]: Delete. · 13fd931e
      	* gcc.c-torture/execute/va-arg-15.x, va-arg-16.x, va-arg-17.x:
      	Delete.
      
      From-SVN: r55688
      Kaveh R. Ghazi committed
    • reload.c (find_reloads_toplev): Use simplify_gen_subreg. · 451f86fd
      gcc:
      	* reload.c (find_reloads_toplev): Use simplify_gen_subreg.
      	* simplify-rtx.c (simplify_subreg): When converting to a non-int
      	mode, try to convert to an integer mode of matching size first.
      
      gcc/testsuite:
      	* gcc.c-torture/compile/simd-4.c: New test.
      
      From-SVN: r55687
      J"orn Rennecke committed
    • simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR from individual subregs... · 1d5fa6b4
      	* simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
      	from individual subregs, check that each subreg has been generated
      	sucessfully.
      
      From-SVN: r55686
      J"orn Rennecke committed
    • genautomata.c (VLA_HWINT_SHORTEN, [...]): Remove. · 10d6af32
      	* genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
      	* df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
      	FOR_EACH_BB_IN_SBITMAP): Remove.
      	* gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
      	* haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
      	LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
      	* loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
      	PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
      	* regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
      
      From-SVN: r55685
      Neil Booth committed