Oleg Endo
82552a29d4
crt1.S (start): Don't do VBR_SETUP for SH2E.
...
* config/sh/crt1.S (start): Don't do VBR_SETUP for SH2E.
From-SVN: r205360
2013-11-25 17:11:50 +00:00
Rainer Orth
80e8745780
Suppress some warnings for soft-fp files
...
* config/t-softfp (soft-fp-objects-base): New variable.
(soft-fp-objects): Use it.
From-SVN: r205355
2013-11-25 16:02:12 +00:00
David Edelsohn
4417887978
re PR target/33704 (AIX runs c++ constructors in incorrect order)
...
libgcc:
PR target/33704
* config/rs6000/aixinitfini.c: New file.
* config/rs6000/t-aix-cxa (LIB2ADD_ST): Add aixinitfini.c.
* config/rs6000/libgcc-aix-cxa.ver (GCC_4.9): Add libgcc initfini
symbols.
gcc:
PR target/33704
* config/rs6000/aix.h (COLLECT_SHARED_INIT_FUNC): Define.
(COLLECT_SHARED_FINI_FUNC): Define.
* collect2.c (aix_shared_initname): Declare.
(aix_shared_fininame): Declare.
(symkind): Add SYM_AIXI and SYM_AIXD.
(scanfilter_masks): Add SCAN_AIXI and SCAN_AIXD.
(struct names special): Add GLOBAL__AIXI_ and GLOBAL__AIXD_.
(aixlazy_flag): Parse.
(extract_init_priority): SYM_AIXI and SYM_AIXD have highest priority.
(scan_prog_file, COFF): Handle SYM_AIXI and SYM_AIXD.
Co-Authored-By: Andrew Dixie <andrewd@gentrack.com>
From-SVN: r205309
2013-11-23 10:38:07 -05:00
Yuri Rumyantsev
e52876717c
Enable AES, PCLMUL and RDRND for Silvermont
...
gcc/
2013-11-22 Yuri Rumyantsev <ysrumyan@gmail.com>
* config/i386/i386.c(processor_alias_table): Enable PTA_AES,
PTA_PCLMUL and PTA_RDRND for Silvermont.
* config/i386/driver-i386.c (host_detect_local_cpu): Set up cpu
for Silvermont.
* doc/invoke.texi: Mention AES, PCLMUL and RDRND for Silvermont.
libgcc/
2013-11-22 Yuri Rumyantsev <ysrumyan@gmail.com>
* config/i386/cpuinfo.c (get_intel_cpu): Add Silvermont cases.
From-SVN: r205275
2013-11-22 08:33:40 -08:00
Ulrich Weigand
b54214fe22
rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
...
gcc/ChangeLog:
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
(RS6000_SAVE_TOC): Remove.
(RS6000_TOC_SAVE_SLOT): New macro.
* config/rs6000/rs6000.c (rs6000_parm_offset): New function.
(rs6000_parm_start): Use it.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT.
(rs6000_emit_epilogue): Likewise.
(rs6000_call_aix): Likewise.
(rs6000_output_function_prologue): Do not save/restore r11
around calling _mcount for ABI_ELFv2.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space):
Add prototype.
* config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove.
(REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space.
* config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function.
(rs6000_function_parms_need_stack): Likewise.
(rs6000_reg_parm_stack_space): Likewise.
(rs6000_function_arg): Do not replace BLKmode by Pmode when
returning a register argument.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Michael Gschwind <mkg@us.ibm.com>
* config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro.
(ALTIVEC_ARG_MAX_RETURN): Likewise.
(FUNCTION_VALUE_REGNO_P): Use them.
* config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define.
(rs6000_return_in_msb): New function.
(rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates.
Handle aggregates of up to 16 bytes for ELFv2.
(rs6000_function_value): Handle ELFv2 homogeneous aggregates.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Michael Gschwind <mkg@us.ibm.com>
* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_function_arg_boundary): Handle homogeneous aggregates.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_psave_function_arg): Handle BLKmode arguments.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Michael Gschwind <mkg@us.ibm.com>
* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_function_arg_boundary): Handle homogeneous aggregates.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_psave_function_arg): Handle BLKmode arguments.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* config/rs6000/rs6000.c (machine_function): New member
r2_setup_needed.
(rs6000_emit_prologue): Set r2_setup_needed if necessary.
(rs6000_output_mi_thunk): Set r2_setup_needed.
(rs6000_output_function_prologue): Output global entry point
prologue and local entry point marker if needed for ABI_ELFv2.
Output -mprofile-kernel code here.
(output_function_profiler): Do not output -mprofile-kernel
code here; moved to rs6000_output_function_prologue.
(rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2.
(rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2.
(rs6000_output_function_entry): Likewise.
(rs6000_assemble_integer): Likewise.
(rs6000_elf_encode_section_info): Likewise.
(rs6000_elf_declare_function_name): Do not create dot symbols
or .opd section for ABI_ELFv2.
(rs6000_trampoline_size): Update for ABI_ELFv2 trampolines.
(rs6000_trampoline_init): Likewise.
(rs6000_elf_file_end): Call file_end_indicate_exec_stack
for ABI_ELFv2.
(rs6000_call_aix): Handle ELFv2 indirect calls. Do not check
for function descriptors in ABI_ELFv2.
* config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support
on ABI_AIX only, not ABI_ELFv2.
("*call_value_indirect_aix<mode>"): Likewise.
("*call_indirect_elfv2<mode>"): New pattern.
("*call_value_indirect_elfv2<mode>"): Likewise.
* config/rs6000/predicates.md ("symbol_ref_operand"): Do not
check for function descriptors in ABI_ELFv2.
("current_file_function_operand"): Likewise.
* config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]:
(toc): Undefine.
(FUNC_NAME): Define ELFv2 variant.
(JUMP_TARGET): Likewise.
(FUNC_START): Likewise.
(HIDDEN_FUNC): Likewise.
(FUNC_END): Likeiwse.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1
and --with-abi=elfv2.
* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi".
* config/rs6000/rs6000.opt (mabi=elfv1): New option.
(mabi=elfv2): Likewise.
* config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2.
* config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI
if !RS6000_BI_ARCH.
(ELFv2_ABI_CHECK): New macro.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
rs6000_current_abi to ABI_AIX or ABI_ELFv2.
(GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
_CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2.
(debug_stack_info): Likewise.
(rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX.
(rs6000_legitimize_tls_address): Likewise.
(rs6000_conditional_register_usage): Likewise.
(rs6000_emit_move): Likewise.
(init_cumulative_args): Likewise.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_output_function_entry): Likewise.
(rs6000_assemble_integer): Likewise.
(rs6000_savres_strategy): Likewise.
(rs6000_stack_info): Likewise.
(rs6000_function_ok_for_sibcall): Likewise.
(rs6000_emit_load_toc_table): Likewise.
(rs6000_savres_routine_name): Likewise.
(ptr_regno_for_savres): Likewise.
(rs6000_emit_prologue): Likewise.
(rs6000_emit_epilogue): Likewise.
(rs6000_output_function_epilogue): Likewise.
(output_profile_hook): Likewise.
(output_function_profiler): Likewise.
(rs6000_trampoline_size): Likewise.
(rs6000_trampoline_init): Likewise.
(rs6000_elf_output_toc_section_asm_op): Likewise.
(rs6000_elf_encode_section_info): Likewise.
(rs6000_elf_reloc_rw_mask): Likewise.
(rs6000_elf_declare_function_name): Likewise.
(rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX,
except that rs6000_compat_align_parm is always assumed false.
(rs6000_gimplify_va_arg): Likewise.
(rs6000_call_aix): Update comment.
(rs6000_sibcall_aix): Likewise.
* config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"):
Treat ABI_ELFv2 the same as ABI_AIX.
("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise.
("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
("load_toc_aix_si"): Likewise.
("load_toc_aix_di"): Likewise.
("call"): Likewise.
("call_value"): Likewise.
("*call_local_aix<mode>"): Likewise.
("*call_value_local_aix<mode>"): Likewise.
("*call_nonlocal_aix<mode>"): Likewise.
("*call_value_nonlocal_aix<mode>"): Likewise.
("*call_indirect_aix<mode>"): Likewise.
("*call_value_indirect_aix<mode>"): Likewise.
("sibcall"): Likewise.
("sibcall_value"): Likewise.
("*sibcall_aix<mode>"): Likewise.
("*sibcall_value_aix<mode>"): Likewise.
* config/rs6000/predicates.md ("symbol_ref_operand"): Likewise.
("current_file_function_operand"): Likewise.
gcc/testsuite/ChangeLog:
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove
compiler and linker field if _CALL_ELF == 2.
* gcc.target/powerpc/ppc64-abi-2.c (stack_frame_t): Likewise.
* gcc.target/powerpc/ppc64-abi-dfp-1.c (stack_frame_t): Likewise.
* gcc.dg/stack-usage-1.c (SIZE): Update value for _CALL_ELF == 2.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* gcc.target/powerpc/ppc64-abi-dfp-1.c (FUNC_START): New macro.
(WRAPPER): Use it.
* gcc.target/powerpc/no-r11-1.c: Skip on powerpc_elfv2.
* gcc.target/powerpc/no-r11-2.c: Skip on powerpc_elfv2.
* gcc.target/powerpc/no-r11-3.c: Skip on powerpc_elfv2.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* lib/target-supports.exp (check_effective_target_powerpc_elfv2):
New function.
* gcc.target/powerpc/pr57949-1.c: Disable for powerpc_elfv2.
* gcc.target/powerpc/pr57949-2.c: Likewise.
libgcc/ChangeLog:
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Alan Modra <amodra@gmail.com>
* config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define.
(frob_update_context): Use it.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Alan Modra <amodra@gmail.com>
* config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]:
(trampoline_initial): Provide ELFv2 variant.
(__trampoline_setup): Likewise.
* config/rs6000/linux-unwind.h (frob_update_context): Do not
check for AIX indirect function call sequence if _CALL_ELF == 2.
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Alan Modra <amodra@gmail.com>
* config/rs6000/linux-unwind.h (get_regs): Do not support
old kernel versions if _CALL_ELF == 2.
(frob_update_context): Do not support PLT stub variants only
generated by old linkers if _CALL_ELF == 2.
libitm/ChangeLog:
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
(FUNC): Define ELFv2 variant.
(END): Likewise.
(HIDDEN): Likewise.
(CALL): Likewise.
(BASE): Likewise.
(LR_SAVE): Likewise.
libstdc++/ChangeLog:
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* scripts/extract_symvers.in: Ignore <localentry: > fields
in readelf --symbols output.
Co-Authored-By: Alan Modra <amodra@gmail.com>
Co-Authored-By: Michael Gschwind <mkg@us.ibm.com>
From-SVN: r204808
2013-11-14 18:50:48 +00:00
Ulrich Weigand
13e0981af5
linux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64-bit little-endian systems.
...
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Alan Modra <amodra@gmail.com>
* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
location of CR save area for 64-bit little-endian systems.
Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r204800
2013-11-14 18:25:33 +00:00
Eric Botcazou
1a80085d42
config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf in tmake_file.
...
* config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf
in tmake_file.
* config/arm/t-vxworks: Delete.
From-SVN: r204669
2013-11-11 11:46:17 +00:00
Kai Tietz
cabeea52a7
cygming-crtbegin.c (__gcc_register_frame): Increment load-count on use of LIBGCC_SONAME DLL.
...
2013-11-10 Kai Tietz <ktietz@redhat.com>
* config/i386/cygming-crtbegin.c (__gcc_register_frame):
Increment load-count on use of LIBGCC_SONAME DLL.
(hmod_libgcc): New static variable to hold handle of
LIBGCC_SONAME DLL.
(__gcc_deregister_frame): Decrement load-count of
LIBGCC_SONAME DLL.
From-SVN: r204635
2013-11-10 12:47:18 +01:00
Uros Bizjak
9de84e84f2
sfp-exceptions.c (__sfp_handle_exceptions): Rewrite FP_EX_INEXACT handling.
...
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Rewrite
FP_EX_INEXACT handling.
From-SVN: r204546
2013-11-07 22:53:54 +01:00
Uros Bizjak
d59a8fcce6
sfp-exceptions.c (__sfp_handle_exceptions): Handle FP_EX_DENORM.
...
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Handle
FP_EX_DENORM. Store result to volatile location after SSE division
to close interrupt window. Remove unneeded fwait after x87
division since interrupt window will be closed by emitted fstp.
From-SVN: r204540
2013-11-07 20:45:28 +01:00
Uros Bizjak
02ac9503fd
i386-c.c (ix86_target_macros): Define _SOFT_FLOAT for !TARGET_80387.
...
gcc/
* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
for !TARGET_80387.
* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
_SOFT_FLOAT here.
(LONG_DOUBLE_TYPE_SIZE): New define.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.
libgcc/
* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
(_FP_MUL_MEAT_D): Ditto.
(_FP_DIV_MEAT_S): Ditto.
(_FP_DIV_MEAT_D): Ditto.
* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
t-softfp-sfdf and t-softfp to tmake_file.
M gcc/config/i386/i386-c.c
M gcc/config/i386/rtemself.h
M gcc/ChangeLog
M libgcc/ChangeLog
M libgcc/config.host
M libgcc/config/i386/32/sfp-machine.h
From-SVN: r204404
2013-11-05 17:08:30 +01:00
Uros Bizjak
612211412c
crtfastmath.c: Compile only for !_SOFT_FLOAT.
...
* config/i386/crtfastmath.c: Compile only for !_SOFT_FLOAT.
* config/i386/crtprec.c: Ditto.
From-SVN: r204327
2013-11-03 11:12:12 +01:00
Chung-Ju Wu
9304f87611
Add new nds32 port, including machine description, libgcc, and documentation.
...
[gcc/ChangeLog]
* config.gcc (nds32*-*-*): Add nds32 target.
* config/nds32/nds32.c: New file.
* config/nds32/nds32.h: New file.
* config/nds32/nds32.md: New file.
* config/nds32/constants.md: New file.
* config/nds32/constraints.md: New file.
* config/nds32/iterators.md: New file.
* config/nds32/nds32-doubleword.md: New file.
* config/nds32/nds32-intrinsic.md: New file.
* config/nds32/nds32_intrinsic.h: New file.
* config/nds32/nds32-modes.def: New file.
* config/nds32/nds32-multiple.md: New file.
* config/nds32/nds32.opt: New file.
* config/nds32/nds32-opts.h: New file.
* config/nds32/nds32-protos.h: New file.
* config/nds32/nds32-peephole2.md: New file.
* config/nds32/pipelines.md: New file.
* config/nds32/predicates.md: New file.
* config/nds32/t-mlibs: New file.
* common/config/nds32: New directory and files.
* doc/invoke.texi (NDS32 options): Document nds32 specific options.
* doc/md.texi (NDS32 family): Document nds32 specific constraints.
* doc/install.texi (Cross-Compiler-Specific Options): Document
--with-nds32-lib for nds32 target.
* doc/extend.texi (Function Attributes, Target Builtins): Document
nds32 specific attributes.
[libgcc/ChangeLog]
* config.host (nds32*-elf*): Add nds32 target.
* config/nds32 : New directory and files.
[contrib/ChangeLog]
* config-list.mk (nds32le-elf, nds32be-elf): Add nds32 target.
Co-Authored-By: Shiva Chen <shiva0217@gmail.com>
From-SVN: r204269
2013-10-31 17:08:16 +00:00
Hans-Peter Nilsson
0e499e759c
For CRIS ports, switch to soft-fp. Improve arit.c and longlong.h.
...
* config.host (cpu_type) <Setting default>: Add entry for
crisv32-*-*.
(tmake_file) <crisv32-*-elf, cris-*-elf, cris-*-linux*>
<crisv32-*-linux*>: Adjust.
* longlong.h: Wrap the whole CRIS section in a single
defined(__CRIS__) conditional. Add comment about add_ssaaaa
and sub_ddmmss.
(COUNT_LEADING_ZEROS_0): Define when count_leading_zeros is
defined.
[__CRIS__] (__umulsidi3): Define.
[__CRIS__] (umul_ppmm): Define in terms of __umulsidi3.
* config/cris/sfp-machine.h: New file.
* config/cris/umulsidi3.S: New file.
* config/cris/t-elfmulti (LIB2ADD_ST): Add umulsidi3.S.
* config/cris/arit.c (SIGNMULT): New macro.
(__Div, __Mod): Use SIGNMULT instead of naked multiplication.
* config/cris/mulsi3.S: Tweak to avoid redundant register-copying;
saving 3 out of originally 33 cycles from the fastest
path, 3 out of 54 from the medium path and one from the longest
path. Improve comments.
From-SVN: r203640
2013-10-16 01:43:14 +00:00
Joern Rennecke
2deaf8b0d6
In accordance with http://gcc.gnu.org/ml/gcc-patches/2013-10/msg00131.html :
...
gcc:
* config/arc/arc-opts.h: Add 2013 to Copyright years.
* config/arc/arc700.md: Likewise.
* config/arc/arc-modes.def: Likewise.
* config/arc/arc-simd.h: Likewise.
* config/arc/t-arc-uClibc: Likewise.
* config/arc/t-arc-newlib: Likewise.
libgcc:
* config/arc/crtgend.S: Add 2013 to Copyright years.
* config/arc/gmon/atomic.h: Likewise.
* config/arc/gmon/auxreg.h: Likewise.
* config/arc/gmon/sys/gmon_out.h: Likewise.
* config/arc/gmon/sys/gmon.h: Likewise.
* config/arc/gmon/prof-freq.c: Likewise.
* config/arc/gmon/mcount.c: Likewise.
* config/arc/gmon/prof-freq-stub.S: Likewise.
* config/arc/gmon/gmon.c: Likewise.
* config/arc/gmon/machine-gmon.h: Likewise.
* config/arc/gmon/profil.S: Likewise.
* config/arc/gmon/dcache_linesz.S: Likewise.
* config/arc/crtg.S: Likewise.
* config/arc/ieee-754/arc600-mul64/divsf3.S: Likewise.
* config/arc/ieee-754/arc600-mul64/divdf3.S: Likewise.
* config/arc/ieee-754/adddf3.S: Likewise.
* config/arc/ieee-754/truncdfsf2.S: Likewise.
* config/arc/ieee-754/fixsfsi.S: Likewise.
* config/arc/ieee-754/gtsf2.S: Likewise.
* config/arc/ieee-754/floatsisf.S: Likewise.
* config/arc/ieee-754/arc600-dsp/divsf3.S: Likewise.
* config/arc/ieee-754/arc600-dsp/divdf3.S: Likewise.
* config/arc/ieee-754/arc600-dsp/mulsf3.S: Likewise.
* config/arc/ieee-754/fixdfsi.S: Likewise.
* config/arc/ieee-754/addsf3.S: Likewise.
* config/arc/ieee-754/gesf2.S: Likewise.
* config/arc/ieee-754/floatsidf.S: Likewise.
* config/arc/ieee-754/extendsfdf2.S: Likewise.
* config/arc/ieee-754/divtab-arc-df.c: Likewise.
* config/arc/ieee-754/gtdf2.S: Likewise.
* config/arc/ieee-754/fixunsdfsi.S: Likewise.
* config/arc/ieee-754/uneqdf2.S: Likewise.
* config/arc/ieee-754/divsf3-stdmul.S: Likewise.
* config/arc/ieee-754/uneqsf2.S: Likewise.
* config/arc/ieee-754/arc-ieee-754.h: Likewise.
* config/arc/ieee-754/divtab-arc-sf.c: Likewise.
* config/arc/ieee-754/eqdf2.S: Likewise.
* config/arc/ieee-754/ordsf2.S: Likewise.
* config/arc/ieee-754/divsf3.S: Likewise.
* config/arc/ieee-754/divdf3.S: Likewise.
* config/arc/ieee-754/floatunsidf.S: Likewise.
* config/arc/ieee-754/orddf2.S: Likewise.
* config/arc/ieee-754/eqsf2.S: Likewise.
* config/arc/ieee-754/gedf2.S: Likewise.
* config/arc/crtn.S: Likewise.
* config/arc/crti.S: Likewise.
* config/arc/t-arc700-uClibc: Likewise.
* config/arc/asm.h: Likewise.
* config/arc/libgcc-excl.ver: Likewise.
* config/arc/t-arc-newlib: Likewise.
* config/arc/divtab-arc700.c: Likewise.
* config/arc/initfini.c: Likewise.
* config/arc/fp-hack.h: Likewise.
From-SVN: r203110
2013-10-02 12:18:24 +01:00
Joern Rennecke
dd9480ef3e
simdext.md: Update copyright years.
...
gcc:
* config/arc/simdext.md: Update copyright years.
libgcc:
* config/arc/ieee-754/arc600-dsp/muldf3.S: Update copyright years
* config/arc/ieee-754/arc600-mul64/muldf3.S: Likewise.
* config/arc/ieee-754/muldf3.S: Likewise.
From-SVN: r203094
2013-10-01 23:34:07 +01:00
Joern Rennecke
a07c5b47b7
muldf3.S (.Linf_denorm): Likewise.
...
* config/arc/ieee-754/arc600-dsp/muldf3.S (.Linf_denorm): Likewise.
* config/arc/ieee-754/arc600-mul64/muldf3.S (.Linf_denorm): Likewise.
* config/arc/ieee-754/muldf3.S (.Linf_denorm): Likewise.
Co-Authored-By: Diego Novillo <dnovillo@google.com>
From-SVN: r203083
2013-10-01 20:44:23 +01:00
Joern Rennecke
c8e318b042
mcount.c (_MCOUNT_DECL): Comment typo fix.
...
2013-10-01 Joern Rennecke <joern.rennecke@embecosm.com>
Diego Novillo <dnovillo@google.com>
* config/arc/gmon/mcount.c (_MCOUNT_DECL): Comment typo fix.
Co-Authored-By: Diego Novillo <dnovillo@google.com>
From-SVN: r203081
2013-10-01 20:21:40 +01:00
Joern Rennecke
d38a64b4e0
config.host (arc*-*-elf*, [...]): New configurations.
...
2013-10-01 Joern Rennecke <joern.rennecke@embecosm.com>
Brendan Kehoe <brendan@zen.org>
Simon Cook <simon.cook@embecosm.com>
* config.host (arc*-*-elf*, arc*-*-linux-uclibc*): New configurations.
* config/arc: New directory.
* longlong.h [__arc__] (umul_ppmm): Remove.
[__arc__] (__umulsidi3): Define.
[__arc__ && __ARC_NORM__] (count_leading_zeroes): Define.
[__arc__ && __ARC_NORM__] (COUNT_LEADING_ZEROS_0): Likewise.
Co-Authored-By: Brendan Kehoe <brendan@zen.org>
Co-Authored-By: Simon Cook <simon.cook@embecosm.com>
From-SVN: r203073
2013-10-01 18:12:59 +01:00
Jacek Caban
dff717d29b
gthr-win32.c: CreateSemaphoreW instead of CreateSemaphoreA.
...
2013-09-17 Jacek Caban <jacek@codeweavers.com>
* config/i386/gthr-win32.c: CreateSemaphoreW instead of
CreateSemaphoreA.
* config/i386/gthr-win32.h: Likewise.
From-SVN: r202648
2013-09-17 13:46:47 +02:00
DJ Delorie
844ad6c640
* config/rl78/vregs.h: Add G10 register definitions.
...
From-SVN: r202638
2013-09-16 17:58:05 -04:00
DJ Delorie
5c0029ded7
rl78.c (rl78_asm_file_start): Specify alternate vregs location for RL78/G10.
...
* config/rl78/rl78.c (rl78_asm_file_start): Specify alternate
vregs location for RL78/G10.
(rl78_expand_prologue): Avoid SEL on G10.
(rl78_expand_epilogue): Likewise.
(rl78_peep_movhi_p): Can't move a constant to memory in HImode.
* config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
__RL78_G10__ when appropriate.
(ASM_SPEC): Pass -mg10 along to the assembler.
* config/rl78/rl78.md (sel_rb): Disable for G10.
* config/rl78/rl78.opt: Add -mg10 option.
* config/rl78/t-rl78: Add -mg10 multilib.
* config/rl78/lib2mul.c: Enable for RL78/G10.
* config/rl78/lib2div.c: Likewise.
* config/rl78/lshrsi3.S: Use vregs.h.
* config/rl78/cmpsi2.S: Likewise.
* config/rl78/trampoline.S: Likewise.
* config/rl78/mulsi2.S: Likewise. Disable for RL78/G10.
From-SVN: r202637
2013-09-16 17:15:46 -04:00
DJ Delorie
ceb2fc49ce
mulsi3.S: Remove a few unneeded moves and branches.
...
* config/rl78/mulsi3.S: Remove a few unneeded moves and branches.
* config/rl78/vregs.h: New.
* config/rl78/signbit.S: New file. Implements signbit function.
* config/rl78/divmodsi.S: New.
* config/rl78/divmodhi.S: New.
* config/rl78/divmodqi.S: New.
* config/rl78/t-rl78: Build them here...
* config/rl78/lib2div.c: ...but not here.
Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r202588
2013-09-14 02:13:18 -04:00
DJ Delorie
f6a83b4a9f
MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430 maintainers.
...
* MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430
maintainers.
[gcc]
* config/msp430/: New port.
* config.gcc (msp430): Added.
* doc/invoke.texi: Document MSP430 options.
* doc/install.texi: Document msp430-elf
* doc/md.texi: Document msp430-elf
* doc/contrib.texi: Document msp430-elf
[libgcc]
* config.host (msp*-*-elf): New.
* config/msp430/: New port.
[contrib]
* config-list.mk: Add msp430-elf.
From-SVN: r202535
2013-09-12 13:52:41 -04:00
Maciej W. Rozycki
0f9bde1fac
mips16.S (CE_STARTFN, CE_ENDFN): New macros.
...
* config/mips/mips16.S (CE_STARTFN, CE_ENDFN): New macros.
(RET_FUNCTION): Use them in place of STARTFN and ENDFN.
(CALL_STUB_NO_RET): Likewise.
(CALL_STUB_RET): Likewise.
* config/mips/libgcc-mips16.ver: Remove __mips16_call_stub and
__mips16_ret call/return stub symbols.
* config.host <mips*-*-linux>: For non-R5900 add t-slibgcc-libgcc
to tmake_file.
Co-Authored-By: Catherine Moore <clm@codesourcery.com>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r201805
2013-08-16 22:23:29 +00:00
Maxim Kuvyrkov
46549c206e
Fix licenses on several libgcc files.
...
* config/aarch64/sfp-machine.h, config/aarch64/sync-cache.c,
* config/i386/cpuinfo.c, config/ia64/unwind-ia64.h,
* config/mips/vr4120-div.S: Fix license from GPL-3.0+ to
GPL-3.0-with-GCC-exception.
From-SVN: r201417
2013-08-01 21:09:10 +00:00
Maciej W. Rozycki
72be589b8c
mips16.S (DELAYf): Alias to DELAYt for the MIPS IV ISA and up.
...
* config/mips/mips16.S (DELAYf): Alias to DELAYt for the MIPS IV
ISA and up.
From-SVN: r201350
2013-07-30 18:34:43 +00:00
Andreas Krebbel
902a3fafbe
linux-unwind.h: Use the proper dwarf to hard reg mapping for FPRs when...
...
2013-07-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/linux-unwind.h: Use the proper dwarf to hard reg
mapping for FPRs when creating the fallback framestate.
From-SVN: r201156
2013-07-23 07:20:52 +00:00
Georg-Johann Lay
0237179843
re PR target/57516 ([avr] Incorrect fixed-point rounding result in the overflow case)
...
gcc/
PR target/57516
* config/avr/avr-fixed.md (round<mode>3_const): Turn expander to insn.
* config/avr/avr.md (adjust_len): Add `round'.
* config/avr/avr-protos.h (avr_out_round): New prototype.
(avr_out_plus): Add `out_label' argument.
* config/avr/avr.c (avr_out_plus_1): Add `out_label' argument.
(avr_out_plus): Pass down `out_label' to avr_out_plus_1.
Handle the case where `insn' is just a pattern.
(avr_out_bitop): Handle the case where `insn' is just a pattern.
(avr_out_round): New function.
(avr_adjust_insn_length): Handle ADJUST_LEN_ROUND.
libgcc/
PR target/57516
* config/avr/lib1funcs-fixed.S (__roundqq3, __rounduqq3)
(__round_s2_const, __round_u2_const)
(__round_s4_const, __round_u4_const, __round_x8):
Saturate result if addition result cannot be represented.
gcc/testsuite/
PR target/57516
* gcc.target/avr/torture/builtins-4-roundfx.c (test2hr, test2k):
Adjust to corrected rounding.
From-SVN: r201051
2013-07-19 11:10:08 +00:00
Joseph Myers
fa1e55b0a0
re PR other/53317 (Conversion from __int128 to __float128)
...
PR other/53317
gcc/testsuite:
* gcc.dg/torture/fp-int-convert-float128-timode-2.c: New test.
libgcc:
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
* config/aarch64/sfp-machine.h (_FP_QNANNEGATEDP): Define to 0.
* config/arm/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/c6x/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/i386/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/ia64/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/lm32/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/moxie/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/rs6000/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/score/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/tilegx/sfp-machine32.h (_FP_QNANNEGATEDP): Likewise.
* config/tilegx/sfp-machine64.h (_FP_QNANNEGATEDP): Likewise.
* config/tilepro/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
From-SVN: r200318
2013-06-21 20:08:01 +01:00
Jürgen Urban
0de86a9228
mips.h (ISA_HAS_MUL3): Include TARGET_MIPS5900.
...
gcc/
2013-06-16 Jürgen Urban <JuergenUrban@gmx.de>
* config/mips/mips.h (ISA_HAS_MUL3): Include TARGET_MIPS5900.
(ISA_HAS_MULT, ISA_HAS_DMULT, ISA_HAS_DIV, ISA_HAS_DDIV): New macros.
* config/mips/mips.md (mul<mode>3, mul<mode>3_internal)
(mul<mode>3_r4000): Require ISA_HAS_<D>MULT.
(mul<mode>3_mul3): Handle TARGET_MIPS5900.
(mulsidi3_64bit_dmul): Remove redundant TARGET_64BIT test.
(<su>muldi3_highpart, <su>muldi3_highpart_internal, <u>mulditi3)
(<u>mulditi3_internal, <u>mulditi3_r4000): Require ISA_HAS_DMULT
instead of TARGET_64BIT.
(divmod<mode>4, udivmod<mode>4, <u>divmod<GPR:mode>4_hilo_<HILO:mode>):
Require ISA_HAS_<D>DIV.
libgcc/
2013-06-16 Jürgen Urban <JuergenUrban@gmx.de>
* config/mips/lib2funcs.c: New file.
* config/mips/t-mips (LIB2ADD_ST): Add it.
From-SVN: r200140
2013-06-16 19:31:24 +00:00
Oleg Endo
0d00888247
re PR target/6526 ([SH4] sdivsi3_i4 can clobber xd0/xd2)
...
PR target/6526
* config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Do not change bits
other than FPSCR.PR and FPSCR.SZ. Add SH4A implementation.
PR target/6526
* gcc.target/sh/pr6526.c: New.
From-SVN: r199873
2013-06-09 21:32:37 +00:00
Walter Lee
776434d183
atomic.h: Don't include stdint.h or features.h.
...
* config/tilepro/atomic.h: Don't include stdint.h or features.h.
Replace int64_t with long long. Add __extension__ where
appropriate.
* config/tilepro/atomic.c: Include config.h.
From-SVN: r199855
2013-06-08 16:26:32 +00:00
Alan Modra
5cc19c6246
ibm-ldouble.c: Enable for little-endian.
...
* config/rs6000/ibm-ldouble.c: Enable for little-endian.
From-SVN: r199650
2013-06-04 23:41:28 +09:30
Yuri Rumyantsev
0f1d3965bd
i386.c (ix86_lea_outperforms): Fix formatting.
...
* config/i386/i386.c (ix86_lea_outperforms): Fix formatting.
(ix86_avoid_lea_for_addr): Likewise.
(exact_dependency_1): Likewise.
(ix86_adjust_cost): Likewise.
(swap_top_of_ready_list): Fix formatting and !reload_completed check
removed.
(do_reorder_for_imul): Fix typo, formatting and
!reload_completed check removed.
(ix86_sched_reorder): Fix typo and formatting.
(fold_builtin_cpu): Move M_INTEL_SLM at the end of processor types
list.
* config/i386/cpuinfo.c (INTEL_SLM): New enum value.
From-SVN: r199611
2013-06-03 19:20:02 +02:00
Yuri Rumyantsev
0b871ccfce
Silvermont (SLM) architecture pipeline model, tuning and insn selection.
...
Silvermont (SLM) architecture pipeline model, tuning and
insn selection.
* config.gcc: Add slm config options and target.
* config/i386/slm.md: New.
* config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.
* gcc/config/i386/i386-c.c (ix86_target_macros_internal): New case
PROCESSOR_SLM.
(ix86_target_macros_internal): Likewise.
* gcc/config/i386/i386.c (slm_cost): New cost.
(m_SLM): New macro flag.
(initial_ix86_tune_features): Set m_SLM.
(x86_accumulate_outgoing_args): Likewise.
(x86_arch_always_fancy_math_387): Likewise.
(processor_target_table): Add slm cost.
(cpu_names): Add slm cpu name.
(x86_option_override_internal): Set SLM ISA.
(ix86_issue_rate): New case PROCESSOR_SLM.
(ia32_multipass_dfa_lookahead): Likewise.
(fold_builtin_cpu): Add slm.
* config/i386/i386.h (TARGET_SLM): New target macro.
(target_cpu_default): Add TARGET_CPU_DEFAULT_slm.
(processor_type): Add PROCESSOR_SLM.
* config/i386/i386.md (cpu): Add new value "slm".
(slm.md): Include slm.md.
* libgcc/config/i386/cpuinfo.c (INTEL_SLM): New enum value.
Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>
From-SVN: r199444
2013-05-30 10:10:21 +00:00
Eric Botcazou
0ba045df8f
sol2-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Do not set fs->signal_frame for SIGFPE raised for IEEE-754 exceptions.
...
* config/sparc/sol2-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Do not set
fs->signal_frame for SIGFPE raised for IEEE-754 exceptions.
* config/i386/sol2-unwind.h (x86_fallback_frame_state): Likewise.
From-SVN: r199381
2013-05-28 13:52:50 +00:00
Eric Botcazou
4fcb5d87d4
sol2-unwind.h (sparc64_frob_update_context): Do it for signal frames as well.
...
* config/sparc/sol2-unwind.h (sparc64_frob_update_context): Do it for
signal frames as well.
(MD_FALLBACK_FRAME_STATE_FOR): Do minor cleanups throughout and add the
STACK_BIAS to the CFA offset.
From-SVN: r199191
2013-05-22 10:39:03 +00:00
Kai Tietz
492a80292b
cygming-crtbegin.c (__register_frame_info): Make weak.
...
* config/i386/cygming-crtbegin.c (__register_frame_info): Make weak.
(__deregister_frame_info): Likewise.
From-SVN: r198719
2013-05-08 20:33:52 +02:00
Yufeng Zhang
dfe192f58f
sfp-machine.h (_FP_W_TYPE): Change to define as 'unsigned long long' instead of 'unsigned long'.
...
libgcc/
* config/aarch64/sfp-machine.h (_FP_W_TYPE): Change to define
as 'unsigned long long' instead of 'unsigned long'.
(_FP_WS_TYPE): Change to define as 'signed long long' instead of
'signed long'.
From-SVN: r198090
2013-04-19 12:17:26 +00:00
Julian Brown
b6b9af2f11
libgcc/
...
* config/arm/linux-atomic.c (SUBWORD_SYNC_OP, SUBWORD_VAL_CAS)
(SUBWORD_TEST_AND_SET): Use signed char/short types instead of
unsigned char/unsigned short.
(__sync_val_compare_and_swap_{1,2}): Handle signed argument.
From-SVN: r197806
2013-04-11 14:22:54 +00:00
John David Anglin
ecabdd0007
re PR other/55274 (gcc build hangs on HP-UX 11.11)
...
PR other/55274
* config/t-slibgcc-hpux (SHLIB_MAPFILES): Define.
From-SVN: r197544
2013-04-06 18:22:09 +00:00
Meador Inge
3465257612
bpabi.S (aeabi_ldivmod): Add DWARF information for computing the location of the link register.
...
libgcc/
2013-04-04 Meador Inge <meadori@codesourcery.com>
* config/arm/bpabi.S (aeabi_ldivmod): Add DWARF information for
computing the location of the link register.
(aeabi_uldivmod): Ditto.
From-SVN: r197493
2013-04-04 18:42:19 +00:00
Walter Lee
a6406324ae
t-crtstuff: Add -fno-asynchronous-unwind-tables -mcmodel=large to CRTSTUFF_T_CFLAGS_S variable.
...
* config/tilegx/t-crtstuff: Add -fno-asynchronous-unwind-tables
-mcmodel=large to CRTSTUFF_T_CFLAGS_S variable.
From-SVN: r197083
2013-03-26 04:34:45 +00:00
Kai Tietz
55446c7e55
* config/i386/cygwin.S: Replace use of _WIN64 by __x86_64__.
...
From-SVN: r197050
2013-03-25 15:54:30 +01:00
Robert Mason
d2ae19d976
2013-03-20 Robert Mason <rbmj@verizon.net>
...
* config/vxlib-tls.c (__gthread_get_tsd_data,)
(__gthread_set_tsd_data, __gthread_enter_tsd_dtor_context,)
(__gthread_leave_tsd_dtor_context): Add prototypes.
(tls_delete_hook): Update.
From-SVN: r196842
2013-03-20 22:01:25 +00:00
Catherine Moore
22c4c86949
extend.texi: (micromips, nomicromips, nocompression): Document new function attributes.
...
gcc/
2013-03-20 Catherine Moore <clm@codesourcery.com>
Maciej W. Rozycki <macro@codesourcery.com>
Tom de Vries <tom@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
Iain Sandoe <iain@codesourcery.com>
Nathan Froyd <froydnj@codesourcery.com>
Chao-ying Fu <fu@mips.com>
* doc/extend.texi: (micromips, nomicromips, nocompression):
Document new function attributes.
* doc/invoke.texi (minterlink-compressed, mmicromips,
m14k, m14ke, m14kec): Document new options.
(minterlink-mips16): Update documentation.
* doc/md.texi (ZC, ZD): Document new constraints.
* configure.ac (gcc_cv_as_micromips): Check if linker
supports the .set micromips directive.
* configure: Regenerate.
* config.in: Regenerate.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/micromips.md: New file.
* constraints.md (ZC, ZD): New constraints.
* config/mips/predicates.md (movep_src_register): New predicate.
(movep_src_operand): New predicate.
(non_volatile_mem_operand): New predicate.
* config/mips/mips.md (multimem): New type.
(length): Differentiate between 17-bit and 18-bit branch offsets.
(MOVEP1, MOVEP2): New mode iterator.
(mov_<load>l): Use ZC constraint.
(mov_<load>r): Likewise.
(mov_<store>l): Likewise.
(mov_<store>r): Likewise.
(*branch_equality<mode>_inverted): Add microMIPS support.
(*branch_equality<mode>): Likewise.
(*jump_absolute): Likewise.
(indirect_jump_<mode>): Likewise.
(tablejump_<mode>): Likewise.
(<optab>_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(prefetch): Use constraint ZD.
* config/mips/mips.opt (minterlink-compressed): New option.
(minterlink-mips16): Now an alias for minterlink-compressed.
(mmicromips): New option.
* config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
(compare_and_swap_12): Likewise.
(sync_add<mode>): Likewise.
(sync_<optab>_12): Likewise.
(sync_old_<optab>_12): Likewise.
(sync_new_<optab>_12): Likewise.
(sync_nand_12): Likewise.
(sync_old_nand_12): Likewise.
(sync_new_nand_12): Likewise.
(sync_sub<mode>): Likewise.
(sync_old_add<mode>): Likewise.
(sync_old_sub<mode>): Likewise.
(sync_new_add<mode>): Likewise.
(sync_new_sub<mode>): Likewise.
(sync_<optab><mode>): Likewise.
(sync_old_<optab><mode>): Likewise.
(sync_new_<optab><mode>): Likewise.
(sync_nand<mode>): Likewise.
(sync_old_nand<mode>): Likewise.
(sync_new_nand<mode>): Likewise.
(sync_lock_test_and_set<mode>): Likewise.
(test_and_set_12): Likewise.
(atomic_compare_and_swap<mode>): Likewise.
(atomic_exchange<mode>_llsc): Likewise.
(atomic_fetch_add<mode>_llsc): Likewise.
* config/mips/mips-cpus.def (m14kc, m14k): New processors.
* config/mips/mips-protos.h (umips_output_save_restore): New prototype.
(umips_save_restore_pattern_p): Likewise.
(umips_load_store_pair_p): Likewise.
(umips_output_load_store_pair): Likewise.
(umips_movep_target_p): Likewise.
(umips_12bit_offset_address_p): Likewise.
* config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
(mips_base_mips16): Rename this...
(mips_base_compression_flags): ...to this. Update all uses.
(mips_attribute_table): Add micromips, nomicromips and nocompression.
(mips_mips16_decl_p): Delete.
(mips_nomips16_decl_p): Delete.
(mips_get_compress_on_flags): New function.
(mips_get_compress_off_flags): New function.
(mips_get_compress_mode): New function.
(mips_get_compress_on_name): New function.
(mips_get_compress_off_name): New function.
(mips_insert_attributes): Support multiple compression types.
(mips_merge_decl_attributes): Likewise.
(umips_12bit_offset_address_p): New function.
(mips_start_function_definition): Emit .set micromips directive.
(mips_call_may_need_jalx_p): New function.
(mips_function_ok_for_sibcall): Add microMIPS support.
(mips_print_operand_punctuation): Support short delay slots and
compact jumps.
(umips_swm_mask, umips_swm_encoding): New.
(umips_build_save_restore): New function.
(mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
(was_mips16_p): Remove.
(old_compression_mode): New.
(mips_set_compression_mode): New function.
(mips_set_current_function): Add microMIPS support.
(mips_option_override): Likewise.
(umips_save_restore_pattern_p): New function.
(umips_output_save_restore): New function.
(umips_load_store_pair_p_1): New function.
(umips_load_store_pair_p): New function.
(umips_output_load_store_pair_1): New function.
(umips_output_load_store_pair): New function.
(umips_movep_target_p) New function.
(mips_prepare_pch_save): Add microMIPS support.
* config/mips/mips.h (TARGET_COMPRESSION): New.
(TARGET_CPU_CPP_BUILTINS): Update macro
to use new compression flags and to support microMIPS.
(MIPS_ISA_LEVEL_SPEC): Add m14k processors.
(MIPS_ARCH_FLOAT_SPEC): Likewise.
(ISA_HAS_LWXS): Include TARGET_MICROMIPS.
(ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
(ASM_SPEC): Support mmicromips and mno-micromips.
(M16STORE_REG_P): New macro.
(MIPS_CALL): Support TARGET_MICROMIPS.
(MICROMIPS_J): New macro.
(mips_base_mips16): Rename this...
(mips_base_compression_flags): ...to this.
(UMIPS_12BIT_OFFSET_P): New macro.
* config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
(MULTILIB_DIRNAMES): Likewise.
libgcc/
2013-03-20 Catherine Moore <clm@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Chao-ying Fu <fu@mips.com>
* config/mips/mips16.S: Don't build for microMIPS.
* config/mips/linux-unwind.h: Handle microMIPS frame.
* config/mips/crtn.S (fini, init): New labels.
gcc/testsuite/
2013-03-20 Catherine Moore <clm@codesourcery.com>
Richard Sandiford <rdsandiford@googlemail.com>
* gcc.target/mips/mips.exp: Add microMIPS support.
* gcc.target/mips/umips-movep-2.c: New test.
* gcc.target/mips/umips-lwp-2.c: New test.
* gcc.target/mips/umips-swp-5.c: New test.
* gcc.target/mips/umips-constraints-1.c: New test.
* gcc.target/mips/umips-lwp-3.c: New test.
* gcc.target/mips/umips-swp-6.c: New test.
* gcc.target/mips/umips-constraints-2.c: New test.
* gcc.target/mips/umips-save-restore-1.c: New test.
* gcc.target/mips/umips-lwp-4.c: New test.
* gcc.target/mips/umips-swp-7.c: New test.
* gcc.target/mips/umips-save-restore-2.c: New test.
* gcc.target/mips/umips-lwp-swp-volatile.c: New test.
* gcc.target/mips/umips-lwp-5.c: New test.
* gcc.target/mips/umips-save-restore-3.c: New test.
* gcc.target/mips/umips-lwp-6.c: New test.
* gcc.target/mips/umips-swp-1.c: New test.
* gcc.target/mips/umips-lwp-7.c: New test.
* gcc.target/mips/umips-swp-2.c: New test.
* gcc.target/mips/umips-lwp-8.c: New test.
* gcc.target/mips/umips-swp-3.c: New test.
* gcc.target/mips/umips-movep-1.c: New test.
* gcc.target/mips/umips-lwp-1.c: New test.
* gcc.target/mips/umips-swp-4.c: New test.
Co-Authored-By: Chao-ying Fu <fu@mips.com>
Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Maciej W. Rozycki <macro@codesourcery.com>
Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r196828
2013-03-20 10:37:52 -04:00
Oleg Endo
decc676eb5
re PR target/49880 (SuperH: ICE when -m4 is used with -mdiv=call-div1)
...
PR target/49880
* config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
(musermode): Convert to Var(TARGET_USERMODE).
* config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
* config/sh/sh.c (sh_option_override): Use
TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
* config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
condition.
(udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
TARGET_SH4.
(udivsi3_i4_single, divsi3_i4_single): Use
TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
PR target/49880
* config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Enable for SH2A.
(sdivsi3, udivsi3): Remove SH4 check and always compile these functions.
PR target/49880
* gcc.target/sh/pr49880-1.c: New.
* gcc.target/sh/pr49880-2.c: New.
* gcc.target/sh/pr49880-3.c: New.
* gcc.target/sh/pr49880-4.c: New.
* gcc.target/sh/pr49880-5.c: New.
From-SVN: r196636
2013-03-13 18:09:10 +00:00
Sriraman Tallam
84ea618acd
cpuinfo.c (get_intel_cpu): Fix cpuid codes for sandybridge processors.
...
2013-03-07 Sriraman Tallam <tmsriram@google.com>
* config/i386/cpuinfo.c (get_intel_cpu): Fix cpuid codes for
sandybridge processors.
From-SVN: r196532
2013-03-08 01:02:29 +00:00
Oleg Endo
8f6d1c8601
re PR target/56529 ([SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2)
...
PR target/56529
* config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy
to SH_DIV_CALL_TABLE for TARGET_SH2.
* config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
list.
* doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
call-table options.
PR target/56529
* config/sh/lib1funcs.S (udivsi3_i4i, sdivsi3_i4i): Add __SH2A__ to
inclusion list.
From-SVN: r196484
2013-03-06 00:41:25 +00:00
Edgar E. Iglesias
409b1de4e1
Setup stack protection at entry.
...
* config/microblaze/crti.S: Setup stack protection at entry
From-SVN: r196432
2013-03-04 15:23:05 +00:00
Georg-Johann Lay
0b4ce21bcb
* config/avr/lib1funcs.S (__ashrdi3, __lshrdi3, __ashldi3)
...
(__rotldi3): Shift bytewise if applicable.
From-SVN: r196431
2013-03-04 14:01:24 +00:00
James Greenhalgh
b7c3f1ca31
[AArch64/AArch64-4.7][libgcc] Silence warnings in sync-cache.c
...
libgcc/
* config/aarch64/sync-cache.c
(__aarch64_sync_cache_range): Silence warnings.
From-SVN: r196380
2013-03-01 14:01:58 +00:00
Catherine Moore
6d65e8f1fc
2012-02-25 Catherine Moore <clm@codesourcery.com>
...
Revert microMIPS patch.
From-SVN: r196259
2013-02-25 08:53:16 -05:00
Catherine Moore
6941b508c9
mips16.S: Don't build for microMIPS.
...
libgcc/
2013-02-24 Catherine Moore <clm@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Chao-ying Fu <fu@mips.com>
* config/mips/mips16.S: Don't build for microMIPS.
* config/mips/linux-unwind.h: Handle microMIPS frame.
* config/mips/crtn.S (fini, init): New labels.
gcc/
2013-02-24 Catherine Moore <clm@codesourcery.com>
Maciej W. Rozycki <macro@codesourcery.com>
Tom de Vries <tom@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
Iain Sandoe <iain@codesourcery.com>
Nathan Froyd <froydnj@codesourcery.com>
Chao-ying Fu <fu@mips.com>
* doc/extend.texi: (micromips, nomicromips, nocompression):
Document new function attributes.
* doc/invoke.texi (minterlink-compressed, mmicromips,
m14k, m14ke, m14kec): Document new options.
(minterlink-mips16): Update documentation.
* doc/md.texi (ZC, ZD): Document new constraints.
* configure.ac (gcc_cv_as_micromips): Check if linker
supports the .set micromips directive.
* configure: Regenerate.
* config.in: Regenerate.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/micromips.md: New file.
* constraints.md (ZC, AD): New constraints.
* config/mips/predicates.md (movep_src_register): New predicate.
(movep_src_operand): New predicate.
(non_volatile_mem_operand): New predicate.
* config/mips/mips.md (multimem): New type.
(length): Differentiate between 17-bit and 18-bit branch offsets.
(MOVEP1, MOVEP2): New mode iterator.
(mov_<load>l): Use ZC constraint.
(mov_<load>r): Likewise.
(mov_<store>l): Likewise.
(mov_<store>r): Likewise.
(*branch_equality<mode>_inverted): Add microMIPS support.
(*branch_equality<mode>): Likewise.
(*jump_absolute): Likewise.
(indirect_jump_<mode>): Likewise.
(tablejump_<mode>): Likewise.
(<optab>_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(prefetch): Use constraint ZD.
* config/mips/mips.opt (minterlink-compressed): New option.
(minterlink-mips16): Now an alias for minterlink-compressed.
(mmicromips): New option.
* config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
(compare_and_swap_12): Likewise.
(sync_add<mode>): Likewise.
(sync_<optab>_12): Likewise.
(sync_old_<optab>_12): Likewise.
(sync_new_<optab>_12): Likewise.
(sync_nand_12): Likewise.
(sync_old_nand_12): Likewise.
(sync_new_nand_12): Likewise.
(sync_sub<mode>): Likewise.
(sync_old_add<mode>): Likewise.
(sync_old_sub<mode>): Likewise.
(sync_new_add<mode>): Likewise.
(sync_new_sub<mode>): Likewise.
(sync_<optab><mode>): Likewise.
(sync_old_<optab><mode>): Likewise.
(sync_new_<optab><mode>): Likewise.
(sync_nand<mode>): Likewise.
(sync_old_nand<mode>): Likewise.
(sync_new_nand<mode>): Likewise.
(sync_lock_test_and_set<mode>): Likewise.
(test_and_set_12): Likewise.
(atomic_compare_and_swap<mode>): Likewise.
(atomic_exchange<mode>_llsc): Likewise.
(atomic_fetch_add<mode>_llsc): Likewise.
* config/mips/mips-cpus.def (m14kc, m14k): New processors.
* config/mips/mips-protos.h (umips_output_save_restore): New prototype.
(umips_save_restore_pattern_p): Likewise.
(umips_load_store_pair_p): Likewise.
(umips_output_load_store_pair): Likewise.
(umips_movep_target_p): Likewise.
(umips_12bit_offset_address_p): Likewise.
* config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
(mips_base_mips16): Rename this...
(mips_base_compression_flags): ...to this. Update all uses.
(mips_attribute_table): Add micromips, nomicromips and nocompression.
(mips_mips16_decl_p): Delete.
(mips_nomips16_decl_p): Delete.
(mips_get_compress_on_flags): New function.
(mips_get_compress_off_flags): New function.
(mips_get_compress_mode): New function.
(mips_get_compress_on_name): New function.
(mips_get_compress_off_name): New function.
(mips_insert_attributes): Support multiple compression types.
(mips_merge_decl_attributes): Likewise.
(umips_12bit_offset_address_p): New function.
(mips_start_function_definition): Emit .set micromips directive.
(mips_call_may_need_jalx_p): New function.
(mips_function_ok_for_sibcall): Add microMIPS support.
(mips_print_operand_punctuation): Support short delay slots and
compact jumps.
(umips_swm_mask, umips_swm_encoding): New.
(umips_build_save_restore): New function.
(mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
(was_mips16_p): Remove.
(old_compression_mode): New.
(mips_set_compression_mode): New function.
(mips_set_current_function): Add microMIPS support.
(mips_option_override): Likewise.
(umips_save_restore_pattern_p): New function.
(umips_output_save_restore): New function.
(umips_load_store_pair_p_1): New function.
(umips_load_store_pair_p): New function.
(umips_output_load_store_pair_1): New function.
(umips_output_load_store_pair): New function.
(umips_movep_target_p) New function.
(mips_prepare_pch_save): Add microMIPS support.
* config/mips/mips.h (TARGET_COMPRESSION): New.
(TARGET_CPU_CPP_BUILTINS): Update macro
to use new compression flags and to support microMIPS.
(MIPS_ISA_LEVEL_SPEC): Add m14k processors.
(MIPS_ARCH_FLOAT_SPEC): Likewise.
(ISA_HAS_LWXS): Include TARGET_MICROMIPS.
(ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
(ASM_SPEC): Support mmicromips and mno-micromips.
(M16STORE_REG_P): New macro.
(MIPS_CALL): Support TARGET_MICROMIPS.
(MICROMIPS_J): New macro.
(mips_base_mips16): Rename this...
(mips_base_compression_flags): ...to this.
(UMIPS_12BIT_OFFSET_P): New macro.
* config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
(MULTILIB_DIRNAMES): Likewise.
gcc/testsuite/
2013-02-24 Catherine Moore <clm@codesourcery.com>
Richard Sandiford <rdsandiford@googlemail.com>
* gcc.target/mips/mips.exp: Add microMIPS support.
* gcc.target/mips/umips-movep-2.c: New test.
* gcc.target/mips/umips-lwp-2.c: New test.
* gcc.target/mips/umips-swp-5.c: New test.
* gcc.target/mips/umips-constraints-1.c: New test.
* gcc.target/mips/umips-lwp-3.c: New test.
* gcc.target/mips/umips-swp-6.c: New test.
* gcc.target/mips/umips-constraints-2.c: New test.
* gcc.target/mips/umips-save-restore-1.c: New test.
* gcc.target/mips/umips-lwp-4.c: New test.
* gcc.target/mips/umips-swp-7.c: New test.
* gcc.target/mips/umips-save-restore-2.c: New test.
* gcc.target/mips/umips-lwp-swp-volatile.c: New test.
* gcc.target/mips/umips-lwp-5.c: New test.
* gcc.target/mips/umips-save-restore-3.c: New test.
* gcc.target/mips/umips-lwp-6.c: New test.
* gcc.target/mips/umips-swp-1.c: New test.
* gcc.target/mips/umips-lwp-7.c: New test.
* gcc.target/mips/umips-swp-2.c: New test.
* gcc.target/mips/umips-lwp-8.c: New test.
* gcc.target/mips/umips-swp-3.c: New test.
* gcc.target/mips/umips-movep-1.c: New test.
* gcc.target/mips/umips-lwp-1.c: New test.
* gcc.target/mips/umips-swp-4.c: New test.
Co-Authored-By: Chao-ying Fu <fu@mips.com>
Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Maciej W. Rozycki <macro@codesourcery.com>
Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r196246
2013-02-24 18:46:44 -05:00
Edgar E. Iglesias
7c422dbbc7
modsi3.S (modsi3): Fix case with 0x80000000 as dividend.
...
* config/microblaze/modsi3.S (modsi3): Fix case with 0x80000000
as dividend.
From-SVN: r196156
2013-02-19 23:00:50 +00:00
Alan Modra
110207ad17
re PR target/55431 (Invalid auxv search in ppc linux-unwind code.)
...
PR target/55431
* config/rs6000/linux-unwind.h (ppc_linux_aux_vector): Delete.
(ppc_fallback_frame_state): Always set up save locations for fp
and altivec. Don't bother with non-callee-saved regs, r0-r13
except for r2 on ppc64, fr0-fr13, v0-v19, vscr.
From-SVN: r196077
2013-02-16 00:23:40 +10:30
Georg-Johann Lay
e68a4ef6ea
re PR target/54222 ([avr] Implement fixed-point support)
...
gcc/
PR target/54222
* config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
(umulsidi3_insn, mulsidi3_insn): New insns.
libgcc/
PR target/54222
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add: _usmulUHA, _usmulUSA,
_ssmulHA, _ssmulSA.
(LIB1ASMFUNCS): Add: _muldi3_6, _mulsidi3, _umulsidi3, _usmuluha3,
_ssmulha3, _usmulusa3, _ssmulsa3.
* config/avr/lib1funcs.S (__muldi3_6): Break out of __muldi3.
(__muldi3): XCALL __muldi3_6 instead of rcall.
(__umulsidi3, __mulsidi3): New functions.
(do_prologue_saves, do_epilogue_restores): New .macros.
(__divdi3_moddi3): Use them.
* config/avr/lib1funcs-fixed.S (__usmuluha3, __ssmulha3)
(__usmulusa3, __ssmulsa3): New functions.
From-SVN: r195978
2013-02-12 14:55:16 +00:00
Iain Sandoe
6c59ffd1ac
re PR libitm/55693 (libitm.c++/eh-1.C execution test fails on darwin from r193271)
...
/libgcc
2013-02-11 Iain Sandoe <iain@codesourcery.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Patrick Marlier <patrick.marlier@gmail.com>
PR libitm/55693
* config/darwin-crt-tm.c: Remove dummy functions hack.
/gcc
2013-02-11 Iain Sandoe <iain@codesourcery.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Patrick Marlier <patrick.marlier@gmail.com>
PR libitm/55693
* config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
define ENDFILE_SPEC as TM_DESTRUCTOR.
* config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
/libitm
2013-02-11 Iain Sandoe <iain@codesourcery.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Patrick Marlier <patrick.marlier@gmail.com>
PR libitm/55693
* alloc_cpp.cc: Enable function declarations on darwin.
* eh_cpp.cc: Likewise.
Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>
From-SVN: r195960
2013-02-11 23:30:10 +00:00
Georg-Johann Lay
85d768f349
re PR target/54222 ([avr] Implement fixed-point support)
...
gcc/
PR target/54222
* config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
* config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
(round<mode>3, round<mode>3_const): New expanders for fixed-mode.
(*round<mode>3.libgcc): New insns for fixed-modes.
* config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
(ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
(ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
* config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
implementations. Define to __builtin_avr_absFX,
__builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
(roundFX, countlsFX): Define to __builtin_avr_roundFX,
__builtin_avr_countlsFX, respectively.
* config/avr/avr-c.c (target.h): Include it.
(enum avr_builtin_id): New enum.
(avr_resolve_overloaded_builtin): New static function.
(avr_register_target_pragmas): Use it to set
targetm.resolve_overloaded_builtin.
* config/avr/avr.c (avr_init_builtins): Supply myriads of local
tree nodes used by DEF_BUILTIN.
(avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
(avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
<AVR_BUILTIN_xxBITS>: Same.
libgcc/
PR target/54222
* config/avr/lib2funcs.c: New C sources for modules for libgcc.a.
* config/avr/lib2-object.mk: New iterator to build objects from it.
* config/avr/t-avr: Iterate lib2-object.mk to build objects from
lib2funcs.c.
(LIB2FUNCS_EXCLUDE): Add _clrsbdi2.
(LIB1ASMFUNCS): Add: _ssabs_1, _mask1, _ret, _roundqq3, _rounduqq3,
_round_s2, _round_u2, _round_2_const, _addmask_2, _round_s4,
_round_u4, _round_4_const, _addmask_4, _round_x8, _rounddq3
_roundudq3, _roundda3 _rounduda3, _roundta3 _rounduta3.
* config/avr/lib1funcs-fixed.S: Implement them.
gcc/testsuite/
PR target/54222
* gcc.target/avr/torture/builtins-4-roundfx.c: New test.
* gcc.target/avr/torture/builtins-5-countlsfx.c: New test.
From-SVN: r195878
2013-02-08 10:13:37 +00:00
Richard Sandiford
5d5bf77569
Update copyright in libgcc.
...
From-SVN: r195731
2013-02-04 19:06:20 +00:00
David Edelsohn
99113dff9d
re PR c++/54601 (AIX uses atexit which causes unloading of shared modules to break)
...
PR target/54601
libgcc/
* config.host (powerpc-ibm-aix[56789]): Add t-aix-cxa to tmake_file.
Add crtcxa to extra_parts.
* config/rs6000/exit.h: New file.
* config/rs6000/cxa_atexit.c: New file.
* config/rs6000/cxa_finalize.c: New file.
* config/rs6000/crtcxa.c: New file.
* config/rs6000/t-aix-cxa: New file.
* config/rs6000/libgcc-aix-cxa.ver: New file.
gcc/
* configure.ac (cxa_atexit): Add AIX.
* configure: Regenerate.
* config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
From-SVN: r195675
2013-02-01 15:26:24 -05:00
Nick Clifton
dbdbd982df
lib1funcs.S: Add support for e3v5 architecture variant.
...
* config/v850/lib1funcs.S: Add support for e3v5 architecture
variant.
* config/v850/constraints.md (Q): Define as a memory constraint.
* config/v850/predicates.md (label_ref_operand): New predicate.
(e3v5_shift_operand): New predicate.
(ior_operator): New predicate.
* config/v850/t-v850: Add e3v5 multilib.
* config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
(v850_gen_movdi): Prototype.
* config/v850/v850.c: Add support for e3v5 architecture.
Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
TARGET_V850E_UP.
(construct_save_jarl): Add e3v5 long JARL support.
(v850_adjust_insn_length): New function. Adjust length of call
insns when using e3v5 instructions.
(v850_gen_movdi): New function: Generate instructions to move a
DImode value.
* config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
(CPP_SPEC): Define __v850e3v5__ as appropriate.
(TARGET_USE_FPU): Enable for e3v5.
(CONST_OK_FOR_W): New macro.
(ADJUST_INSN_LENGTH): Define.
* config/v850/v850.md (UNSPEC_LOOP): Define.
(attr cpu): Add v850e3v5.
Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
(movdi): New pattern.
(movdi_internal): New pattern.
(cbranchsf4): Conditionalize on TARGET_USE_FPU.
(cbranchdf4): Conditionalize on TARGET_USE_FPU.
(cstoresf4): Likewise.
(cstoredf4): Likewise.
(insv): New pattern.
(rotlso3_a): New pattern.
(rotlsi3_b): New pattern
(rotlsi3_v850e3v5): New pattern.
(doloop_begin): New pattern.
(fix_loop_counter): New pattern.
(doloop_end): New pattern.
(branch_normal): Add e3v5 long branch support.
(branch_invert): Likewise.
(branch_z_normal): Likewise.
(branch_z_invert): Likewise.
(branch_nz_normal): Likewise.
(branch_nz_invert): Likewise.
(call_internal_short): Add e3v5 register-indirect JARL support.
(call_internal_long): Likewise.
(call_value_internal_short): Likewise.
(call_value_internal_long): Likewise.
* config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
(mloop): New option.
* config.gcc: Add support for configuring v840e3v5 target.
* doc/invoke.texi: Document new v850 specific command line
options.
From-SVN: r195623
2013-01-31 18:36:02 +00:00
Georg-Johann Lay
5893f1589a
re PR target/54222 ([avr] Implement fixed-point support)
...
PR target/54222
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add:
_mulQQ, _mulHQ, _mulHA, _mulSA,
_mulUQQ, _mulUHQ, _mulUHA, _mulUSA,
_divQQ, _divHQ, _divHA, _divSA,
_divUQQ, _divUHQ, _divUHA, _divUSA.
From-SVN: r195532
2013-01-29 10:33:18 +00:00
David Holsgrove
fbf0cf904e
gcc: PR target/54663
...
gcc: PR target/54663
* config.gcc (microblaze*-linux*): Add tmake_file to allow building
of microblaze-c.o.
libgcc:
* config.host(microblaze*-linux*): tmake_file: Remove
t-slibgcc-nolc-override, add t-slibgcc-libgcc.
* config/microblaze/t-microblaze: Set LIB2FUNCS_EXCLUDE
to exclude functions from being built with libgcc.c and use
the microblaze assembly.
From-SVN: r195488
2013-01-26 16:53:45 +00:00
Yufeng Zhang
922c57d1ba
sync-cache.c (__aarch64_sync_cache_range): Cast the results of (dcache_lsize - 1) and (icache_lsize - 1) to the type...
...
2013-01-17 Yufeng Zhang <yufeng.zhang@arm.com>
* config/aarch64/sync-cache.c (__aarch64_sync_cache_range): Cast the
results of (dcache_lsize - 1) and (icache_lsize - 1) to the type
__UINTPTR_TYPE__; also cast 'base' to the same type before the
alignment operation.
From-SVN: r195266
2013-01-17 14:27:36 +00:00
Sofiane Naci
e0f8b6a0a0
[AARCH64] Fix __clear_cache.
...
From-SVN: r195203
2013-01-15 15:49:13 +00:00
Georg-Johann Lay
0089227267
* Fix typos. Remove trailing blanks. Fix coding style.
...
From-SVN: r195151
2013-01-14 15:08:45 +00:00
Georg-Johann Lay
e59ec5fdb2
avr-lib.h: Add GPL copyright notice.
...
* config/avr/avr-lib.h: Add GPL copyright notice.
From-SVN: r195145
2013-01-14 14:01:32 +00:00
Nick Clifton
db59befb09
lib1funcs.S: Only provide CALLT support functions if the CALLT instruction is supported.
...
* config/v850/lib1funcs.S: Only provide CALLT support functions if
the CALLT instruction is supported.
From-SVN: r194898
2013-01-04 10:21:55 +00:00
John Tytgat
65f141179f
fp16.c (__gnu_f2h_internal): Fix inaccuracy when aexp is 25.
...
* config/arm/fp16.c (__gnu_f2h_internal): Fix inaccuracy when aexp
is 25.
From-SVN: r194474
2012-12-13 12:05:30 +00:00
Uros Bizjak
2fcfba3d65
re PR target/55344 (Cross compiling for alpha-linux fails because <signal.h> doesn't exist)
...
PR target/55344
* config/alpha/linux-unwind.h: Disable when inhibit_libc is defined.
From-SVN: r194334
2012-12-09 19:15:59 +01:00
Uros Bizjak
4f2b3dc2b4
sfp-machine.h (FP_EX_ALL): Define.
...
* config/i386/sfp-machine.h (FP_EX_ALL): Define.
(FP_TRAPPING_EXCEPTIONS): Define.
* config/i386/32/sfp-machine.h (FP_EX_SHIFT): Define.
* config/i386/64/sfp-machine.h (FP_EX_SHIFT): Ditto.
From-SVN: r194243
2012-12-06 10:49:43 +01:00
Marcus Shawcroft
2562618148
AArch64: Define FP_TRAPPING_EXCEPTIONS.
...
2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/aarch64/sfp-machine.h (FP_EX_ALL): Define.
(FP_EX_SHIFT): Define.
(FP_TRAPPING_EXCEPTIONS): Define.
From-SVN: r194151
2012-12-04 15:51:55 +00:00
Marcus Shawcroft
868395e87f
aarch64: Refactor aarch64 sfp-machine.h
...
2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/aarch64/sfp-machine.h (FP_RND_MASK): Define.
(FP_ROUNDMODE): Use FP_RND_MASK.
* config/aarch64/sfp-exceptions.c: New.
* config/aarch64/sfp-machine.h (FP_HANDLE_EXCEPTIONS):
Use __sfp_handle_exceptions.
From-SVN: r194142
2012-12-04 14:16:17 +00:00
Richard Earnshaw
5005fe220a
config.host: (arm*-*-freebsd*): Remove.
...
* config.host: (arm*-*-freebsd*): Remove.
(arm*-*-linux*, arm*-*-uclinux*): Simplify logic.
(arm*-*-elf*): Remove.
(arm*-*-wince-pe*): Remove.
* arm/unwind-arm.c (struct fpa_reg): Delete.
(struct fpa_regs): Delete.
(phase1_vrs): Remove fpa element.
(_Unwind_VRS_Get): Remove _UVRSC_FPA.
(_Unwind_VRS_Set, _Unwind_VRS_Pop): Likewise.
* arm/pr-support.c (__gnu_unwind_execute): Remove FPA support.
* ieee754-sf.S (floatundisf): Remove FPA support.
(floatdisf): Likewise.
* ieee75f-df.S (floatundidf): Likewise.
(floatdidf): Likewise.
From-SVN: r194138
2012-12-04 13:49:09 +00:00
Georg-Johann Lay
e13d9d5aeb
Adjust decimal point of signed accum mode to GCC default.
...
libgcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq,
_divqq_helper.
* config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf)
(__fractsasf, __fractsfha, __fractusqsf, __fractsfsa)
(__mulha3, __mulsa3)
(__divqq3, __divha3, __divsa3): Adjust to new position of
decimal point of signed accum types.
(__mulusa3_round): New function.
(__mulusa3): Use it.
(__divqq_helper): New function.
(__udivuqq3): Use it.
gcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
(TA): Move decimal point one bit to the right.
* config/avr/avr.c (avr_out_fract): Rewrite.
From-SVN: r193721
2012-11-22 10:00:13 +00:00
Ian Lance Taylor
e808687a8c
generic-morestack.c (__generic_morestack): Align the returned stack pointer to a 32 byte boundary.
...
* generic-morestack.c (__generic_morestack): Align the returned
stack pointer to a 32 byte boundary.
* config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't
increment the return address until we have decided that we don't
have a varargs function.
(__morestack) [32-bit]: Align stack correctly when calling C
functions.
(__morestack) [64-bit]: Likewise.
From-SVN: r193264
2012-11-06 23:04:28 +00:00
Thomas Schwinge
460277e023
bid_functions.h: Check for __GLIBC__ additionally to LINUX when defining format specifiers.
...
libgcc/config/libbid/
* bid_functions.h: Check for __GLIBC__ additionally to LINUX when
defining format specifiers.
config/
* dfp.m4 (enable_decimal_float): Enable for i?86*-*-gnu*.
gcc/
* configure: Regenerate.
libdecnumber/
* configure: Regenerate.
libgcc/
* configure: Regenerate.
From-SVN: r193143
2012-11-05 00:08:42 +01:00
Uros Bizjak
73edb27727
re PR target/55175 (i386/sfp-exceptions.c:52:7: error: impossible constraint in 'asm')
...
PR target/55175
* config/i386/sfp-exceptions.c: Guard with _SOFT_FLOAT.
* config/i386/sfp-machine.h: Guard exception handling
code with _SOFT_FLOAT.
* config/i386/32/sfp-machine.h: Guard rounding handling
code with _SOFT_FLOAT.
* config/i386/64/sfp-machine.h: Ditto.
From-SVN: r193095
2012-11-02 15:09:02 +01:00
Uros Bizjak
eff6ca85db
crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
...
* config/i386/crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
Clear only fxsave.mxcsr_mask. Use saved mxcsr from fxsave structure
when appropriate. Correct structure element types.
* config/i386/t-crtfm (crtfastmath.o): Compile with -mfxsr, remove
-minline-all-stringops from compile flags.
From-SVN: r192855
2012-10-26 19:54:50 +02:00
Marcus Shawcroft
d507e9a340
AArch64 [8/10] Fixup botched commit.
...
From-SVN: r192733
2012-10-23 17:36:39 +00:00
Hans-Peter Nilsson
8a740f0731
crti.S: Mark program and data addresses using PRELD.
...
* config/mmix/crti.S: Mark program and data addresses using PRELD.
Remove typo'd and unnecessary alignment-LOC for .data. Remove
no-longer-needed LDBU insns.
From-SVN: r192646
2012-10-21 03:16:47 +00:00
Matthew Gretton-Dann
595fefee5d
Add basic armv8-a support
...
2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* config/arm/lib1funcs.S (__ARM_ARCH__): Define for ARMv8-A.
2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* gcc.target/arm/ftest-armv8a-arm.c: New testcase.
* gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
* gcc.target/arm/ftest-support-arm.h (feature_matrix): Add
ARMv8-A row.
* gcc.target/arm/ftest-support-thumb.h (feature_matrix):
Likewise.
* gcc.target/arm/ftest-support.h (architecture): Add ARMv8-A.
* lib/target-supports.exp: Add ARMv8-A architecture expectation.
2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config.gcc: Add support for ARMv8 for arm*-*-* targets.
* config/arm/arm-arches.def: Add armv8-a
* config/arm/arm-fpus.def: Add fp-armv8, neon-fp-armv8,
crypto-neon-fp-armv8. Add crypto field.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm.c (FL_FOR_ARCH8A): Likewise.
(arm_arch8): New global variable.
(ARM_FPU): Add crypto parameter.
(arm_option_override): Set arm_arch8, update comments.
* config/arm/arm.h (TARGET_CRYPTO): New macro.
(arm_fpu_desc): Add crypto field.
(base_architecture): Add ARMv8 entry.
(arm_arch8): New variable declaration.
* config/arm/bpabi.h: ARMv8 supports BE8.
* doc/invoke.texi: Document ARMv8 options.
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r192558
2012-10-18 10:49:23 +00:00
Uros Bizjak
945a9c1f6d
sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions for 64bit targets only.
...
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
instructions for 64bit targets only.
From-SVN: r192355
2012-10-11 13:44:51 +02:00
Uros Bizjak
fb8bf47a34
sfp-machine.h (FP_RND_NEAREST, [...]): Move to ...
...
* config/i386/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX): Move to ...
* config/i386/32/sfp-machine.h: ... here.
* config/i386/64/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO,
FP_RND_PINF, FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX):
New defines.
From-SVN: r192324
2012-10-10 20:35:32 +02:00
Matthias Klose
7c9bc8758e
Fix typo in previous commit:
...
2012-10-07 Matthias Klose <doko@ubuntu.com>
* config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
as unused.
(_Unwind_decode_typeinfo_ptr): Mark base as unused.
From-SVN: r192182
2012-10-07 11:46:06 +00:00
Matthias Klose
acb72498a7
unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.
...
2012-10-07 Matthias Klose <doko@ubuntu.com>
* config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
as unused.
(_Unwind_decode_typeinfo_ptr): Mark base as unused.
From-SVN: r192181
2012-10-07 10:06:30 +00:00
Jonathan Wakely
5e3e4fe874
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
...
PR other/53889
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Fix parameter names.
From-SVN: r192114
2012-10-05 08:35:12 +01:00
Oleg Endo
8608637610
re PR target/33135 ([SH] -ffinite-math-only should not be on by default)
...
PR target/33135
* config/sh/t-sh (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-netbsd (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Remove mieee option.
From-SVN: r192097
2012-10-04 18:32:20 +00:00
Oleg Endo
9597375a25
re PR target/50457 (SH2A atomic functions)
...
PR target/50457
* config/sh/sh.c (parse_validate_atomic_model_option): Handle name
strings in sh_atomic_model.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
to ...
* config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
Add __SH1__ and __SH2__ defines. Add __SH_ATOMIC_MODEL_*__ define.
* config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
variables.
(sh_cpu_cpp_builtins): Declare new function.
PR target/50457
* config/sh/linux-atomic.S: Delete.
* config/sh/linux-atomic.c: New.
* config/sh/t-linux (LIB2ADD): Replace linux-atomic.S with
linux-atomic.c. Add cflags to disable warnings.
From-SVN: r192051
2012-10-03 21:36:14 +00:00
Jonathan Wakely
1504e3e1c4
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
...
libgcc:
PR other/53889
* gthr.h (__gthread_recursive_mutex_destroy): Document new required
function.
* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.
libstdc++-v3:
PR other/53889
* include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex_base::_S_destroy): Remove.
(__recursive_mutex_base::_S_destroy_win32): Likewise.
* include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex::_S_destroy): Remove.
(__recursive_mutex::_S_destroy_win32): Likewise.
From-SVN: r192002
2012-10-02 21:22:32 +01:00
Mark Kettenis
17f293b014
config.host (hppa-*-openbsd*): New target.
...
libgcc/:
* config.host (hppa-*-openbsd*): New target.
* config/pa/t-openbsd: New file.
gcc:/
* config.gcc (hppa*-*-openbsd*): New target.
* config/pa/pa-openbsd.h: New file.
* config/pa/pa32-openbsd.h: New file.
* config/host-openbsd.c: Update copyright year.
(TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa.
From-SVN: r191508
2012-09-20 01:20:34 +00:00
Georg-Johann Lay
51526856a1
re PR target/54222 ([avr] Implement fixed-point support)
...
gcc/
PR target/54222
* config/avr/avr-fixed.md (ALL2S, ALL4S, ALL24S, ALL124S,
ALL124U): New mode iterators.
(<code_stdname><mode>3): New insns for SS_PLUS, SS_MINUS.
(<code_stdname><mode>3): New insns for US_PLUS, US_MINUS.
(usneg<mode>2): New insns.
(<code_stdname><mode>2): New expanders for SS_NEG, SS_ABS.
(*<code_stdname><mode>2): New insns for SS_NEG, SS_ABS.
* config/avr/avr-dimode.md (ALL8U, ALL8S): New mode iterators.
(avr_out_plus64, avr_out_minus64): Use avr_out_plus instead.
(<code_stdname><mode>3): New expanders for SS_PLUS, SS_MINUS.
(<code_stdname><mode>3): New expanders for US_PLUS, US_MINUS.
(<code_stdname><mode>3_insn): New insns.
(<code_stdname><mode>3_const_insn): New insns.
* config/avr/avr.md (cc): Add: plus. Remove: out_plus,
out_plus_noclobber, minus.
(length): Add: plus. Remove: out_plus, out_plus_noclobber,
plus64, minus, minus64.
(abelian): New code_attr.
(code_stdname): Handle: ss_plus, ss_minus, ss_neg, ss_abs,
us_plus, us_minus, us_neg.
(*add<mode>3, add<mode>3_clobber, add<mode>3, addpsi3, sub<mode>3):
Use avr_out_plus to output.
* config/avr/avr-protos.h (avr_out_plus): Change prototype.
(avr_out_plus_noclobber, avr_out_minus): Remove.
(avr_out_plus64, avr_out_minus64): Remove.
* config/avr/avr.c (avr_out_plus_1): Add new default arguments
code_sat, sign. Saturate after operation if code_sat != UNKNOWN.
(avr_out_plus_symbol): New static function.
(avr_out_plus): Rewrite.
(adjust_insn_length): Handle: ADJUST_LEN_PLUS. Remove handling
of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS,
ADJUST_LEN_MINUS64, ADJUST_LEN_OUT_PLUS_NOCLOBBER.
(notice_update_cc): Handle: CC_PLUS. Remove handling of: CC_MINUS,
CC_OUT_PLUS, CC_OUT_PLUS_NOCLOBBER
(avr_out_plus_noclobber, avr_out_minus): Remove.
(avr_out_plus64, avr_out_minus64): Remove.
(avr_print_operand): Print raw REGNO if 'r' is used with REG.
libgcc/
PR target/54222
* config/avr/lib1funcs-fixed.S (__ssneg_2, __ssabs_2, __ssneg_4,
__ssabs_4, __clr_8, __ssneg_8, __ssabs_8,
__usadd_8, __ussub_8, __ssadd_8, __sssub_8): New functions.
(__divsa3): Use __negsi2 to negate r_quoL.
* config/avr/lib1funcs.S (FALIAS): New macro.
(__divmodsi4): Break out and use __divmodsi4_neg1 as...
(__negsi2): ...this new function.
* config/avr/t-avr (LIB1ASMFUNCS): Add _negsi2, _clr_8,
_ssneg_2, _ssneg_4, _ssneg_8, _ssabs_2, _ssabs_4,
_ssabs_8, _ssadd_8, _sssub_8, _usadd_8, _ussub_8.
(LIB2FUNCS_EXCLUDE): Fix typo for _add _sub.
Add: _ssadd*, _sssub*, _ssneg*, _ssabs* for signed fixed modes.
Add: _usadd*, _ussub*, _usneg* for unsigned fixed modes.
gcc/testsuite/
PR target/54222
* gcc.target/avr/torture/fix-types.h: New.
* gcc.target/avr/torture/vals-hr.def: New.
* gcc.target/avr/torture/vals-r.def: New.
* gcc.target/avr/torture/vals-k.def: New.
* gcc.target/avr/torture/vals-ur.def: New.
* gcc.target/avr/torture/vals-uk.def: New.
* gcc.target/avr/torture/vals-uhr.def: New.
* gcc.target/avr/torture/vals-llk.def: New.
* gcc.target/avr/torture/vals-ullk.def: New.
* gcc.target/avr/torture/sat-hr-plus-minus.c: New.
* gcc.target/avr/torture/sat-r-plus-minus.c: New.
* gcc.target/avr/torture/sat-k-plus-minus.c: New.
* gcc.target/avr/torture/sat-ur-plus-minus.c: New.
* gcc.target/avr/torture/sat-uk-plus-minus.c: New.
* gcc.target/avr/torture/sat-uhr-plus-minus.c: New.
* gcc.target/avr/torture/sat-llk-plus-minus.c: New.
* gcc.target/avr/torture/sat-ullk-plus-minus.c: New.
From-SVN: r191345
2012-09-15 15:52:28 +00:00
Oleg Endo
aadb5b43ae
re PR target/54089 ([SH] Refactor shift patterns)
...
PR target/54089
* config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
dynamic shifts are available.
(SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment.
* config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
* config/sh/predicates.md (shift_count_operand): Allow
arith_reg_operand even if TARGET_DYNSHIFT is false.
* config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
if needed.
(ashlsi3_d_call, lshrsi3_d_call): New insns.
PR target/54089
* config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0.
(lshrsi3): Reimplement as lshrsi3_r0.
PR target/54089
* gcc.target/sh/pr54089-3.c: New.
From-SVN: r191161
2012-09-10 20:35:25 +00:00
Andreas Schwab
d5d66749a3
re PR target/46191 (Non-absolute names in libgcc_s.so)
...
PR target/46191
* config/t-slibgcc-libgcc (SHLIB_MAKE_SOLINK): Use -lgcc instead
of libgcc.a.
From-SVN: r191160
2012-09-10 20:14:47 +00:00
Georg-Johann Lay
b588ae3074
re PR target/54461 ([avr] add configure option for better AVR-Libc integration)
...
PR target/54461
* configure.ac (noconfigdirs,target=avr-*-*): Add target-newlib,
target-libgloss if not configured --with-avrlibc=no.
* configure: Regenerate.
libgcc/
PR target/54461
* config.host (tmake_file,host=avr-*-*): Add avr/t-avrlibc if
not configured --with-avrlibc=no.
* config/avr/t-avrlibc: New file.
* Makefile.in (FPBIT_FUNCS): filter-out LIB2FUNCS_EXCLUDE.
(DPBIT_FUNCS): Ditto.
(TPBIT_FUNCS): Ditto.
gcc/
PR target/54461
* config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
not configured --with-avrlibc=no.
(tm_defines,target=avr-*-*): Add WITH_AVRLIBC if not configured
--with-avrlibc=no.
* config/avr/avrlibc.h: New file.
* config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
not configured --with-avrlibc=no.
* doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
From-SVN: r190967
2012-09-05 08:47:50 +00:00
Chung-Lin Tang
867a834534
crtfastmath.c (set_fast_math): Add 'nomips16' attribute.
...
2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
libgcc/
* config/mips/crtfastmath.c (set_fast_math): Add 'nomips16'
attribute.
From-SVN: r190773
2012-08-29 09:31:52 +00:00
Georg-Johann Lay
4aeaaca35f
re PR target/54222 ([avr] Implement fixed-point support)
...
PR target/54222
* config/avr/t-avr (conv_X): Rename to func_X.
From-SVN: r190646
2012-08-24 13:01:54 +00:00
Georg-Johann Lay
e55e405619
re PR target/54222 ([avr] Implement fixed-point support)
...
libgcc/
PR target/54222
* config/avr/lib1funcs-fixed.S: New file.
* config/avr/lib1funcs.S: Include it. Undefine some divmodsi
after they are used.
(neg2, neg4): New macros.
(__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants.
(__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants.
(__umulhisi3): Speed up MUL variant if there is enough flash.
* config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's
avr-modes.def.
* config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf,
_fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf,
_fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq,
_fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3,
_mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3,
_udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3.
(LIB2FUNCS_EXCLUDE): Add supported functions.
gcc/
PR target/54222
* avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes.
* avr/avr-fixed.md: New file.
* avr/avr.md: Include it.
(cc): Add: minus.
(adjust_len): Add: minus, minus64, ufract, sfract.
(ALL1, ALL2, ALL4, ORDERED234): New mode iterators.
(MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
(MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
(pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3,
subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi,
cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1.
(*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3,
ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3,
*lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all
16-bit modes in ALL2.
(subhi3, casesi, strlenhi): Add clobber when expanding minus:HI.
(*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const,
ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const,
*reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all
32-bit modes in ALL4.
* avr-dimode.md (ALL8): New mode iterator.
(adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn,
subdi3_const_insn, cbranchdi4, compare_di2,
compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn,
ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle
all 64-bit modes in ALL8.
* config/avr/avr-protos.h (avr_to_int_mode): New prototype.
(avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes.
* config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to...
(avr_fixed_point_supported_p): ...this new static function.
(TARGET_BUILD_BUILTIN_VA_LIST): Define to...
(avr_build_builtin_va_list): ...this new static function.
(avr_adjust_type_node): New static function.
(avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P.
(avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new
pseudo instead of gen_rtx_MINUS.
(avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED.
(notice_update_cc): Handle: CC_MINUS.
(output_movqi): Generalize to handle respective fixed-point modes.
(output_movhi, output_movsisf, avr_2word_insn_p): Ditto.
(avr_out_compare, avr_out_plus_1): Also handle fixed-point modes.
(avr_assemble_integer): Ditto.
(output_reload_in_const, output_reload_insisf): Ditto.
(avr_compare_pattern): Skip all modes > 4 bytes.
(avr_2word_insn_p): Skip movuqq_insn, movqq_insn.
(avr_out_fract, avr_out_minus, avr_out_minus64): New functions.
(avr_to_int_mode): New function.
(adjust_insn_length): Handle: ADJUST_LEN_SFRACT,
ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64.
* config/avr/predicates.md (const0_operand): Allow const_fixed.
(const_operand, const_or_immediate_operand): New.
(nonmemory_or_const_operand): New.
* config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ):
New constraints.
* config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define.
From-SVN: r190644
2012-08-24 12:42:48 +00:00
H.J. Lu
c637141af0
Add -mlong-double-64/-mlong-double-80 to i386
...
gcc/
* doc/invoke.texi: Document -mlong-double-64/-mlong-double-80.
* config/i386/i386.c (flag_opts): Add -mlong-double-64.
(TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic.
* config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if
TARGET_LONG_DOUBLE_64 is true.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro.
(WIDEST_HARDWARE_FP_SIZE): Defined to 80.
* config/i386/i386.opt (mlong-double-80): New option.
(mlong-double-64): Likewise.
* config/i386/i386-c.c (ix86_target_macros): Define
__LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64.
gcc/testsuite/
* gcc.target/i386/long-double-64-1.c: New file.
* gcc.target/i386/long-double-64-2.c: Likewise.
* gcc.target/i386/long-double-64-3.c: Likewise.
* gcc.target/i386/long-double-64-4.c: Likewise.
* gcc.target/i386/long-double-80-1.c: Likewise.
* gcc.target/i386/long-double-80-2.c: Likewise.
* gcc.target/i386/long-double-80-3.c: Likewise.
* gcc.target/i386/long-double-80-4.c: Likewise.
* gcc.target/i386/long-double-80-5.c: Likewise.
* gcc.target/i386/long-double-80-6.c: Likewise.
* gcc.target/i386/long-double-80-7.c: Likewise.
libgcc/
* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New.
From-SVN: r190599
2012-08-22 12:46:28 -07:00
Ian Lance Taylor
4b1b378895
morestack.S (__morestack_non_split): Increase amount of space allocated for non-split code stack.
...
* config/i386/morestack.S (__morestack_non_split): Increase amount
of space allocated for non-split code stack.
From-SVN: r190574
2012-08-21 20:51:42 +00:00
Julian Brown
a508e1a8cb
Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to -fexceptions -fnon-call-exceptions if not defined.
...
libgcc/
* Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to
-fexceptions -fnon-call-exceptions if not defined.
($(lib2-divmod-o), $(lib2-divmod-s-o)): Use above.
* config/arm/t-bpabi (LIB2_DIVMOD_EXCEPTION_FLAGS): Define.
gcc/testsuite/
* gcc.target/arm/div64-unwinding.c: New test.
From-SVN: r190483
2012-08-17 15:06:06 +00:00
Andreas Schwab
5615a07d0c
linux-atomic.c (__sync_lock_test_and_set_1): Fix type.
...
* config/m68k/linux-atomic.c (__sync_lock_test_and_set_1): Fix
type.
From-SVN: r190480
2012-08-17 12:33:09 +00:00
Nick Clifton
d04aacfc87
lib2funcs.c (__clrsbhi2): New function.
...
* config/m32c/lib2funcs.c (__clrsbhi2): New function.
Implements __clrsb for an HImode argument.
From-SVN: r190032
2012-08-01 09:36:01 +00:00
Nick Clifton
0d13c974d9
lib2funcs.c (__clrsbhi2): New function.
...
* config/stormy16/lib2funcs.c (__clrsbhi2): New function.
Implements __clrsb for an HImode argument.
* config/stormy16/clrsbhi2.c: New file:
* config/stormy16/t-stormy16 (LIB2ADD): Add clrsbhi2.c.
From-SVN: r189997
2012-07-31 09:09:29 +00:00
Tristan Gingold
bf1431e359
eh_personality.cc (__gxx_personality_seh0): New function.
...
libstdc++-v3/
* libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
Adjust for SEH.
* config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
libobjc/
* exception.c (__gnu_objc_personality_seh0): New function.
libjava/
* libgcj.ver: Add __gcj_personality_seh0.
* exception.cc (__gcj_personality_seh0): New function.
Adjust for SEH.
libgcc/
* unwind-seh.c: New file.
* unwind-generic.h: Include windows.h for SEH.
(_Unwind_Exception): Use 6 private fields for SEH.
(_GCC_specific_handler): Declare.
* unwind-c.c (__gcc_personality_seh0): New function.
Adjust for SEH.
* config/i386/libgcc-cygming.ver: New file.
* config/i386/t-seh-eh: New file.
* config.host (x86_64-*-mingw*): Default to seh.
gcc/
* opts.c (finish_options): Handle UI_SEH.
* expr.c (build_personality_function): Handle UI_SEH.
* dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH.
* coretypes.h (unwind_info_type): Add UI_SEH.
* config/i386/winnt.c (i386_pe_seh_emit_except_personality):
New function.
(i386_pe_seh_init_sections): Likewise.
* config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
(TARGET_ASM_INIT_SECTIONS): Define.
* common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
(i386_except_unwind_info): New function.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r189644
2012-07-19 07:29:24 +00:00
Steven Bosscher
659140c86e
* config/t-darwin (crt3.0): Remove work-around for fixed PR26840.
...
From-SVN: r189479
2012-07-14 13:50:59 +00:00
Uros Bizjak
a20d08fd75
sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use __builtin_expect when checking for exceptions.
...
* config/i386/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use
__builtin_expect when checking for exceptions.
* config/ia64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Ditto.
From-SVN: r188705
2012-06-17 15:54:53 +02:00
Uros Bizjak
79261115dd
sfp-machine.h (__sfp_handle_exceptions): New function declaration.
...
* config/ia64/sfp-machine.h (__sfp_handle_exceptions): New
function declaration.
(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
(FP_RND_MASK): New.
* config/ia64/sfp-exceptions.c: New.
* config/ia64/t-softfp (LIB2ADD): Add sfp-exceptions.c.
From-SVN: r188520
2012-06-13 17:56:55 +02:00
Uros Bizjak
bb5c97d42c
sfp-machine.h (_FP_NANSIGN_S, [...]): Move ...
...
* config/i386/32/sfp-machine.h (_FP_NANSIGN_S, _FP_NANSIGN_D,
_FP_NANSIGN_E, _FP_NANSIGN_Q): Move ...
* config/i386/64/sfp-machine: ... (delete here) ...
* config/i386/sfp-machine.h: ... to here.
(FP_EX_MASK): Remove.
(FP_RND_MASK): New.
(FP_INIT_ROUNDMODE): Declare asm as volatile.
From-SVN: r188518
2012-06-13 17:23:12 +02:00
Sriraman Tallam
91fe5efbd2
libgcc-bsd.ver: Version symbol __cpu_indicator_init.
...
2012-06-11 Sriraman Tallam <tmsriram@google.com>
* config/i386/libgcc-bsd.ver: Version symbol __cpu_indicator_init.
* config/i386/libgcc-sol2.ver: Ditto.
* config/i386/libgcc-glibc.ver: Ditto.
* gcc.target/i386/builtin_target.c (vendor_signatures): New enum.
(check_intel_cpu_model): New function.
(check_amd_cpu_model): New function.
(check_features): New function.
(__get_cpuid_output): New function.
(check_detailed): New function.
(fn1): Rename to quick_check.
(main): Update to call quick_check and call check_detailed.
From-SVN: r188417
2012-06-12 02:55:20 +00:00
Uros Bizjak
492fbea162
sfp-machine.h (__gcc_CMPtype, [...]): Move ...
...
* config/i386/32/sfp-machine.h (__gcc_CMPtype, CMPtype,
_FP_KEEPNANFRACP, _FP_CHOOSENAN, FP_EX_INVALID, FP_EX_DENORM,
FP_EX_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT,
FP_HANDLE_EXCEPTIONS, FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
FP_RND_MINF, _FP_DEXL_EX, FP_INIT_ROUNDMODE, FP_ROUNDMODE,
__LITTLE_ENDIAN, __BIG_ENDIAN, strong_alias): Move ...
* config/i386/64/sfp-machine: ... (delete here) ...
* config/i386/sfp-machine.h: ... to here.
(FP_EX_MASK): New.
(__sfp_handle_exceptions): New function declaration.
(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
* config/i386/sfp-exceptions.c: New.
* config/i386/t-softfp: New.
* config.host (i[34567]86-*-* and x86_64-*-* soft-fp targets): Add
i386/t-softfp to tmake_file.
From-SVN: r188361
2012-06-09 19:32:27 +02:00
Joseph Myers
d8c9d39117
ieee754-df.S: Fix typos.
...
* config/arm/ieee754-df.S: Fix typos.
* config/arm/ieee754-sf.S: Fix typos.
* config/c6x/libunwind.S: Fix typos.
* config/epiphany/udivsi3-float.c: Fix typos.
* config/microblaze/muldi3_hard.S: Fix typos.
* config/picochip/adddi3.S: Fix typos.
* config/picochip/ashlsi3.S: Fix typos.
* config/picochip/ashrsi3.S: Fix typos.
* config/picochip/clzsi2.S: Fix typos.
* config/picochip/cmpsi2.S: Fix typos.
* config/picochip/divmod15.S: Fix typos.
* config/picochip/divmodhi4.S: Fix typos.
* config/picochip/divmodsi4.S: Fix typos.
* config/picochip/longjmp.S: Fix typos.
* config/picochip/lshrsi3.S: Fix typos.
* config/picochip/parityhi2.S: Fix typos.
* config/picochip/popcounthi2.S: Fix typos.
* config/picochip/setjmp.S: Fix typos.
* config/picochip/subdi3.S: Fix typos.
* config/picochip/ucmpsi2.S: Fix typos.
* config/picochip/udivmodhi4.S: Fix typos.
* config/picochip/udivmodsi4.S: Fix typos.
* config/spu/divv2df3.c: Fix typos.
* config/spu/mfc_multi_tag_release.c: Fix typos.
* config/spu/mfc_tag_release.c: Fix typos.
* configure.ac: Fix typos.
* configure: Regenerate.
From-SVN: r187967
2012-05-29 15:54:22 +01:00
Ian Lance Taylor
31a18a7e23
morestack.S (__morestack_non_split): Check whether caller is varargs and needs %bp to hold the stack frame on return.
...
libgcc/:
* config/i386/morestack.S (__morestack_non_split): Check whether
caller is varargs and needs %bp to hold the stack frame on return.
gcc/testsuite/:
* gcc.dg/split-6.c: New test.
From-SVN: r187894
2012-05-25 20:48:19 +00:00
Olivier Hainque
c57685107c
tramp.S (trampoline_setup): Use a longcall sequence in the non pic case on VxWorks.
...
libgcc/
* config/rs6000/vxworks/tramp.S (trampoline_setup): Use a longcall
sequence in the non pic case on VxWorks.
From-SVN: r187871
2012-05-25 08:20:03 +00:00
Olivier Hainque
7d67c380fa
aix-unwind.h (*_REGNO): New, set of useful register numbers.
...
libgcc/
* config/rs6000/aix-unwind.h (*_REGNO): New, set of useful
register numbers. LR_REGNO replaces R_LR.
(ucontext_for): New, helper for ...
(ppc_aix_fallback_frame_state): New, implementation for aix 5.2
and 5.3 of ...
(MD_FALLBACK_FRAME_STATE_FOR): Define for 32bit configurations.
testsuite/
* g++.dg/eh/sighandle.C: New testcase.
From-SVN: r187540
2012-05-15 14:03:04 +00:00
Rainer Orth
aca06c900e
Use i386-cpuinfo.c on all i386 targets
...
libgcc:
* config.host (i[34567]86-*-linux*, x86_64-*-linux*)
(i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu)
(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Move
i386/t-cpuinfo ...
(i[34567]86-*-*, x86_64-*-*): ... here.
* config/i386/libgcc-bsd.ver (GCC_4.8.0): New version.
* config/i386/libgcc-sol2.ver (GCC_4.8.0): New version.
* config/i386/i386-cpuinfo.c: Rename to ...
* config/i386/cpuinfo.c: ... this.
* config/i386/t-cpuinfo (LIB2ADD): Reflect this.
* configure.ac (AC_CONFIG_HEADER): Call for auto-target.h.
(libgcc_cv_init_priority): New test.
* configure: Regenerate.
* config.in: New file.
* Makefile.in (clean): Rename config.h to auto-target.h.
(config.h): Likewise.
(stamp-h): Likewise.
* config/i386/cpuinfo.c (auto-target.h): Include.
(CONSTRUCTOR_PRIORITY): Define.
(__cpu_indicator_init): Use it.
gcc
* doc/extend.texi (X86 Built-in Functions, __builtin_cpu_init):
Document requirement to call in constructors.
* config/i386/i386.c: Update comments for i386-cpuinfo.c name
change.
From-SVN: r187365
2012-05-10 08:51:39 +00:00
Sriraman Tallam
5ddecff9f2
i386-cpuinfo.c (FEATURE_AVX2): New enum value.
...
2012-04-25 Sriraman Tallam <tmsriram@google.com>
* config/i386/i386-cpuinfo.c (FEATURE_AVX2): New enum value.
(get_available_features): New argument. Check for AVX2.
(__cpu_indicator_init): Modify call to get_available_features.
* doc/extend.texi: Document avx2 support.
* config/i386/i386.c (fold_builtin_cpu): Add avx2.
* testsuite/gcc.target/i386/builtin_target.c: Check avx2.
From-SVN: r186855
2012-04-26 00:52:09 +00:00
Alan Modra
b427dd7ae3
rs6000 (SAVE_INLINE_VRS, [...]): Define.
...
gcc/
* config/rs6000/rs6000 (SAVE_INLINE_VRS, REST_INLINE_VRS,
V_SAVE_INLINE, SAVRES_LR, SAVRES_SAVE, SAVRES_REG,
SAVRES_GPR, SAVRES_FPR, SAVRES_VR): Define.
(no_global_regs_above): Delete.
(no_global_regs): New function.
(rs6000_savres_strategy): Handle vector regs. Use proper lr_save_p
value for load multiple test.
(savres_routine_syms): Increase size.
(rs6000_savres_routine_name, rs6000_savres_routine_sym,
ptr_regno_for_savres, rs6000_emit_savres_rtx): Pass in int selector
rather than a number of boolean flags. Update all callers.
(rs6000_savres_routine_name): Generate vector save/restore names.
(rs6000_savres_routine_sym): Handle vector regs. Delete forward decl.
(ptr_regno_for_savres, rs6000_emit_savres_rtx): Likewise.
(rs6000_emit_prologue): Delete saving_FPRs_inline, saving_GPRs_inline
and using_store_multiple. Expand uses. Don't always use r11 as
frame reg when needed for out-of-line saves. Set up initial offset
for out-of-line vector saves when buying stack frame. Handle pointer
reg setup for out-of-line fp save. Emit call to out-of-line vector
save function. Choose r11 or r12 for vrsave reg when available for
better scheduling.
(rs6000_output_function_prologue): Don't emit .extern for ELF.
(rs6000_emit_epilogue): Choose a better frame reg when restoring
from back-chain to suit out-of-line vector restore functions. Emit
call to out-of-line vector restore function. Adjust register used
for cr restore. Tweak pointer register setup for gpr restore.
* config/rs6000/rs6000.h (FIRST_SAVED_GP_REGNO): Take into account
FIXED_R13.
* config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Simplify.
(V_SAVE_INLINE): Define.
* config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): New insns.
libgcc/
* config/rs6000/crtsavevr.S: New file.
* config/rs6000/crtrestvr.S: New file.
* config/rs6000/t-savresfgpr: Build the above.
* config/rs6000/t-netbsd: Likewise.
From-SVN: r186800
2012-04-25 12:02:56 +09:30
Sriraman Tallam
ad491329d9
i386-cpuinfo.c: Set __cpu_vendor always.
...
2012-04-24 Sriraman Tallam <tmsriram@google.com>
* libgcc/config/i386/i386-cpuinfo.c: Set __cpu_vendor always.
From-SVN: r186795
2012-04-25 02:04:22 +00:00
Sriraman Tallam
792317cc77
This patch adds new builtins to check for cpu type and features.
...
2012-04-24 Sriraman Tallam <tmsriram@google.com>
This patch adds new builtins to check for cpu type and features.
* __builtin_cpu_is ("<CPUNAME>")
* __builtin_cpu_supports ("<FEATURE>")
apart from the cpu init builtin, __builtin_cpu_init.
List of CPU names :
* "amd"
* "intel"
* "atom"
* "core2"
* "corei7"
* "nehalem"
* "westmere"
* "sandybridge"
* "amdfam10h"
* "barcelona"
* "shanghai"
* "istanbul"
* "bdver1"
* "bdver2"
List of CPU features :
* "cmov"
* "mmx"
* "popcnt"
* "sse"
* "sse2"
* "sse3"
* "ssse3"
* "sse4.1"
* "sse4.2"
* "avx"
* config/i386/i386.c (build_processor_model_struct): New function.
(make_var_decl): New function.
(fold_builtin_cpu): New function.
(ix86_fold_builtin): New function.
(make_cpu_type_builtin): New function.
(ix86_init_platform_type_builtins): New function.
(ix86_expand_builtin): Expand new builtins by folding them.
(ix86_init_builtins): Make new builtins to detect CPU type.
(TARGET_FOLD_BUILTIN): New macro.
(IX86_BUILTIN_CPU_INIT): New enum value.
(IX86_BUILTIN_CPU_IS): New enum value.
(IX86_BUILTIN_CPU_SUPPORTS): New enum value.
* config/i386/i386-builtin-types.def: New function type.
* testsuite/gcc.target/builtin_target.c: New testcase.
* doc/extend.texi: Document builtins.
* libgcc/config/i386/i386-cpuinfo.c: New file.
* libgcc/config/i386/t-cpuinfo: New file.
* libgcc/config.host: Include t-cpuinfo.
* libgcc/config/i386/libgcc-glibc.ver: Version symbol __cpu_model.
From-SVN: r186789
2012-04-25 00:08:37 +00:00
Thomas Schwinge
1bde7dabc9
struct siginfo vs. siginfo_t
...
libgcc/
* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use
siginfo_t instead of struct siginfo.
* config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
* config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise.
* config/ia64/linux-unwind.h (ia64_fallback_frame_state)
(ia64_handle_unwabi): Likewise.
* config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
* config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
* config/sh/linux-unwind.h (shmedia_fallback_frame_state)
(sh_fallback_frame_state): Likewise.
* config/tilepro/linux-unwind.h (tile_fallback_frame_state): Likewise.
* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.
From-SVN: r186610
2012-04-20 09:44:50 +02:00
H.J. Lu
24590f6607
Update x32 rt_sigreturn syscall number to 0x40000201
...
2012-04-02 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/linux-unwind.h (RT_SIGRETURN_SYSCALL): Update x32
system call number.
From-SVN: r186087
2012-04-02 09:17:21 -07:00
Eric Botcazou
9a9dcce8e8
unwind-ia64.c (uw_install_context): Manually save LC if it hasn't been previously saved.
...
* config/ia64/unwind-ia64.c (uw_install_context): Manually save LC
if it hasn't been previously saved.
From-SVN: r186045
2012-03-31 16:24:04 +00:00
H.J. Lu
6401aaf5df
Define x86_64_fallback_frame_state only for glibc
...
2012-03-29 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/linux-unwind.h (x86_64_fallback_frame_state): Define
only for glibc.
From-SVN: r185957
2012-03-29 05:48:08 -07:00
Georg-Johann Lay
7fd6378ef4
re PR target/52737 ([avr]: -mtiny-stack shall not influence multilib selection)
...
PR target/52737
* contrib/gcc_update (files_and_dependencies):
Remove gcc/config/avr/t-multilib from touch data.
gcc/
PR target/52737
* config.gcc (tm_file): Remove avr/multilib.h.
* doc/invoke.texi (AVR Options): Adjust
documentation of -mtiny-stack.
* config/avr/genmultilib.awk: Remove code to generate multilib.h.
(BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
* config/avr/t-avr: Remove generation of multilib.h.
* config/avr/t-multilib: Regenerate.
* config/avr/multilib.h: Remove.
* config/avr/avr.opt (-msp8): New option.
(avr_sp8): New variable.
* config/avr/driver-avr.c (avr_device_to_sp8): New function.
* config/avr/avr.h (AVR_HAVE_SPH): New define.
(AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
(avr_device_to_sp8): New prototype.
(EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
(DRIVER_SELF_SPECS): New define.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
__AVR_SP8__, __AVR_HAVE_SPH__.
* config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
AVR_HAVE_8BIT_SP to decide if SP_H is present.
(avr_file_start): Ditto.
libgcc/
PR target/52737
* config/avr/lib1funcs.S: Use __AVR_HAVE_SPH__ for SP_H checks
instead of __AVR_HAVE_8BIT_SP__.
From-SVN: r185907
2012-03-28 08:31:26 +00:00
Tristan Gingold
9e916de770
unwind-ia64.h: Declare unw_word and unw_sword.
...
2012-03-26 Tristan Gingold <gingold@adacore.com>
* config/ia64/unwind-ia64.h: Declare unw_word and unw_sword.
(unw_table_entry): Use unw_word instead of unsigned long.
(_Unwind_FindTableEntry): Likewise.
* config/ia64/fde-glibc.c (_Unwind_FindTableEntry): Likewise.
* config/ia64/fde-vms.c (vms_unwtable_entry): Likewise.
(_Unwind_FindTableEntry): Likewise.
* config/ia64/unwind-ia64.c (unw_reg_info, unw_reg_state)
(unw_labeled_state, unw_state_record, unw_stack, _Uwind_Context)
(set_reg, alloc_spill_area, finish_prologue, ia64_rse_slot_num)
(ia64_rse_is_rnat_slot, ia64_rse_rnat_addr, ia64_rse_num_regs)
(ia64_rse_skip_regs, ia64_copy_rbs, unw_access_gr)
(uw_frame_state_for, uw_update_reg_address, uw_update_context)
(uw_init_context_1, uw_install_context): Likewise.
(unw_word): Move to unwind-ia64.h
From-SVN: r185852
2012-03-27 09:50:10 +00:00
Tristan Gingold
4b12e93df8
vms.h (LINK_SPEC): Simplify.
...
libgcc/
2012-03-26 Tristan Gingold <gingold@adacore.com>
* config/alpha/vms.h (LINK_SPEC): Simplify.
(STARTFILE_SPEC): Remove -mvms-return-codes handling.
(NAME__MAIN, SYMBOL__MAIN): Remove.
(VMS_DEBUG_MAIN_POINTER): Remove.
* config/ia64/vms.h: Likewise.
* config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
code to vms.c. Call vms_start_function.
* config/ia64/ia64.c (ia64_start_function): Likewise.
* config/vms/vms-protos.h (vms_start_function): Declare.
* config/vms/vms.c (vms_start_function): New function.
* config/vms/vms.h (MATH_LIBRARY): Define.
(VMS_DEBUG_MAIN_POINTER): Define.
gcc/
2012-03-26 Tristan Gingold <gingold@adacore.com>
* config/alpha/vms.h (LINK_SPEC): Simplify.
(STARTFILE_SPEC): Remove -mvms-return-codes handling.
(NAME__MAIN, SYMBOL__MAIN): Remove.
(VMS_DEBUG_MAIN_POINTER): Remove.
* config/ia64/vms.h: Likewise.
* config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
code to vms.c. Call vms_start_function.
* config/ia64/ia64.c (ia64_start_function): Likewise.
* config/vms/vms-protos.h (vms_start_function): Declare.
* config/vms/vms.c (vms_start_function): New function.
* config/vms/vms.h (MATH_LIBRARY): Define.
(VMS_DEBUG_MAIN_POINTER): Define.
From-SVN: r185791
2012-03-26 09:35:18 +00:00
Richard Earnshaw
06ea73711d
lib1funcs.asm (ctzsi2): New function.
...
* arm/lib1funcs.asm (ctzsi2): New function.
* arm/t-elf (LIB1ASMFUNCS): Add _ctzsi2.
* arm/t-linux (LIB1ASMFUNCS): Likewise.
* arm/t-strongarm-elf (LIB1ASMFUNCS): Likewise.
* arm/t-symbian (LIB1ASMFUNCS): Likewise.
* arm/t-vxworks (LIB1ASMFUNCS): Likewise.
* arm/t-wince-pe (LIB1ASMFUNCS): Likewise.
From-SVN: r185698
2012-03-22 15:14:46 +00:00
Andreas Tobler
d82ad50db3
config.host: Add bits to support powerpc64-*-freebsd*.
...
2012-03-21 Andreas Tobler <andreast@fgznet.ch>
* config.host: Add bits to support powerpc64-*-freebsd*.
* config/rs6000/freebsd-unwind.h: New file.
* config/rs6000/t-freebsd64: New file.
From-SVN: r185614
2012-03-21 21:12:16 +01:00
Tristan Gingold
86286a8a96
vms-unwind.h: Remove ulong (and replace it by unw_reg where used).
...
2012-03-16 Tristan Gingold <gingold@adacore.com>
* config/ia64/vms-unwind.h: Remove ulong (and replace
it by unw_reg where used). Define unw_reg with __int64.
From-SVN: r185463
2012-03-16 10:58:28 +00:00
Rainer Orth
7888f2660e
Remove obsolete Solaris 8 support
...
libstdc++-v3:
* config/os/solaris/solaris2.8: Rename to ...
* config/os/solaris/solaris2.9: ... this.
* config/abi/post/solaris2.8: Rename to ...
* config/abi/post/solaris2.9: ... this.
* configure.host (os_include_dir): Remove solaris2.8.
Reflect renaming.
(abi_baseline_pair): Remove *-*-solaris2.8.
Reflect renaming.
* configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
(GLIBCXX_CHECK_STDLIB_PROTO): Remove.
* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
(GLIBCXX_CHECK_STDLIB_PROTO): Remove.
(GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
* crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
handling.
* configure: Regenerate.
* config.h.in: Regenerate.
* config/os/solaris/solaris2.9/os_defines.h
(__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
(__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
* include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
to __CORRECT_ISO_CPP_MATH_H_PROTO.
[!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
* include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
__CORRECT_ISO_CPP_MATH_H_PROTO.
* doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
Remove Solaris 8 reference.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Don't xfail on *-*-solaris2.8.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
*-*-solaris2.8.
libjava:
* configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling.
* configure: Regenerate.
libgcc:
* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
Solaris 8 handling.
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
Solaris 8 handling.
(sparc_is_sighandler): Likewise.
libcpp:
* lex.c: Remove Solaris 8 reference.
gcc/testsuite:
* g++.dg/warn/miss-format-1.C: Remove *-*-solaris2.8 handling.
* gcc.dg/c99-stdint-6.c: Likewise.
* gcc.dg/lto/20090210_0.c: Likewise.
* gcc.dg/pr28796-2.c: Don't skip on sparc*-sun-solaris2.8.
* gcc.dg/pragma-init-fini.c: Don't skip on i?86-*-solaris2.8.
* gcc.dg/pragma-init-fini-2.c: Likewise.
* gcc.dg/torture/pr47917.c: Remove *-*-solaris2.8 handling.
* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.8 handling.
* gcc.target/i386/pr22152.c: Likewise.
* gcc.target/i386/vect8-ret.c: Likewise.
* lib/target-supports.exp (add_options_for_tls): Remove Solaris 8
handling.
gcc:
* config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
(*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
(i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
Solaris 8 support.
* configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
(ld_tls_support): Remove Solaris 8 references.
(lwp_dir, lwp_spec): Remove support for alternate thread library.
* acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.*
tests.
* configure: Regenerate.
* config.in: Regenerate.
* config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC.
* config/i386/sol2.h: Remove Solaris 8 references.
* doc/install.texi (Specific, i?86-*-solaris2.[89]): Rename to ...
(i?86-*-solaris2.9): ... this.
Remove Solaris 8 references.
(Specific, *-*-solaris2*): Document Solaris 8 removal.
Remove Solaris 8 references.
fixincludes:
* inclhack.def (math_exception): Remove duplicate.
(solaris_cond_init): Remove.
(solaris_sys_va_list): Remove Solaris 8 support.
* fixincl.x: Regenerate.
* tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: Remove.
From-SVN: r185392
2012-03-14 17:08:03 +00:00
Rainer Orth
b24513a1a2
Remove obsolete IRIX 6.5 support
...
libstdc++-v3:
* configure.host (irix6.5*): Remove.
* config/os/irix: Remove.
* config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
[_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.
* doc/xml/faq.xml: Remove IRIX reference.
* doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
Remove IRIX example.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Remove mips-sgi-irix6* handling.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
* testsuite/23_containers/list/pthread1.cc: Likewise.
* testsuite/23_containers/list/pthread5.cc: Likewise.
* testsuite/23_containers/map/pthread6.cc: Likewise.
* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
* testsuite/30_threads/async/42819.cc: Likewise.
* testsuite/30_threads/async/49668.cc: Likewise.
* testsuite/30_threads/async/any.cc: Likewise.
* testsuite/30_threads/async/async.cc: Likewise.
* testsuite/30_threads/async/launch.cc: Likewise.
* testsuite/30_threads/async/sync.cc: Likewise.
* testsuite/30_threads/call_once/39909.cc: Likewise.
* testsuite/30_threads/call_once/49668.cc: Likewise.
* testsuite/30_threads/call_once/call_once1.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
* testsuite/30_threads/future/cons/move.cc: Likewise.
* testsuite/30_threads/future/members/45133.cc: Likewise.
* testsuite/30_threads/future/members/get.cc: Likewise.
* testsuite/30_threads/future/members/get2.cc: Likewise.
* testsuite/30_threads/future/members/share.cc: Likewise.
* testsuite/30_threads/future/members/valid.cc: Likewise.
* testsuite/30_threads/future/members/wait.cc: Likewise.
* testsuite/30_threads/future/members/wait_for.cc: Likewise.
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
* testsuite/30_threads/lock/1.cc: Likewise.
* testsuite/30_threads/lock/2.cc: Likewise.
* testsuite/30_threads/lock/3.cc: Likewise.
* testsuite/30_threads/lock/4.cc: Likewise.
* testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
* testsuite/30_threads/mutex/cons/1.cc: Likewise.
* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/mutex/lock/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/packaged_task/49668.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
* testsuite/30_threads/promise/cons/1.cc: Likewise.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
* testsuite/30_threads/promise/cons/move.cc: Likewise.
* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
* testsuite/30_threads/promise/members/get_future.cc: Likewise.
* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
* testsuite/30_threads/promise/members/swap.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
* testsuite/30_threads/shared_future/members/get.cc: Likewise.
* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
* testsuite/30_threads/this_thread/1.cc: Likewise.
* testsuite/30_threads/this_thread/2.cc: Likewise.
* testsuite/30_threads/this_thread/3.cc: Likewise.
* testsuite/30_threads/this_thread/4.cc: Likewise.
* testsuite/30_threads/thread/cons/1.cc: Likewise.
* testsuite/30_threads/thread/cons/2.cc: Likewise.
* testsuite/30_threads/thread/cons/3.cc: Likewise.
* testsuite/30_threads/thread/cons/4.cc: Likewise.
* testsuite/30_threads/thread/cons/49668.cc: Likewise.
* testsuite/30_threads/thread/cons/5.cc: Likewise.
* testsuite/30_threads/thread/cons/6.cc: Likewise.
* testsuite/30_threads/thread/cons/7.cc: Likewise.
* testsuite/30_threads/thread/cons/8.cc: Likewise.
* testsuite/30_threads/thread/cons/9.cc: Likewise.
* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
* testsuite/30_threads/thread/members/1.cc: Likewise.
* testsuite/30_threads/thread/members/2.cc: Likewise.
* testsuite/30_threads/thread/members/3.cc: Likewise.
* testsuite/30_threads/thread/members/4.cc: Likewise.
* testsuite/30_threads/thread/members/5.cc: Likewise.
* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
* testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/thread/swap/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/try_lock/1.cc: Likewise.
* testsuite/30_threads/try_lock/2.cc: Likewise.
* testsuite/30_threads/try_lock/3.cc: Likewise.
* testsuite/30_threads/try_lock/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
* testsuite/ext/rope/pthread7-rope.cc: Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
Likewise.
* testsuite/23_containers/vector/capacity/resize/1.cc: Remove
dg-options for mips*-*-irix6*.
* testsuite/27_io/ios_base/storage/1.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
* testsuite/27_io/ios_base/storage/3.cc: Likewise.
* testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
workaround.
libjava:
* configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
(mips-sgi-irix6*): Remove.
(mips-sgi-irix*): Remove.
(AC_CHECK_HEADERS): Remove bstring.h.
* configure: Regenerate.
* include/config.h.in: Regenerate.
* configure.host (mips-sgi-irix6*): Remove.
* include/posix-signal.h [__sgi__]: Remove.
* gnu/java/net/natPlainDatagramSocketImplPosix.cc
[HAVE_BSTRING_H]: Remove.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc: Likewise.
* gnu/java/net/natPlainSocketImplPosix.cc: Likewise.
libitm:
* configure.tgt (*-*-irix6*): Remove.
libgomp:
* configure.tgt (mips-sgi-irix6*): Remove.
libgfortran:
* intrinsics/c99_functions.c [__sgi__ && !HAVE_COMPLEX_H]: Remove.
libgcc:
* config.host (mips-sgi-irix6.5*): Remove.
* config/mips/irix-crti.S: Remove.
* config/mips/irix-crtn.S: Remove.
* config/mips/irix6-unwind.h: Remove.
* config/mips/t-irix6: Remove.
* config/mips/t-slibgcc-irix: Remove.
gnattools:
* configure.ac (mips-sgi-irix*): Remove.
* configure: Regenerate.
gcc/testsuite:
* g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.
* g++.dg/tree-prof/partition1.C: Likewise.
* g++.dg/tree-prof/partition2.C: Likewise.
* g++.old-deja/g++.other/init19.C: Remove mips-sgi-irix*
handling.
* gcc.c-torture/compile/labels-3.c: Remove dg-options.
* gcc.c-torture/execute/20010724-1.c: Remove.
* gcc.c-torture/execute/20010724-1.x: Remove.
* gcc.c-torture/execute/20040208-2.c: Remove.
* gcc.c-torture/execute/20040208-2.x: Remove.
* gcc.c-torture/execute/ieee/20000320-1.c [__mips__ && __sgi__]:
Remove.
(main) [__mips__ && __sgi__]: Remove.
* gcc.c-torture/execute/ieee/copysign1.c: Remove IRIX reference.
* gcc.c-torture/execute/ieee/copysign2.c: Likewise.
* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Remove
mips-sgi-irix6* handling.
* gcc.dg/cpp/assert4.c [__mips__]: Remove __sgi__, sgi.
* gcc.dg/torture/20090618-1.c: Don't skip on mips-sgi-irix*.
* gcc.dg/torture/builtin-frexp-1.c: Remove mips*-*-irix6*
handling.
* gcc.dg/torture/builtin-logb-1.c: Likewise.
* gcc.dg/torture/pr47917.c: Remove mips-sgi-irix6.5 handling.
* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Don't skip on mips*-*-irix*.
* gcc.misc-tests/linkage.exp: Remove mips-sgi-irix6* handling.
* gcc.target/mips/args-1.c [!__sgi__]: Remove.
* gcc.target/mips/interrupt_handler-2.c: Don't skip on
mips-sgi-irix6*.
* gcc.target/mips/interrupt_handler-3.c: Likewise.
* gcc.target/mips/save-restore-1.c: Don't skip on mips-sgi-irix6*.
* gcc.target/mips/save-restore-3.c: Likewise.
* gcc.target/mips/save-restore-4.c: Likewise.
* gcc.target/mips/save-restore-5.c: Likewise.
* gfortran.dg/g77/cabs.f: Don't xfail on mips-sgi-irix6*.
* lib/prune.exp (prune_gcc_output): Remove pruning of IRIX 6 ld
messages.
* lib/target-libpath.exp (set_ld_library_path_env_vars): Remove
IRIX 6 handling.
(restore_ld_library_path_env_vars): Likewise.
* lib/target-supports.exp (check_profiling_available): Remove
mips*-*-irix* handling.
(check_ascii_locale_available): Remove mips-sgi-irix* handling.
(add_options_for_c99_runtime): Remove mips-sgi-irix6.5* handling.
* objc.dg/stabs-1.m: Don't xfail on mips-sgi-irix6.5.
gcc/ada:
* gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
* a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
s-osinte-irix.ads, s-proinf-irix-athread.adb,
s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
Remove.
* adaint.c [__mips && __sgi]: Remove.
(__gnat_number_of_cpus) [__mips && __sgi]: Remove.
[IS_CROSS && !(__mips && __sgi)]: Remove.
* adaint.h [sgi && _LFAPI]: Remove.
* cstreams.c (__gnat_full_name) [sgi]: Remove.
* env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
(__gnat_clearenv) [__mips && __sgi]: Remove.
* errno.c (_SGI_MP_SOURCE): Remove.
* gsocket.h [sgi]: Remove.
* init.c: Remove IRIX reference.
[sgi]: Remove.
* link.c [sgi]: Remove.
* s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
(main) [__mips && __sgi] (MAX_tv_sec): Don't define.
(CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
* sysdep.c [sgi]: Remove.
(getc_immediate_common) [sgi]: Remove.
(__gnat_localtime_tzoff) [sgi]: Remove.
* terminals.c [__mips && __sgi] (IRIX): Don't define.
[IRIX] (USE_GETPTY): Don't define.
(allocate_pty_desc) [USE_GETPTY]: Remove.
* g-traceb.ads: Remove IRIX reference.
* g-trasym.ads: Likewise.
* memtrack.adb: Likewise.
* s-interr-sigaction.adb: Likewise.
* gnat_rm.texi (Implementation Advice): Remove SGI info.
(Implementation Defined Characteristics): Likewise.
* gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
Remove.
(Irix-Specific Considerations): Remove.
gcc/cp:
* Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.
gcc:
* config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
(mips-sgi-irix6.5*): Remove.
* config.host (mips-sgi-irix*): Remove.
* configure.ac (enable_fixed_point): Remove mips*-sgi-irix*.
(set_have_as_tls): Remove *-*-irix6*.
(gcc_cv_ld_static_dynamic): Remove mips-sgi-irix6*.
* configure: Regenerate.
* config/mips/iris6.h: Remove.
* config/mips/iris6.opt: Remove.
* config/mips/t-irix6: Remove.
* config/mips/mips.h (TARGET_GPWORD): Remove IRIX 6 N64 handling.
(TARGET_IRIX6): Remove.
(TARGET_CPU_CPP_BUILTINS): Remove IRIX 6 handling.
Don't define LANGUAGE_C, _LANGUAGE_C for Objective-C.
* config/mips/mips.c (mips_build_builtin_va_list): Remove IRIX 6
handling.
(mips_file_start): Likewise.
* config/mips/mips-protos.h (irix_asm_output_align): Remove.
* config/mips/driver-native.c [__sgi__]: Remove.
(host_detect_local_cpu) [__sgi__]: Remove.
* config/mips/gnu-user.h: Remove iris5.h reference.
* config/mips/mips-modes.def: Remove IRIX 6 reference.
* config/mips/gnu-user64.h (MIPS_TFMODE_FORMAT): Remove.
* config/mips/mips.c (mips_option_override) [MIPS_TFMODE_FORMAT]:
Remove.
* gcc.c (main): Move asm_debug initialization ...
(asm_debug): ... here.
* ginclude/stddef.h (__STDDEF_H__): Don't define.
* defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Remove.
* system.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Poison.
* collect2.c [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
(main) [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
[LINK_ELIMINATE_DUPLICATE_LDIRECTORIES] (is_in_args): Remove.
* doc/tm.texi.in (Driver, LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
Remove.
* doc/tm.texi: Regenerate.
* doc/invoke.texi (Debugging Options, -gdwarf-<version>): Remove
IRIX 6 reference.
(MIPS Options, -march): Remove IRIX reference.
* doc/install.texi (Binaries, SGI IRIX): Remove.
(Specific, mips-sgi-irix6): Document IRIX 6.5 removal, remove rest
of section.
* doc/trouble.texi (Interoperation): Remove -lgl_s handling.
fixincludes:
* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.
(irix___restrict): Remove.
(irix___generic1): Remove.
(irix___generic2): Remove.
(irix_asm_apostrophe): Remove.
(irix_complex): Remove.
(irix_pthread_init): Remove.
(irix_socklen_t): Remove.
(irix_stdint_c99_mode): Remove.
(irix_stdint_c99_types): Remove.
(irix_stdint_c99_macros): Remove.
(irix_stdio_va_list): Remove IRIX 6.5 support.
(irix_wcsftime): Remove.
(stdio_va_list): Remove IRIX 6.5 support.
(svr4_profil): Remove IRIX bypass.
* fixincl.x: Regenerate.
* tests/base/complex.h [IRIX_COMPLEX_CHECK]: Remove.
* tests/base/internal/math_core.h: Remove.
* tests/base/internal/sgimacros.h: Remove.
* tests/base/internal/wchar_core.h: Remove.
* tests/base/math.h [BROKEN_CABS_CHECK]: Remove IRIX and SunOS 4
support.
* tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: Remove.
* tests/base/stdint-irix65.h: Remove.
* tests/base/stdint.h [IRIX_STDINT_C99_MODE_CHECK]: Remove.
* tests/base/sys/asm.h: Remove.
* tests/base/sys/socket.h [IRIX_SOCKLEN_T_CHECK]: Remove.
contrib:
* config-list.mk (LIST): Remove mips-sgi-irix6.5.
toplevel:
* MAINTAINERS (OS Port Maintainers): Remove irix.
* configure.ac (enable_libgomp): Remove *-*-irix6*.
(unsupported_languages): Remove mips-sgi-irix6.*.
(noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*.
(with_stabs): Remove.
* configure: Regenerate.
From-SVN: r185390
2012-03-14 16:33:37 +00:00
Rainer Orth
d47657bd1d
Fix sgi typos
...
libgcc:
* config/arm/crtn.S: Fix typo.
gcc/testsuite:
* ada/acats/tests/cd/cdd1001.a (CDD1001): Fix typo.
gcc:
* config/microblaze/microblaze.md: Fix typo.
* tree-if-conv.c: Likewise.
* tree-vect-patterns.c: Likewise.
From-SVN: r185325
2012-03-13 10:22:56 +00:00
Rainer Orth
5c30094f48
Remove obsolete Tru64 UNIX V5.1B support
...
libstdc++-v3:
* configure.host: Remove osf* handling.
* config/os/osf: Remove.
* doc/xml/manual/using.xml: Remove OSF reference.
* testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf*
handling.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
Likewise.
* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
* testsuite/23_containers/list/pthread1.cc: Likewise.
* testsuite/23_containers/list/pthread5.cc: Likewise.
* testsuite/23_containers/map/pthread6.cc: Likewise.
* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
Likewise.
* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
* testsuite/30_threads/async/42819.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/async/49668.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/async/any.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/async/async.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/async/launch.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/async/sync.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/call_once/39909.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/call_once/49668.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/future/cons/move.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/future/members/45133.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/future/members/get.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/future/members/get2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/future/members/share.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/future/members/valid.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/future/members/wait.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/lock/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/lock/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/lock/3.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/lock/4.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/promise/cons/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/promise/cons/move.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/promise/members/swap.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/this_thread/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/this_thread/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/this_thread/3.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/this_thread/4.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/3.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/4.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/5.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/6.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/7.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/8.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/9.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/members/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/members/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/members/3.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/members/4.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/members/5.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/thread/swap/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/try_lock/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/try_lock/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/try_lock/3.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/try_lock/4.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc:
Likewise.
* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/2.cc:
Likewise.
* libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc: Likewise.
* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
libobjc:
* configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
* configure: Regenerate.
* thr.c (_XOPEN_SOURCE): Define unconditionally.
libjava:
* configure.ac (alpha*-dec-osf*): Remove.
* configure: Regenerate.
* configure.host (alpha*-dec-osf*): Remove.
* gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption): Use
IPV6_MULTICAST_IF unconditionally.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
Likewise.
* gnu/java/net/natPlainSocketImplPosix.cc
(gnu::java::net::PlainSocketImpl::accept): Use ::accept instead of
_Jv_accept.
* include/posix-signal.h [__alpha__ && __osf__]: Remove.
* include/posix.h (_POSIX_PII_SOCKET): Don't define.
(_Jv_accept): Remove.
* java/io/File.java (File._access): Rename to access.
Change callers.
(File._stat): Likewise.
* java/io/File.h: Regenerate.
* classpath/lib/java/io/File.class: Regenerate.
* java/io/natFilePosix.cc (java::io::File::_access): Rename to
access.
(java::io::File::_stat): Rename to stat.
* java/io/natFileWin32.cc: Likewise.
* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
Remove alpha*-dec-osf* handling.
* testsuite/libjava.jvmti/jvmti-interp.exp
(gcj_jni_compile_c_to_so): Likewise.
* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o):
Likewise.
libitm:
* configure.tgt (*-*-osf*): Remove.
* configure: Regenerate.
libgomp:
* configure.tgt (alpha*-dec-osf*): Remove.
* config/osf/sem.h: Remove.
* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
libgfortran:
* configure.ac: Remove Tru64 reference.
* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove alpha*-dec-osf*
handling.
* configure: Regenerate.
* intrinsics/c99_functions.c [__osf__]: Remove.
libgcc:
* config.host: Remove alpha*-dec-osf5.1* handling.
* config/alpha/gthr-posix.c: Remove.
* config/alpha/libgcc-osf5.ver: Remove.
* config/alpha/osf5-unwind.h: Remove.
* config/alpha/t-osf-pthread: Remove.
* config/alpha/t-slibgcc-osf: Remove.
* config/t-crtfm (crtfastmath.o): Remove -frandom-seed.
* gthr-posix.h [!_REENTRANT && __osf__] (_REENTRANT): Don't define.
[__osf__ && _PTHREAD_USE_MANGLED_NAMES_]: Remove.
* mkmap-flat.awk: Remove osf_export handling.
gnattools:
* configure.ac: Remove alpha*-dec-osf* handling.
* configure: Regenerate.
gcc/testsuite:
* g++.dg/abi/rtti3.C: Remove alpha*-dec-osf* handling.
* g++.dg/abi/thunk4.C: Likewise.
* g++.dg/cdce3.C: Don't skip on*-dec-osf5*.
Adapt line numbers.
* g++.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
handling.
* g++.dg/cpp0x/constexpr-rom.C: Likewise.
* g++.dg/eh/spbp.C: Likewise.
* g++.dg/ext/label13.C: Likewise.
* g++.dg/guality/guality.exp: Likewise.
* g++.dg/other/anon5.C: Likewise.
* g++.dg/other/pragma-ep-1.C: Remove.
* g++.dg/warn/miss-format-1.C: Remove alpha*-dec-osf* handling.
* g++.dg/warn/pr31246.C: Likewise.
* g++.dg/warn/weak1.C: Likewise.
* g++.old-deja/g++.eh/badalloc1.C: Likewise.
* g++.old-deja/g++.ext/attrib5.C: Likewise.
* gcc.c-torture/compile/limits-declparen.c: Likewise.
* gcc.c-torture/compile/limits-pointer.c: Likewise.
* gcc.c-torture/execute/20001229-1.c: Remove __osf__ handling.
* gcc.dg/attr-weakref-1.c: Remove alpha*-dec-osf* handling.
* gcc.dg/c99-stdint-6.c: Remove alpha*-dec-osf5* handling.
* gcc.dg/c99-tgmath-1.c: Likewise.
* gcc.dg/c99-tgmath-2.c: Likewise.
* gcc.dg/c99-tgmath-3.c: Likewise.
* gcc.dg/c99-tgmath-4.c: Likewise.
* gcc.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
handling.
* gcc.dg/debug/pr49032.c: Likewise.
* gcc.dg/guality/guality.exp: Likewise.
* gcc.dg/intmax_t-1.c: Likewise.
* gcc.dg/pr48616.c: Likewise.
* gcc.dg/pragma-ep-1.c: Remove.
* gcc.dg/pragma-ep-2.c: Remove.
* gcc.dg/pragma-ep-3.c: Remove.
* gcc.dg/torture/pr47917.c: Remove alpha*-dec-osf5* handling.
* gcc.dg/tree-ssa/pr42585.c: Remove alpha*-dec-osf* handling.
* gcc.misc-tests/gcov-14.c: Likewise.
* gfortran.dg/guality/guality.exp: Likewise.
* lib/target-supports.exp (check_weak_available): Likewise.
(add_options_for_tls): Likewise.
(check_ascii_locale_available): Likewise.
* obj-c++.dg/dwarf-2.mm: Likewise.
* objc.dg/dwarf-1.m: Likewise.
* objc.dg/dwarf-2.m: Likewise.
gcc/c-family:
* c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
handling.
* c-pragma.c (handle_pragma_extern_prefix): Remove.
(init_pragma): Don't register extern_prefix.
gcc/po:
* EXCLUDES (mips-tdump.c, mips-tfile.c): Remove.
gcc:
* config.gcc (alpha*-dec-osf5.1*): Remove.
* config.host (alpha*-dec-osf*): Remove.
* configure.ac (*-*-osf*): Remove.
(alpha*-dec-osf*): Remove.
* configure: Regenerate.
* config/alpha/host-osf.c, config/alpha/osf5.h,
config/alpha/osf5.opt, config/alpha/va_list.h, config/alpha/x-osf:
Remove.
* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
* config/alpha/alpha.c (struct machine_function): Update comment.
(alpha_start_function): Remove Tru64 UNIX as handling for
max_frame_size.
* config/alpha/alpha.md ("exception_receiver"): Remove
TARGET_LD_BUGGY_LDGP.
("*exception_receiver_2"): Likewise.
* except.c (finish_eh_generation): Remove Tru64 reference.
* ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
* system.h (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Poison.
* target.def (handle_pragma_extern_prefix): Remove.
* Makefile.in (mips-tfile.o-warn): Remove.
(ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
(mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
* mips-tdump.c, mips-tfile.c: Remove.
* doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
extern_prefix.
* doc/install.texi (Binaries): Remove Tru64 UNIX reference.
(Specific, alpha*-dec-osf5.1): Note removal.
* doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
Remove.
* doc/tm.texi: Regenerate.
* doc/trouble.texi (Cross-Compiler Problems): Remove.
gcc/ada:
* gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
* a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
system-tru64.ads: Remove.
* adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
Remove.
[IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
* env.c [__alpha__ && __osf__]: Remove.
* gsocket.h (_OSF_SOURCE): Remove.
(HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
* init.c [__alpha__ && __osf__]: Remove.
* link.c [__osf__]: Remove.
* s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
[__osf__ && !_SS_MAXSIZE]: Remove.
* sysdep.c [__osf__]: Remove.
* terminals.c [__alpha__ && __osf__]: Remove.
[OSF1]: Remove.
* g-traceb.ads: Remove Tru64 reference.
* g-trasym.ads: Likewise.
* gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
(Summary of Run-Time Configurations): Likewise.
* memtrack.adb: Likewise.
fixincludes:
* inclhack.def (alpha___extern_prefix): Remove.
(alpha___extern_prefix_standards): Remove.
(alpha___extern_prefix_sys_stat): Remove.
(alpha_bad_lval): Remove.
(alpha_pthread): Remove.
(alpha_pthread_gcc): Remove.
(alpha_pthread_init): Remove.
* fixincl.x: Regenerate.
* tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: Remove.
[ALPHA_PTHREAD_GCC_CHECK]: Remove.
[ALPHA_PTHREAD_INIT_CHECK]: Remove.
* tests/base/standards.h: Remove.
* tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK]:
Remove.
* tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: Remove.
[ALPHA_BAD_LVAL_CHECK]: Remove.
contrib:
* config-list.mk (LIST): Remove alpha-dec-osf5.1.
config:
* weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove
alpha*-dec-osf*.
toplevel:
* MAINTAINERS (OS Port Maintainers): Remove osf.
* configure.ac (enable_libgomp): Remove *-*-osf*.
(with_stabs): Remove alpha*-*-osf*.
* configure: Regenerate.
From-SVN: r185240
2012-03-12 15:35:56 +00:00
Tristan Gingold
d8aba32a09
vms.opt: Add vms-opts.h header.
...
2012-03-12 Tristan Gingold <gingold@adacore.com>
* config/vms/vms.opt: Add vms-opts.h header.
(mmalloc64): Use flag_vms_malloc64 flag instead of MALLOC64
target mask.
(-mvms-return-codes): Document.
(-mpointer-size): New option.
(vms_pointer_size): Add enumeration.
* config/vms/vms-opts.h: New file.
* config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
__INITIAL_POINTER_SIZE.
(POINTER_SIZE, SIZE_TYPE, PTRDIFF_TYPE): Adjust definition.
(C_COMMON_OVERRIDE_OPTIONS): Define.
(DWARF2_ADDR_SIZE): Define.
* config/vms/vms.c (vms_patch_builtins): Adjust condition.
* config/vms/vms-protos.h (vms_c_common_override_options):
New prototype.
* config/vms/vms-c.c (vms_pragma_pointer_size): Ignore pragma
if -mno-pointer-size.
(vms_c_common_override_options): New function.
* config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
* config/alpha/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
(MALLOC_ABI_ALIGNMENT): Use flag_vms_malloc64
and flag_vms_pointer_size.
(MASK_RETURN_ADDR): Set according to flag_vms_pointer_size.
* config.gcc (*-*-*vms*): Define xm_file.
(alpha*-dec-*vms*): Do not define xm_file.
(alpha64-dec-*vms*): Remove.
(ia64-hp-*vms*): Do not define xm_file. Simplify tm_file
and tmake_file.
libgcc/
2012-03-12 Tristan Gingold <gingold@adacore.com>
* config/alpha/t-vms: Define HOST_LIBGCC2_CFLAGS.
* config/ia64/t-vms: Likewise.
gcc/ada/
2012-03-12 Tristan Gingold <gingold@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
instead of TARGET_MALLOC64.
* gcc-interface/gigi.h (flag_vms_malloc64): Define instead
of TARGET_MALLOC64.
From-SVN: r185224
2012-03-12 11:58:16 +00:00
Walter Lee
ef6c2c5316
Rename some internal atomic macros to have a less generic prefix.
...
From-SVN: r185074
2012-03-07 20:05:52 +00:00
Georg-Johann Lay
4e30d980cb
re PR target/52507 ([avr]: movmem loop for __memx address space uses wrong loop label)
...
PR target/52507
* config/avr/lib1funcs.S (__movmemx_hi): Fix loop label in RAM-part.
From-SVN: r185033
2012-03-07 10:39:42 +00:00
Georg-Johann Lay
611082257d
re PR target/52505 ([avr]: __memx address space reading unintentionally from RAM)
...
libgcc/
PR target/52505
* config/avr/lib1funcs.S (__xload_1): Don't read unintentionally
from RAM.
gcc/
PR target/52505
* config/avr/avr.c (avr_out_xload): Don't read unintentionally
from RAM.
* config/avr/avr.md (xload_8): Adjust insn length.
From-SVN: r185031
2012-03-07 10:36:30 +00:00
Georg-Johann Lay
b30e10aba7
re PR target/52461 ([avr] XMEGA+EBI: RAMPZ clobbered while reading from flash)
...
libgcc/
PR target/52461
PR target/52508
* config/avr/lib1funcs.S (__do_copy_data): Clear RAMPZ after usage
if RAMPZ affects reading from RAM.
(__tablejump_elpm__): Ditto.
(.xload): Ditto.
(__movmemx_hi): Ditto.
(__do_global_ctors): Right condition for RAMPZ usage is "have ELPM".
(__do_global_dtors): Ditto.
(__xload_1, __xload_2, __xload_3, __xload_4): Ditto.
(__movmemx_hi): Ditto.
gcc/
PR target/52461
* gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
if RAMPZ affects reading from RAM.
From-SVN: r185030
2012-03-07 10:33:19 +00:00
Kai Tietz
fbd3340c7d
sfp-machine.h (_FP_STRUCT_LAYOUT): Define it for mingw-targets as attribute gcc_struct.
...
* config/i386/sfp-machine.h (_FP_STRUCT_LAYOUT): Define it
for mingw-targets as attribute gcc_struct.
From-SVN: r184641
2012-02-28 21:53:35 +01:00
Georg-Johann Lay
0253a8b165
re PR target/52261 ([avr] Add support for AVR Xmega cores)
...
PR target/52261
* config/avr/lib1funcs.S (__AVR__XMEGA__): Fix tippo to __AVR_XMEGA__.
From-SVN: r184522
2012-02-23 19:26:00 +00:00
Ulrich Weigand
e10e461eef
acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of HAVE_INITFINI_ARRAY to work around...
...
gcc/
* acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
HAVE_INITFINI_ARRAY to work around namespace pollution in
certain versions of newlib system headers.
* config.in: Regenerate.
* configure: Regenerate.
* config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
instead of HAVE_INITFINI_ARRAY.
libgcc/
* config/ia64/crtbegin.S: Use HAVE_INITFINI_ARRAY_SUPPORT
instead of HAVE_INITFINI_ARRAY.
* config/ia64/crtend.S: Likewise.
From-SVN: r184503
2012-02-23 10:16:39 +00:00
Richard Sandiford
78c2726669
mips.c (mips_need_mips16_rdhwr_p): New variable.
...
gcc/
* config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
(mips_get_tp): Set it. Record that __mips16_rdhwr binds locally.
(mips_start_unique_function, mips_output_mips16_rdhwr)
(mips_code_end): New functions.
(TARGET_ASM_CODE_END): Define.
libgcc/
* config.host (mips64*-*-linux*, mipsisa64*-*-linux*)
(mips*-*-linux*): Remove t-slibgcc-libgcc.
* config/mips/t-mips16 (LIB1ASMFUNCS): Remove __mips16_rdhwr.
* config/mips/mips16.S (__mips16_rdhwr): Delete.
From-SVN: r184380
2012-02-19 16:47:19 +00:00
Richard Sandiford
5adeb24686
mips.c (mips16_build_call_stub): Add CFI information to stubs with non-sibling calls.
...
gcc/
* config/mips/mips.c (mips16_build_call_stub): Add CFI information
to stubs with non-sibling calls.
libgcc/
* config/mips/mips16.S (CALL_STUB_RET): Add CFI information.
From-SVN: r184379
2012-02-19 16:44:54 +00:00
Iain Sandoe
672ed3139a
re PR libitm/52220 (FAIL: libitm.c++/eh-1.C execution test due to Xcode 4 weakref linker bug)
...
PR libitm/52220
* config/darwin-crt-tm.c: Correct typo.
From-SVN: r184305
2012-02-16 09:46:31 +00:00
Iain Sandoe
e948a1fbd4
re PR libitm/52220 (FAIL: libitm.c++/eh-1.C execution test due to Xcode 4 weakref linker bug)
...
libitm/
2012-02-15 Iain Sandoe <iains@gcc.gnu.org>
Patrick Marlier <patrick.marlier@gmail.com>
PR libitm/52220
* alloc_cpp.cc: No dummy definitions for darwin.
* eh_cpp.cc: Likewise.
libgcc/
2012-02-15 Iain Sandoe <iains@gcc.gnu.org>
Patrick Marlier <patrick.marlier@gmail.com>
PR libitm/52220
* config/darwin-crt-tm.c: Generate dummy functions.
Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>
From-SVN: r184293
2012-02-15 23:39:28 +00:00
Iain Sandoe
6017aed304
re PR libitm/52042 (libitm.c/clone-1.c (all darwin) and libitm.c/stackundo.c (darwin 11) execution tests fail with -fpie)
...
2012-02-15 Iain Sandoe <iains@gcc.gnu.org>
Patrick Marlier <patrick.marlier@gmail.com>
PR libitm/52042
* config/darwin-crt-tm.c (getTMCloneTable): New function.
(__doTMRegistrations): Call it.
(__doTMdeRegistrations): Likewise.
Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>
From-SVN: r184281
2012-02-15 19:17:42 +00:00
Georg-Johann Lay
2da8c1adcf
re PR target/52261 ([avr] Add support for AVR Xmega cores)
...
libgcc/
PR target/52261
* config/avr/lib1funcs.S (__prologue_saves__): Handle AVR_XMEGA
(__epilogue_restores__): Ditto.
gcc/
PR target/52261
* config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
avrxmega4, avrxmega5, avrxmega6, avrxmega7.
Rewrite initializers for .macro.
* config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
atxmega32d4, atxmega32x1.
avrxmega4: atxmega64a3, atxmega64d3.
avrxmega5: atxmega64a1, atxmega64a1u.
avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
avrxmega7: atxmega128a1, atxmega128a1u.
* config/avr/multilib.h: Regenerate.
* config/avr/t-multilib: Regenerate.
* config/avr/avr-tables.opt: Regenerate.
* config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
(struct base_arch_s): Rename reserved to xmega_p.
Rename reserved2 to have_rampd.
(AVR_XMEGA): New define.
(AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
(AVR_HAVE_RAMPZ): Change definition to fit xmega.
* config/avr/predicates.md (io_address_operand): Take into
account SFR offset.
(low_io_address_operand): Ditto.
(high_io_address_operand): Ditto.
* config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
(enabled, movhi_sp_r): Use them.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
cpp_define_formatted to built-in define __AVR_ARCH__.
(__AVR_XMEGA__): New built-in define.
(__AVR_HAVE_RAMPD__): New built-in define.
(__AVR_HAVE_RAMPX__): New built-in define.
(__AVR_HAVE_RAMPY__): New built-in define.
(__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
* config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
(avr_option_override): Initialize them.
(sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
(avr_init_expanders): Initialize them. No more block several calls.
(emit_push_sfr): New static function.
(avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
Handle AVR_XMEGA.
(expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
(avr_print_operand): Print addreeses as symbols for
RAMPX, RAMPY, RAMPD, CCP.
(output_movhi): Handle AVR_XMEGA when writing to SP.
(avr_out_movhi_mr_r_xmega): New static function.
(out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
(avr_file_start): Print symbol defines for __RAMPX__, __RAMPY__,
__RAMPD__, __CCP__ as needed.
Co-Authored-By: Anatoly Sokolov <aesok@post.ru>
Co-Authored-By: Eric Weddington <eric.weddington@atmel.com>
From-SVN: r184269
2012-02-15 13:15:56 +00:00
Eric Botcazou
0f952eb4cc
re PR target/51921 (EH unwinding support is broken)
...
PR target/51921
PR target/52205
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Add support for
Solaris 11 and slightly reformat.
(sparc_is_sighandler): Likewise.
From-SVN: r184255
2012-02-15 08:13:09 +00:00
Walter Lee
dd552284fd
Add ports for TILE-Gx and TILEPro.
...
.
* MAINTAINERS (tilegx port): Add myself.
(tilepro port): Add myself.
contrib
* config-list.mk (LIST): Add tilegx-linux-gnu and
tilepro-linux-gnu.
* gcc_update (gcc/config/tilegx/mul-tables.c): New dependencies.
(gcc/config/tilepro/mul-tables.c): New dependencies.
gcc
* config.gcc: Handle tilegx and tilepro.
* configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
tilegx and tilepro.
Add HAVE_AS_TLS check for tilegx and tilepro.
* configure: Regenerate.
* doc/contrib.texi: Add Mat Hostetter and self.
* doc/extend.texi (TILE-Gx Built-in Functions): New node.
Document instruction intrinsics and network accessing intrinsics.
(TILEPro Built-in Functions): New node. Document instruction
intrinsics and network accessing intrinsics.
* doc/install.texi (Specific, tilegx-*-linux*): Document it.
(Specific, tilepro-*-linux*): Likewise.
* doc/invoke.texi (TILE-Gx Options): New section.
(TILEPro Options): New section.
* doc/md.texi (TILE-Gx): New section.
(TILEPro): New section.
* common/config/tilegx: New directory for tilegx.
* common/config/tilepro: New directory for tilepro.
* config/tilegx: New directory for tilegx.
* config/tilepro: New directory for tilepro.
gcc/testsuite
* g++.dg/other/PR23205.C: Disable test on tile.
* g++.dg/other/pr23205-2.C: Disable test on tile.
* gcc.dg/20020312-2.c: Add a condition for __tile__.
* gcc.dg/20040813-1.c: Disable test on tile.
* gcc.dg/lower-subreg-1.c: Disable test on tilegx.
* gcc.misc-tests/linkage.exp: Handle tilegx.
libcpp
* configure.ac: Require 64-bit hwint for tilegx and tilepro.
* configure: Regenerate.
libgcc
* config.host: Handle tilegx and tilepro.
* config/tilegx: New directory for tilegx.
* config/tilepro: New directory for tilepro.
libgomp
* configure.tgt: Handle tilegx and tilepro.
* config/linux/tile: New directory for tilegx and tilepro.
Added:
trunk/gcc/common/config/tilegx/tilegx-common.c
trunk/gcc/common/config/tilepro/tilepro-common.c
trunk/gcc/config/tilegx/constraints.md
trunk/gcc/config/tilegx/linux.h
trunk/gcc/config/tilegx/mul-tables.c
trunk/gcc/config/tilegx/predicates.md
trunk/gcc/config/tilegx/sync.md
trunk/gcc/config/tilegx/t-tilegx
trunk/gcc/config/tilegx/tilegx-builtins.h
trunk/gcc/config/tilegx/tilegx-c.c
trunk/gcc/config/tilegx/tilegx-generic.md
trunk/gcc/config/tilegx/tilegx-modes.def
trunk/gcc/config/tilegx/tilegx-multiply.h
trunk/gcc/config/tilegx/tilegx-protos.h
trunk/gcc/config/tilegx/tilegx.c
trunk/gcc/config/tilegx/tilegx.h
trunk/gcc/config/tilegx/tilegx.md
trunk/gcc/config/tilegx/tilegx.opt
trunk/gcc/config/tilepro/constraints.md
trunk/gcc/config/tilepro/gen-mul-tables.cc
trunk/gcc/config/tilepro/linux.h
trunk/gcc/config/tilepro/mul-tables.c
trunk/gcc/config/tilepro/predicates.md
trunk/gcc/config/tilepro/t-tilepro
trunk/gcc/config/tilepro/tilepro-builtins.h
trunk/gcc/config/tilepro/tilepro-c.c
trunk/gcc/config/tilepro/tilepro-generic.md
trunk/gcc/config/tilepro/tilepro-modes.def
trunk/gcc/config/tilepro/tilepro-multiply.h
trunk/gcc/config/tilepro/tilepro-protos.h
trunk/gcc/config/tilepro/tilepro.c
trunk/gcc/config/tilepro/tilepro.h
trunk/gcc/config/tilepro/tilepro.md
trunk/gcc/config/tilepro/tilepro.opt
trunk/libgcc/config/tilegx/sfp-machine.h
trunk/libgcc/config/tilegx/sfp-machine32.h
trunk/libgcc/config/tilegx/sfp-machine64.h
trunk/libgcc/config/tilegx/t-crtstuff
trunk/libgcc/config/tilegx/t-softfp
trunk/libgcc/config/tilegx/t-tilegx
trunk/libgcc/config/tilepro/atomic.c
trunk/libgcc/config/tilepro/atomic.h
trunk/libgcc/config/tilepro/linux-unwind.h
trunk/libgcc/config/tilepro/sfp-machine.h
trunk/libgcc/config/tilepro/softdivide.c
trunk/libgcc/config/tilepro/softmpy.S
trunk/libgcc/config/tilepro/t-crtstuff
trunk/libgcc/config/tilepro/t-tilepro
trunk/libgomp/config/linux/tile/futex.h
Modified:
trunk/MAINTAINERS
trunk/contrib/config-list.mk
trunk/contrib/gcc_update
trunk/gcc/config.gcc
trunk/gcc/configure
trunk/gcc/configure.ac
trunk/gcc/doc/contrib.texi
trunk/gcc/doc/extend.texi
trunk/gcc/doc/install.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/doc/md.texi
trunk/gcc/testsuite/g++.dg/other/PR23205.C
trunk/gcc/testsuite/g++.dg/other/pr23205-2.C
trunk/gcc/testsuite/gcc.dg/20020312-2.c
trunk/gcc/testsuite/gcc.dg/20040813-1.c
trunk/gcc/testsuite/gcc.dg/lower-subreg-1.c
trunk/gcc/testsuite/gcc.misc-tests/linkage.exp
trunk/libcpp/configure
trunk/libcpp/configure.ac
trunk/libgcc/config.host
trunk/libgomp/configure.tgt
From-SVN: r184203
2012-02-14 10:02:21 +00:00
Chung-Lin Tang
6caf807fba
config.host (mips64*-*-linux*, [...]): Add t-slibgcc-libgcc to tmake_file.
...
libgcc/
2012-02-05 Chung-Lin Tang <cltang@codesourcery.com>
* config.host (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*):
Add t-slibgcc-libgcc to tmake_file.
* config/mips/libgcc-mips16.ver: Revert previous patch.
* config/mips/mips16.S (__mips16_rdhwr): Hide.
From-SVN: r183912
2012-02-05 15:03:15 +00:00
Sumanth G
b25364a0b9
Adding GCC port for National Semicondutor's CR16 architecture
...
Co-Authored-By: Jayant R Sonar <jayant.sonar@kpitcummins.com>
From-SVN: r183832
2012-02-02 10:20:32 +00:00
Alan Modra
8ef03aa785
t-linux64: Delete.
...
* config/rs6000/t-linux64: Delete. Move..
* config/rs6000/t-ppc64-fp: ..softfp_wrap defines to here..
* config/rs6000/t-linux: ..and libgcc flags to here.
From-SVN: r183491
2012-01-25 06:05:22 +10:30
Richard Sandiford
ddaf812593
mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
...
gcc/
2012-01-08 Chung-Lin Tang <cltang@codesourcery.com>
Richard Sandiford <rdsandiford@googlemail.com>
* config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
(SYMBOL_32_HIGH): Likewise.
(mips_output_tls_reloc_directive): Declare.
* config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
(mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
* config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
(mips_lo_relocs, mips_hi_relocs): Make extern.
(mips16_stub_function): Move up file.
(mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
(mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too.
(mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p.
(mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead
of SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1
if it's false.
(mips_get_tp): Add MIPS16 support.
(mips_legitimize_tls_address): Remove MIPS16 sorry().
Generalize DTPREL and TPREL handling.
(mips_init_relocs): Initialize mips_use_pcrel_pool_p.
Add MIPS16 TLS support.
(mips_output_tls_reloc_directive): New function.
(mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
* config/mips/predicates.md (symbolic_operand_with_high)
(tls_reloc_operand): New predicates.
(force_to_mem_operand): Use mips_use_pcrel_pool_p.
* config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
(PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
(*unshifted_high): New instruction. Use it for MIPS16
high splitter.
(consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
(*tls_get_tp_mips16_call_<mode>): Likewise.
gcc/testsuite/
* gcc.target/mips/code-readable-2.c: Allow the jump table address
to be loaded from the constant pool, rather than via %hi and %lo.
libgcc/
2012-01-08 Chung-Lin Tang <cltang@codesourcery.com>
Richard Sandiford <rdsandiford@googlemail.com>
* config/mips/libgcc-mips16.ver (__mips16_rdhwr): Add.
* config/mips/mips16.S (__mips16_rdhwr): New function.
* config/mips/t-mips16 (LIB1ASMFUNCS): Add _m16rdhwr.
From-SVN: r183195
2012-01-15 18:22:55 +00:00
Georg-Johann Lay
cba300dd7d
re PR target/49868 (Implement named address space to place/access data in flash memory)
...
libgcc/
PR target/49868
Extend __pgmx semantics to linearize memory.
* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_1, _movmemx.
* config/avr/lib1funcs.S (__xload_1): New function.
(__movmemx_qi, __movmemx_hi): New functions.
(__xload_2, __xload_3, __xload_4): Rewrite to fit new __pgmx
semantics.
gcc/
PR target/49868
Extend __pgmx semantics to linearize memory.
* config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
determine if code comes inline or from libgcc.
(MOVMEM_r_d:HI): Add "w" to constraint for better preference.
(movmem_qi, movmem_qi): Set constraint #2 to "n".
(movmem_qi_elpm, movmem_hi_elpm): Remove insns.
(movmemx_qi, movmemx_hi): New insns.
(xload_<mode>_libgcc): Rewrite to new insn condition.
(xload_<mode>): Remove insns.
* config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
cases that don't satisfy avr_xload_libgcc_p().
(avr_addr_space_convert): Allow converting in any direction.
(avr_addr_space_subset_p): Return always true.
(avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
(avr_emit_movmemhi): Ditto.
(avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
(avr_out_movmem): Ditto.
(AVR_SYMBOL_FLAG_PROGMEM): New macro.
(AVR_SYMBOL_SET_ADDR_SPACE): New macro.
(AVR_SYMBOL_GET_ADDR_SPACE): New macro.
(avr_encode_section_info): Encode 'progmem' in symbol flags.
(output_reload_in_const): Don't zero-extend any 24-bit symbols.
From-SVN: r183058
2012-01-10 09:42:10 +00:00
Eric Botcazou
3d137660a5
sol2-unwind.h (sparc64_is_sighandler): Check that the purported sigacthandler address isn't null before dereferencing it.
...
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the
purported sigacthandler address isn't null before dereferencing it.
(sparc_is_sighandler): Likewise.
From-SVN: r183020
2012-01-09 18:20:55 +00:00
Eric Botcazou
bf4db96c93
re PR ada/41929 (64-bit null_pointer_deref1 gnat.dg test consumes all available memory)
...
PR ada/41929
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove SAVPC and
add CFA. Revert back to old code for Solaris 8+ multi-threaded.
(sparc_is_sighandler): Likewise.
(MD_FALLBACK_FRAME_STATE_FOR): Adjust call to IS_SIGHANDLER.
From-SVN: r183005
2012-01-09 09:50:19 +00:00
Tristan Gingold
1ab3568bd5
t-ia64 (LIB1ASMFUNCS): Move backward compatibility thunks...
...
2012-01-06 Tristan Gingold <gingold@adacore.com>
* config/ia64/t-ia64 (LIB1ASMFUNCS): Move backward
compatibility thunks...
(CUSTOM_CRTSTUFF, crtbegin.o, crtend.o)
(crtbeginS.o, crtendS.o): ... and these to ...
* config/ia64/t-ia64-elf: ... this new file.
* config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64*-*-linux*)
(ia64*-*-hpux*): Add ia64/t-ia64-elf in tmake_file.
From-SVN: r182952
2012-01-06 13:43:03 +00:00
Andreas Krebbel
925b0ed821
re PR bootstrap/51734 (Bootstrap fails in libada)
...
config/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR bootstrap/51734
* picflag.m4: Remove s390 case statement.
gcc/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
libada/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
libgcc/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
* config/s390/t-crtstuff: Remove -fPIC.
libiberty/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
From-SVN: r182868
2012-01-04 11:41:06 +00:00
Georg-Johann Lay
884f56d1e1
re PR target/51345 ([avr] Devices with 8-bit SP need their own multilib(s))
...
contrib/
PR target/51345
* gcc_update (files_and_dependencies): Add
gcc/config/avr/t-multilib, gcc/config/avr/multilib.h.
libgcc/
PR target/51345
* config/avr/lib1funcs.S: Remove FIXME comments.
(SPEED_DIV): Depend on __AVR_HAVE_8BIT_SP__.
gcc/
PR target/51345
* config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
(tmake_file target=avr): Add avr/t-multilib.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
* config/avr/genmultilib.awk: New file.
* config/avr/t-multilib: New auto-generated file.
* config/avr/multilib.h: New auto-generated file.
* config/avr/t-avr (AVR_MCUS): New variable.
(genopt.sh): Use it.
(s-mlib): Depend on t-multilib.
(t-multilib, multilib.h): New dependencies.
(s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
(MULTILIB_OPTIONS): Remove.
(MULTILIB_MATCHES): Remove.
(MULTILIB_DIRNAMES): Remove.
(MULTILIB_EXCEPTIONS): Remove:
* config/avr/genopt.sh: Don't use hard coded file name;
pass AVR_MCUS from t-avr instead.
From-SVN: r182797
2012-01-02 12:51:57 +00:00
Georg-Johann Lay
8c57e5473e
Implement light-weight DImode support.
...
gcc/
Implement light-weight DImode support.
* config/avr/avr-dimode.md: New file.
* config/avr/avr.md: Include it.
(adjust_len): Add plus64, compare64.
(HIDI): Remove code iterator.
(code_stdname): New code attribute.
(rotx, rotsmode): Remove DI.
(rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
as code iterator.
* config/avr/avr-protos.h (avr_have_dimode): New.
(avr_out_plus64, avr_out_compare64): New.
* config/avr/avr.c (avr_out_compare): Handle DImode.
(avr_have_dimode): New variable definition and initialization.
(avr_out_compare64, avr_out_plus64): New functions.
(avr_out_plus_1): Use simplify_unary_operation to negate xval.
(adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
(avr_compare_pattern): Skip DImode comparisons.
libgcc/
Implement light-weight DImode support.
* config/avr/t-avr (LIB1ASMFUNCS): Add _adddi3, _adddi3_s8,
_subdi3, _cmpdi2, _cmpdi2_s8, _rotldi3.
* config/avr/lib1funcs.S (__adddi3, __adddi3_s8, __subdi3,
__cmpdi2, __cmpdi2_s8, __rotldi3): New functions.
From-SVN: r182794
2012-01-02 12:30:56 +00:00
Ian Lance Taylor
c9312a37c6
* config/i386/morestack.S: Simplify CFI opcodes throughout.
...
From-SVN: r182609
2011-12-22 00:09:39 +00:00
Tristan Gingold
8e1d97d43b
fde-vms.c (UNW_IVMS_MODE): Define.
...
2011-12-21 Tristan Gingold <gingold@adacore.com>
* config/ia64/fde-vms.c (UNW_IVMS_MODE): Define.
From-SVN: r182568
2011-12-21 08:52:47 +00:00
Ian Lance Taylor
a0c8d0c1e3
morestack.S (__morestack_non_split): If there is enough stack space already, don't split.
...
* config/i386/morestack.S (__morestack_non_split): If there is
enough stack space already, don't split. Ask for more stack space
than we required.
From-SVN: r182555
2011-12-20 22:34:30 +00:00
Uros Bizjak
1bb4b6a35a
linux-unwind.h: Update copyright years.
...
* config/alpha/linux-unwind.h: Update copyright years.
(MD_FROB_UPDATE_CONTEXT): New define.
(alpha_frob_update_context): New function.
From-SVN: r182522
2011-12-20 09:46:38 +01:00
Iain Sandoe
6a2045bfd3
rs6000.c (rs6000_emit_prologue): Move update of VRSave mask to save_world() when that is in use.
...
gcc:
* config/rs6000/rs6000.c (rs6000_emit_prologue): Move update of
VRSave mask to save_world() when that is in use.
libgcc:
* config/rs6000/darwin-world.S (toplevel): Make it clear that this
function is not used for PPC64.
(save_world): Amend comments. Update the VRsave mask to reflect the
saved regs.
(rest_world): Update comments, do not clobber r10, do not use r8.
(eh_rest_world_r10): Amend comments, do not use r8.
(rest_world_eh_r7r8): Rename as local Lrest_world_eh_r7, since r8 is
no longer used, move restore of CR and target address to the end of
the routine.
From-SVN: r182376
2011-12-15 15:52:08 +00:00
Georg-Johann Lay
d7288dfb9f
re PR target/50931 ([avr] Support a 24-bit scalar integer mode)
...
libgcc/
PR target/50931
* config/avr/t-avr (LIB1ASMSRC): Add _mulpsi3, _mulsqipsi3.
* config/avr/lib1funcs.S (__mulpsi3, __mulsqipsi3): New functions.
gcc/
PR target/50931
* config/avr/avr.md (mulpsi3): New expander.
(*umulqihipsi3, *umulhiqipsi3): New insns.
(*mulsqipsi3.libgcc, *mulpsi3.libgcc): New insns.
(mulsqipsi3, *mulpsi3): New insn-and-splits.
(ashlpsi3): Turn to expander. Move insn code to...
(*ashlpsi3): ...this new insn.
testsuite/
PR target/50931
* gcc.target/avr/torture/int24-mul.c: New testcase.
From-SVN: r182328
2011-12-14 10:00:56 +00:00
Eric Botcazou
8d2c862dfe
* config/sparc/sol2-unwind.h: Use #ifdef directive consistently.
...
From-SVN: r182204
2011-12-11 11:23:15 +00:00
Georg-Johann Lay
3447cae6cc
re PR target/49313 (Inefficient libgcc implementations for avr)
...
PR target/49313
* config/avr/t-avr (LIB1ASMFUNCS): Add _muldi3.
* config/avr/lib1funcs.S (__muldi3): New function.
From-SVN: r182160
2011-12-09 12:02:06 +00:00
Georg-Johann Lay
28c5e6b58f
Forward-port from gcc-4_6-branch r181936 2011-12-02.
...
libgcc/
Forward-port from gcc-4_6-branch r181936 2011-12-02.
PR target/51345
PR target/51002
* config/avr/lib1funcs.S (__prologue_saves__,
__epilogue_restores__, __divdi3_moddi3): Enclose parts using
__SP_H__ in !defined (__AVR_HAVE_8BIT_SP__). Add FIXME comments.
gcc/
Forward-port from gcc-4_6-branch r181936 2011-12-02.
PR target/51002
* config/avr/avr.md (movhi_sp_r): Set insn condition to
!AVR_HAVE_8BIT_SP.
* config/avr/avr.c (output_movhi): Use "clr%B0" instead of "in
%B0,__SP_H__" if AVR_HAVE_8BIT_SP.
(avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.
From-SVN: r182052
2011-12-06 15:04:09 +00:00
Iain Sandoe
8f90394af7
t-darwin64 (LIB2ADD): Add fp and gp save routines.
...
libgcc:
* config/rs6000/t-darwin64 (LIB2ADD): Add fp and gp save routines.
From-SVN: r181991
2011-12-04 15:46:28 +00:00
John David Anglin
06dd33ac5e
re PR other/51272 (ld: Unsatisfied symbol "_ITM_registerTMCloneTable" in file /test/gnu/gcc/objdir/)
...
PR other/51272
* config/pa/stublib.c (_ITM_registerTMCloneTable): New stub.
(_ITM_deregisterTMCloneTable): Likewise.
(__register_frame_info): Fix unused warning.
(__deregister_frame_info, __cxa_finalize, _Jv_RegisterClasses,
pthread_default_stacksize_np): Likewise.
* config/pa/t-stublib (LIBGCCSTUB_OBJS): Add new objects and rules.
From-SVN: r181870
2011-12-01 02:37:06 +00:00
DJ Delorie
85b8555ed3
.
...
* configure.ac (rl78-*-*) New case.
* configure: Regenerate.
* MAINTAINERS: Add myself as RL78 maintainer.
libgcc
* config.host (rl78-*-elf): New case.
* config/rl78: New directory for the Renesas RL78.
gcc
* config.gcc (rl78-*-elf): New case.
* doc/extend.texi: Add RL78 documentation.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.
* doc/contrib.texi: Add RL78.
* doc/install.texi: Add rl78-*-elf.
* config/rl78: New directory for the Renesas RL78.
contrib
* config-list.mk (LIST): Add rl78-elf.
From-SVN: r181819
2011-11-29 16:36:43 -05:00
Rainer Orth
f9c55897eb
Cleanup rs6000/t-ppccomm configurations (PR other/51022)
...
PR other/51022
* config/rs6000/t-savresfgpr: New file.
* config/rs6000/t-ppccomm (LIB2ADD_ST): Remove all but
$(srcdir)/config/rs6000/eabi.S.
* config/rs6000/t-ppccomm-ldbl: Remove.
* config.host (powerpc-*-freebsd*): Add rs6000/t-savresfgpr to
tmake_file.
(powerpc-*-eabispe*): Likewise.
(powerpc-*-eabi*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add rs6000/t-ppccomm
to tmake_file, remove rs6000/t-ppccomm-ldbl.
(powerpc-*-eabisimaltivec*): Remove rs6000/t-ppccomm-ldbl from
tmake_file.
(powerpc-*-eabisim*): Likewise.
(powerpc-*-elf*): Likewise.
(powerpc-*-eabialtivec*): Likewise.
(powerpc-xilinx-eabi*): Likewise.
(powerpc-*-rtems*): Likewise.
(powerpcle-*-elf*): Likewise.
(powerpcle-*-eabisim*): Likewise.
(powerpcle-*-eabi*): Likewise.
From-SVN: r181782
2011-11-28 16:02:10 +00:00
Iain Sandoe
2b0b8ab2a6
darwin-crt-tm.c: Correct comments, use correct licence.
...
libgcc:
* config/darwin-crt-tm.c: Correct comments, use correct licence.
From-SVN: r181765
2011-11-27 13:57:01 +00:00
Iain Sandoe
c1d8101c1d
darwin-crt-tm.c: Remove dummy _ITM_ functions.
...
libgcc:
* config/darwin-crt-tm.c: Remove dummy _ITM_ functions.
From-SVN: r181764
2011-11-27 13:52:49 +00:00
Richard Henderson
8b281334a0
m68k-linux: Implement atomic operations via syscall.
...
libgcc/
* config/m68k/linux.h (TARGET_INIT_LIBFUNCS): New.
* config/m68k/m68k.c (m68k_init_sync_libfuncs): New.
gcc/
* config/m68k/linux-atomic.c: New file.
* config/m68k/t-linux: New file.
* config.host (m68k-uclinux, m68k-linux): Use it.
From-SVN: r181746
2011-11-26 15:57:37 -08:00
Iain Sandoe
e2362f5de0
darwin.h (ENDFILE_SPEC): New.
...
gcc:
* config/darwin.h (ENDFILE_SPEC): New.
(DARWIN_CRT1_SPEC): Add crttms.o.
(STARTFILE_SPEC): Likewise for dynamic libs and bundles.
* config/i386.h (ENDFILE_SPEC): Amend to include crttme.o.
libgcc:
* config/darwin-crt-tm.c: New file.
* config.host (darwin): Build crttms.o crttme.o to provide
startup and shutdown for tm clones.
* config/t-darwin (crttms.o): New build rule.
(crttme.o): Likewise.
From-SVN: r181616
2011-11-22 13:51:07 +00:00
Rainer Orth
d4b4b54263
Fix LIB2ADD overrides in libgcc
...
* config.host (iq2000*-*-elf*): Add iq2000/t-iq2000 to tmake_file.
(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add to tmake_file.
(powerpc-*-lynxos*): Add rs6000/t-lynx to tmake_file.
* config/i386/t-darwin64: Remove.
* config/sh/t-netbsd (LIB2ADD): Remove.
From-SVN: r181587
2011-11-21 16:13:13 +00:00
Georg-Johann Lay
989bdb7461
re PR target/49313 (Inefficient libgcc implementations for avr)
...
PR target/49313
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _moddi3, _umoddi3.
(LIB1ASMFUNCS): Add _divdi3, _udivdi3, _udivmod64, _negdi2.
* config/avr/lib1funcs.S (wmov): New assembler macro.
(__umoddi3, __udivdi3, __udivdi3_umoddi3): New functions.
(__moddi3, __divdi3, __divdi3_moddi3): New functions.
(__udivmod64): New function.
(__negdi2): New function.
From-SVN: r181551
2011-11-21 08:56:44 +00:00
Georg-Johann Lay
7bc6df2ca1
re PR target/49868 (Implement named address space to place/access data in flash memory)
...
gcc/
PR target/49868
* config/avr/avr.h (base_arch_s): Add field n_segments.
(ADDR_SPACE_PGM1, ADDR_SPACE_PGM2, ADDR_SPACE_PGM3,
ADDR_SPACE_PGM4, ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): New address spaces.
(AVR_HAVE_ELPM, AVR_HAVE_ELPMX): New defines.
(INIT_EXPANDERS): New define.
* config/avr/avr-protos.h (avr_mem_pgmx_p): New.
(avr_init_expanders): New.
(avr_emit_movmemhi, avr_out_movmem): New.
(avr_xload_libgcc_p): New.
* config/avr/avr-c.c (avr_register_target_pragmas): Register
address spaces __pgm1, __pgm2, __pgm3, __pgm4 __pgm5, __pgmx.
(avr_cpu_cpp_builtins): Add built-in defines __PGM1,
__PGM2, __PGM3, __PGM4, __PGM5, __PGMX.
* config/avr/avr-devices.c (avr_arch_types): Set field n_segments.
* config/avr/avr.c (AVR_SECTION_PROGMEM): Change define to cover
3 bits instead of just 1.
(xstring_empty, xstring_e, rampz_rtx): New static GTYed variables.
(progmem_section): Change from section to array of sections.
(progmem_section_prefix): New static variable.
(avr_file_start): Print set for __RAMPZ__
(avr_option_override): Move initialization of RTXes from here...
(avr_init_expanders): ...to this new function.
(avr_pgm_segment): New static function.
(avr_decl_pgm_p): Handle error_mark_node.
(avr_mem_pgmx_p, avr_decl_pgmx_p): New static functions.
(avr_out_xload, avr_find_unused_d_reg): New static functions.
(expand_prologue, expand_epilogue): Use rampz_rtx.
(print_operand): Hande CONST_STRING.
(avr_xload_libgcc_p): New static function.
(avr_out_lpm_no_lpmx, avr_out_lpm): Handle ELPM.
(avr_progmem_p): Return 2 for 24-bit flash address space.
(avr_out_sbxx_branch): Clean-up code from ASn macros.
(out_movqi_r_mr, out_movqi_mr_r): Ditto. And recognize RAMPZ's
address and print symbolically.
(avr_asm_named_section, avr_section_type_flags,
avr_encode_section_info, avr_asm_select_section,
avr_addr_space_address_mode, avr_addr_space_pointer_mode,
avr_addr_space_legitimate_address_p, avr_addr_space_convert,
avr_addr_space_legitimize_address): Handle new address spaces.
(avr_output_progmem_section_asm_op): New static function.
(avr_asm_init_sections): Initialize progmem_section[].
(adjust_insn_length): Handle ADJUST_LEN_XLOAD, ADJUST_LEN_MOVMEM.
(avr_const_address_lo16): New static function.
(avr_assemble_integer): Use it to handle 3-byte integers.
(avr_emit_movmemhi, avr_out_movmem): New functions.
* config/avr/predicates.md (nox_general_operand): Handle new
address spaces.
* config/avr/avr.md (unspec): Add UNSPEC_MOVMEM.
(adjust_len): Add xload, movmem.
(SP_ADDR): New define_constants.
(isa): Add "lpm", "lpmx", "elpm", "elpmx".
(enabled): Handle them.
(load<mode>_libgcc): New expander.
(*load.<mode>.libgcc): Rename to load_<mode>_libgcc.
(xload8_A, xload<mode>_A): New insn-and-splits.
(xload_8, xload_<mode>_libgcc, xload_<mode>, loadmem_elpm): New insns.
(mov<mode>): Handle new address spaces.
(movmemhi): Rewrite using avr_emit_movmemhi.
(MOVMEM_r_d): New mode attribute.
(movmem_<mode>, movmem_qi_elpm): New insns.
(setmemhi, *clrmemqi, *clrmemhi, strlenhi, *strlenhi): Unquote
C-code. Use label instead of hard-coded instrunction lengths.
libgcc/
PR target/49868
* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_2 _xload_3 _xload_4.
* config/avr/lib1funcs.S (__xload_2, __xload_3, __xload_4):
New functions.
From-SVN: r181482
2011-11-18 16:44:00 +00:00
Matthew Gretton-Dann
425d737b36
lib1funcs.asm (udivsi3): Add support for divide functions.
...
2011-11-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* config/arm/lib1funcs.asm (udivsi3): Add support for divide
functions.
(aeabi_uidivmod): Likewise.
(umodsi3): Likewise.
(divsi3): Likewise.
(aeabi_idivmod): Likewise.
(modsi3): Likewise.
From-SVN: r181419
2011-11-16 18:02:12 +00:00
Tristan Gingold
f2a176dcf5
qrnnd.S: Use specific pseudos for VMS.
...
2011-11-16 Tristan Gingold <gingold@adacore.com>
* config/alpha/qrnnd.S: Use specific pseudos for VMS.
From-SVN: r181403
2011-11-16 08:36:46 +00:00
Georg-Johann Lay
7c20948114
re PR target/49868 (Implement named address space to place/access data in flash memory)
...
gcc/
PR target/49868
* config/avr/avr.h (ADDR_SPACE_PGM): New address spaces.
(REGISTER_TARGET_PRAGMAS): New define.
* config/avr/avr-protos.h (avr_mem_pgm_p): New.
(avr_load_libgcc_p): New.
(asm_output_external_libcall): Remove.
(avr_register_target_pragmas): New.
(avr_log_t): Add field "progmem". Order alphabetically.
* config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem.
* config/avr/avr-c.c (langhooks.h): New include.
(avr_register_target_pragmas): New function. Register address
space __pgm.
(avr_cpu_cpp_builtins): Add built-in define __PGM.
* config/avr/avr.c: Include "c-family/c-common.h".
(TARGET_LEGITIMATE_ADDRESS_P): Remove define.
(TARGET_LEGITIMIZE_ADDRESS): Remove define.
(TARGET_ADDR_SPACE_SUBSET_P): Define to...
(avr_addr_space_subset_p): ...this new static function.
(TARGET_ADDR_SPACE_CONVERT): Define to...
(avr_addr_space_convert): ...this new static function.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Define to...
(avr_addr_space_address_mode): ...this new static function.
(TARGET_ADDR_SPACE_POINTER_MODE): Define to...
(avr_addr_space_pointer_mode): ...this new static function.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to...
(avr_addr_space_legitimate_address_p): ...this new static function.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to...
(avr_addr_space_legitimize_address): ...this new static function.
(avr_mode_code_base_reg_class): Handle address spaces.
(avr_regno_mode_code_ok_for_base_p): Ditto.
(lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables.
(avr_option_override): Initialize them.
(output_reload_in_const): Use all_regs_rtx. Fix signedness of loop
variables.
(avr_pgm_segment): New static function.
(avr_decl_pgm_p, avr_mem_pgm_p): New static functions.
(avr_out_lpm, avr_out_lpm_no_lpmx): New static functions.
(output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call
avr_out_lpm to handle loads from progmem.
(avr_load_libgcc_p): New static function.
(avr_progmem_p): Test if decl is in flash.
(avr_pgm_pointer_const_p): New static function.
(avr_nonconst_pointer_addrspace): New static function.
(avr_pgm_check_var_decl): New static function.
(avr_insert_attributes): Use it. Change error message to report
cause (progmem or address space) when code wants to write to flash.
(avr_section_type_flags): Unset section flag SECTION_BSS for
data in progmem.
* config/avr/predicates.md (nop_general_operand): New predicate.
(nox_general_operand): New predicate.
* config/avr/avr.md (LPM_REGNO): New define_constant.
(load<mode>_libgcc): New expander.
(*load.<mode>.libgcc): New insn.
(mov<mode>): Handle loads from non-generic AS.
(movmemhi): Ditto. Propagate address space information to newly
created MEM.
(movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1
to nox_general_operand.
(ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to nop_general_operand.
(ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto.
(lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto.
(split-lpmx): New split.
(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
*lshrhi3_const, *lshrsi3_const): Indent, unquote C.
libgcc/
PR target/49868
* config/avr/t-avr (LIB1ASMFUNCS): Add _load_3, _load_4.
* config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions.
From-SVN: r181378
2011-11-15 09:01:46 +00:00
John David Anglin
9dfd583288
config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.
...
* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
tmake_file list.
* config/pa/t-stublib: Merge rules from config/pa/t-stublib64.
* config/pa/t-stublib64: Delete.
From-SVN: r181339
2011-11-13 20:17:01 +00:00
Richard Henderson
f77dca5d23
ppc-linux: Fix call to _Unwind_SetGRPtr
...
* config/rs6000/linux-unwind.h (frob_update_context): Properly
cast the pointer argument to _Unwind_SetGRPtr.
From-SVN: r181325
2011-11-12 09:20:58 -08:00
Rainer Orth
902828f01c
Fix SPU libgcc build
...
* config/spu/t-elf (LIB2ADD): Use LIB2FUNCS_EXCLUDE instead.
From-SVN: r181291
2011-11-11 16:49:22 +00:00
Ian Lance Taylor
e14304eff5
generic-morestack.c: Include <string.h>.
...
libgcc/:
* generic-morestack.c: Include <string.h>.
(uintptr_type): Define.
(struct initial_sp): Add dont_block_signals field. Reduce size of
extra array by 1.
(allocate_segment): Set prev field to NULL. Don't set
__morestack_current_segment or __morestack_segments.
(__generic_morestack): Update current->prev and *pp after calling
allocate_segment.
(__morestack_block_signals): Don't do anything if
dont_block_signals is set.
(__morestack_unblock_signals): Likewise.
(__generic_findstack): Check for initial_sp == NULL. Add casts to
uintptr_type.
(__splitstack_block_signals): New function.
(enum __splitstack_content_offsets): Define.
(__splitstack_getcontext, __splitstack_setcontext): New functions.
(__splitstack_makecontext): New function.
(__splitstack_block_signals_context): New function.
(__splitstack_find_context): New function.
* config/i386/morestack.S (__morestack_get_guard): New function.
(__morestack_set_guard, __morestack_make_guard): New functions.
* libgcc-std.ver.in: Add new functions to GCC_4.7.0.
gcc/testsuite/:
* lib/target-supports.exp (check_effective_target_ucontext_h): New
procedure.
* gcc.dg/split-5.c: New test.
From-SVN: r181234
2011-11-09 20:06:31 +00:00
Rainer Orth
e55cef40ed
Build softfp for c6x
...
* config/c6x/t-elf (LIB2ADD): Add instead of assigning.
From-SVN: r181173
2011-11-08 16:50:37 +00:00
Georg-Johann Lay
74155a6f37
re PR target/49313 (Inefficient libgcc implementations for avr)
...
PR target/49313
* config/avr/lib1funcs.S (__divmodhi4, __divmodsi4): Tweak speed.
From-SVN: r181104
2011-11-07 18:08:35 +00:00
Rainer Orth
200feb074b
Append to HOST_LIBGCC2_CFLAGS in libgcc
...
* config.host (tmake_file): Correct comment.
(bfin*-elf*): Remove bfin/t-elf from tmake_file, add
t-libgcc-pic.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(xstormy16-*-elf): Add stormy16/t-stormy16 to tmake_file.
* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Append instead of
assigning.
* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Likewise.
* config/c6x/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/h8300/t-h8300 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/lm32/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/m32r/t-m32r (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mips/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Likewise.
* config/pdp11/t-pdp11 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/picochip/t-picochip (HOST_LIBGCC2_CFLAGS): Likewise.
* config/stormy16/t-stormy16 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/t-openbsd-thread (HOST_LIBGCC2_CFLAGS): Likewise.
* config/bfin/t-elf: Remove.
* config/t-vxworks (HOST_LIBGCC2_CFLAGS): Remove.
From-SVN: r181098
2011-11-07 17:14:32 +00:00
Rainer Orth
c9cd1a07b0
Consistently use t-rtems in libgcc
...
* config.host (*-*-rtems*): Add t-rtems to tmake_file.
(i[34567]86-*-rtems*): Remove t-rtems from tmake_file.
(lm32-*-elf*, lm32-*-rtems*): Split into ...
(lm32-*-elf*): ... this.
(lm32-*-rtems*): ... and this.
Add to tmake_file.
(m32r-*-rtems*): Add to tmake_file.
(moxie-*-rtems*): Likewise.
(sparc-*-rtems*): Likewise.
Remove t-rtems from tmake_file.
(sparc64-*-rtems*): Likewise.
* config/t-rtems (HOST_LIBGCC2_CFLAGS): Use LIBGCC2_INCLUDES
instead.
From-SVN: r181097
2011-11-07 17:12:33 +00:00
Rainer Orth
9fbcc75d56
Return gthr-posix.h to libgcc (PR bootstrap/50982)
...
libgcc:
PR bootstrap/50982
* config/gthr-posix.h: Move ...
* gthr-posix.h: ... here.
* config/gthr-lynx.h: Reflect this.
* config/gthr-vxworks.h: Likewise.
* config/rs6000/gthr-aix.h: Likewise.
* configure.ac (target_thread_file): Likewise.
* configure: Regenerate.
libstdc++-v3:
PR bootstrap/50982
* include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect
gthr-posix.h move.
* include/Makefile.in: Regenerate.
From-SVN: r181095
2011-11-07 16:34:31 +00:00
Joern Rennecke
feeeff5cfe
config.gcc (epiphany-*-*): New architecture.
...
gcc:
* config.gcc (epiphany-*-*): New architecture.
(epiphany-*-elf): New configuration.
* config/epiphany, common/config/epiphany : New directories.
* doc/extend.texi (disinterrupt attribute): Add Epiphany.
(interrupt attribute): Add Epiphany.
(long_call, short_call attribute): Add Epiphany.
* doc/invoke.texi (Options): Add Epiphany options.
* doc/md.texi (Machine Constraints): Add Epiphany constraints.
* doc/install.texi (Options specification):
Add --with-stack-offset=@var{num} description.
(host/target specific issues): Add epiphany-*-elf.
* doc/contrib.texi (Contributors): Mention Epiphany port.
gcc/testsuite:
* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
Disable test on Epiphany.
* gcc.c-torture/execute/20101011-1.c: Disable test on Epiphany.
* gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
* gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
* g++.dg/parse/pragma3.C: Likewise.
* stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
(bar): Use it.
* gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
* gcc.dg/tls/thr-cse-1.c: Likewise.
* g++.dg/opt/devirt2.C: Likewise.
* gcc.dg/20020312-2.c [epiphany-*-*] (PIC_REG): Define.
* gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
* gcc.target/epiphany: New directory.
libgcc:
* config.host (epiphany-*-elf*): New configuration.
* config/epiphany: New Directory.
contrib:
* contrib-list.mk: Add Epiphany configurations.
From-SVN: r181016
2011-11-05 20:48:23 +00:00
Ralf Corsepius
d618bb2c86
config.host (avr-*-rtems*): Add config/avr/t-rtems.
...
2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
* config.host (avr-*-rtems*): Add config/avr/t-rtems.
* config/avr/t-rtems: New.
Filter out _exit from LIB1ASMFUNCS.
From-SVN: r181003
2011-11-05 05:45:12 +01:00
Andreas Krebbel
9a7f74222c
t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S variable.
...
2011-11-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S
variable.
From-SVN: r180976
2011-11-04 19:05:36 +00:00
Georg-Johann Lay
e4fe948a6e
re PR target/50931 ([avr] Support a 24-bit scalar integer mode)
...
gcc/
PR target/50931
* config/avr/avr-modes.def: New file defining PSImode.
* config/avr/avr-c.c (__INT24_MAX__, __INT24_MIN__,
__UINT24_MAX__): New built-in defines.
* config/avr/avr.md (adjust_len): Add tstpsi, mov24, reload_in24,
ashlpsi, ashrpsi, lshrpsi.
(QISO, QIDI, HISI, HIDI, MPUSH, rotx, rotsmode): Add PSI.
(MOVMODE): New mode iterator.
(movpsi): New expander.
(movqi, movhi, movsi, movsf, movpsi): Write as one using MOVMODE.
(*reload_inpsi, *movpsi): New insns.
(*reload_inpsi): New RTL peephole.
(addpsi3, *addpsi3_zero_extend.qi, *addpsi3_zero_extend.hi,
*addpsi3_sign_extend.hi): New insns.
(subpsi3, *subpsi3_zero_extend.qi, *subpsi3_zero_extend.hi,
*subpsi3_sign_extend.hi): New insns.
(divmodpsi4, udivmodpsi4): New define insn-and-split.
(*divmodpsi4_call, *udivmodpsi4_call): New insns.
(andpsi3, iorpsi3, xorpsi3): New insns.
(*rotlpsi2.1, *rotlpsi2.23): New insns.
(*rotw<mode>): Insn condition only allow even-sized modes.
(*rotb<mode>): Insn condition allows odd-sized modes.
(ashlpsi3, ashrpsi3, lshrpsi3, *addpsi3.lt0): New insns.
(negpsi2, one_cmplpsi2): New insns.
(extendqipsi2, extendhipsi2, extendpsisi2): New insns.
(zero_extendqipsi2, zero_extendhipsi2, zero_extendpsisi2): New
insn-and-splits.
(*cmppsi, *negated_tstpsi, *reversed_tstpsi): New insns.
(cbranchpsi4): New expander.
* config/avr/constraints.md (Ca3, Co3, Cx3): New constraints.
* config/avr/avr-protos.h (avr_out_tstpsi, avr_out_movpsi,
avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3,
avr_out_reload_inpsi): New prototypes.
* config/avr/avr.c (TARGET_SCALAR_MODE_SUPPORTED_P): Define to...
(avr_scalar_mode_supported_p): ...this new static function.
(avr_asm_len): Always return "".
(avr_out_load_psi, avr_out_store_psi): New static functions.
(avr_out_movpsi, avr_out_reload_inpsi): New functions.
(avr_out_tstpsi): New function.
(avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3): New functions.
(avr_out_plus_1, output_reload_in_const): Handle 3-byte types.
(avr_simplify_comparison_p): Ditto.
(adjust_insn_length): Handle ADJUST_LEN_RELOAD_IN24,
ADJUST_LEN_MOV24, ADJUST_LEN_TSTPSI, ADJUST_LEN_ASHLPSI,
ADJUST_LEN_ASHRPSI, ADJUST_LEN_LSHRPSI.
(avr_rtx_costs_1): Report PSI costs.
(avr_libcall_value): Handle odd-sized parameters.
(avr_init_builtin_int24): New static function to define built-in
24-bit types __int24 and __uint24.
(avr_init_builtins): Use it.
libgcc/
PR target/50931
* config/t-avr (LIB1ASMFUNCS): Add _divmodpsi4, _udivmodpsi4.
* config/lib1funcs.S (__udivmodpsi4, __divmodpsi4): New functions.
From-SVN: r180962
2011-11-04 16:20:18 +00:00
Rainer Orth
1a03203481
Restore c6x-elf bootstrap
...
* config/c6x/t-elf (LIB2ADDEH): Set.
* config/c6x/t-c6x-elf: Remove.
From-SVN: r180942
2011-11-04 11:55:52 +00:00