Nathan Sidwell [Tue, 28 Nov 2006 07:46:29 +0000 (28 07:46 +0000)]
pack-test-1.c: Use __alignof__ to determine natural alignments.
gcc/testsuite/
* gcc.dg/pack-test-1.c: Use __alignof__ to determine natural
alignments.
From-SVN: r119278
Joseph Myers [Sat, 25 Nov 2006 13:24:51 +0000 (25 13:24 +0000)]
function.c (instantiate_virtual_regs_in_insn): Call force_reg inside start_sequence / end_sequence pair.
gcc/
* function.c (instantiate_virtual_regs_in_insn): Call force_reg
inside start_sequence / end_sequence pair.
From-SVN: r119193
Nathan Sidwell [Fri, 24 Nov 2006 20:06:44 +0000 (24 20:06 +0000)]
t-mlibs (MULTILIB_MATCHES): Use != not ==.
gcc/
* config/m68k/t-mlibs (MULTILIB_MATCHES): Use != not ==.
From-SVN: r119164
Carlos O'Donell [Fri, 24 Nov 2006 17:27:14 +0000 (24 17:27 +0000)]
unwind-arm.c: Adjust __cxa_type_match declaration.
2006-11-24 Carlos O'Donell <carlos@codesourcery.com>
* config/arm/unwind-arm.c: Adjust __cxa_type_match declaration.
(__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match.
From-SVN: r119161
Carlos O'Donell [Fri, 24 Nov 2006 16:33:44 +0000 (24 16:33 +0000)]
backport: [multiple changes]
2006-11-24 Carlos O'Donell <carlos@codesourcery.com>
Backport from mainline:
gcc/
2006-04-11 Richard Sandiford <richard@codesourcery.com>
PR rtl-optimization/27073
* gcse.c (try_replace_reg): Revert last change. Continue to search
for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
on the former.
gcc/
2006-04-09 Richard Sandiford <richard@codesourcery.com>
PR rtl-optimization/27073
* gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
not REG_EQUIVs.
gcc/testsuite/
2006-04-09 Richard Sandiford <richard@codesourcery.com>
PR rtl-optimization/27073
* gcc.c-torture/execute/pr27073.c: New test.
From-SVN: r119160
Joseph Myers [Fri, 24 Nov 2006 16:30:03 +0000 (24 16:30 +0000)]
eabispe.h (TARGET_DEFAULT): Include MASK_STRICT_ALIGN.
gcc/
* config/rs6000/eabispe.h (TARGET_DEFAULT): Include
MASK_STRICT_ALIGN.
* config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise.
* config/rs6000/rs6000.c (rs6000_override_options): Use
MASK_STRICT_ALIGN for 8540 and 8548. Add MASK_STRICT_ALIGN to
POWERPC_MASKS.
From-SVN: r119159
Joseph Myers [Fri, 24 Nov 2006 14:11:38 +0000 (24 14:11 +0000)]
simd-2.C: Use -O -w in general for PowerPC.
gcc/testsuite/
* g++.dg/eh/simd-2.C: Use -O -w in general for PowerPC.
From-SVN: r119154
Nathan Sidwell [Fri, 24 Nov 2006 09:44:28 +0000 (24 09:44 +0000)]
revert patch
From-SVN: r119149
Nathan Sidwell [Thu, 23 Nov 2006 13:08:41 +0000 (23 13:08 +0000)]
1.cc: Reduce iterations to 100000.
libstdc++/testsuite/
* 27_io/basic_stringbuf/overflow/char/1.cc: Reduce iterations to
100000.
From-SVN: r119117
Mark Shinwell [Wed, 22 Nov 2006 20:06:48 +0000 (22 20:06 +0000)]
pr16194.c: Make harmless for targets without hard register names given in the testcase.
gcc/testsuite/
* gcc.dg/pr16194.c: Make harmless for targets without
hard register names given in the testcase.
From-SVN: r119100
Joseph Myers [Wed, 22 Nov 2006 16:52:32 +0000 (22 16:52 +0000)]
spe.md (SPE64): New mode macro.
gcc/
* config/rs6000/spe.md (SPE64): New mode macro.
(mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0. Add
memory load.
(mov_si<mode>_e500_subreg0_2): New.
(mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4. Add
memory load.
(mov_si<mode>_e500_subreg4_2): New.
* config/rs6000/predicates.md (input_operand): Do not allow
invalid E500 subregs.
(rs6000_nonimmediate_operand): Check for invalid E500 subregs also
if TARGET_SPE.
* config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs
involving DFmode if TARGET_E500_DOUBLE. Check for subregs
involving vector modes if TARGET_SPE.
From-SVN: r119097
Nathan Sidwell [Sun, 19 Nov 2006 21:45:07 +0000 (19 21:45 +0000)]
pr16194.c: Add m68k clause.
gcc/testsuite/
* gcc.dg/pr16194.c: Add m68k clause.
From-SVN: r119001
Nathan Sidwell [Sun, 19 Nov 2006 21:13:29 +0000 (19 21:13 +0000)]
m68k.c (m68k_output_mi_thunk): Fix spacing typo in jump instruction.
gcc/
* config/m68k/m68k.c (m68k_output_mi_thunk): Fix spacing typo in
jump instruction.
From-SVN: r118997
Joseph Myers [Sat, 18 Nov 2006 00:31:16 +0000 (18 00:31 +0000)]
spe.md (movv4hi_internal): Add alternative for easy vector constant loads.
* config/rs6000/spe.md (movv4hi_internal): Add alternative for
easy vector constant loads.
From-SVN: r118968
Joseph Myers [Sat, 18 Nov 2006 00:30:25 +0000 (18 00:30 +0000)]
rs6000.h (TARGET_NO_LWSYNC): Define.
gcc/
* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
__NO_LWSYNC__ if TARGET_NO_LWSYNC.
* config/rs6000/sync.md (lwsync): Emit plain sync if
TARGET_NO_LWSYNC.
libstdc++-v3/
* config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
Use plain sync if __NO_LWSYNC__.
From-SVN: r118967
Joseph Myers [Fri, 17 Nov 2006 23:03:06 +0000 (17 23:03 +0000)]
backport: pr27158.c: Use powerpc_altivec_ok.
Backport from mainline:
2006-05-11 Joseph S. Myers <joseph@codesourcery.com>
* gcc.target/powerpc/pr27158.c: Use powerpc_altivec_ok.
From-SVN: r118950
Mark Shinwell [Fri, 17 Nov 2006 15:00:12 +0000 (17 15:00 +0000)]
pr16194.c: Remove dg-error directive.
gcc/testsuite/
* gcc.dg/pr16194.c: Remove dg-error directive.
From-SVN: r118937
Richard Sandiford [Fri, 17 Nov 2006 14:17:29 +0000 (17 14:17 +0000)]
struct-layout-1.h (u16sf): Define to u4sf on uClinux targets.
gcc/testsuite/
* gcc.dg/compat/struct-layout-1.h (u16sf): Define to u4sf on
uClinux targets.
* g++.dg/compat/struct-layout-1.h (u16sf): Likewise.
(v16sf) Likewise v4sf.
From-SVN: r118935
Kazu Hirata [Fri, 17 Nov 2006 13:31:57 +0000 (17 13:31 +0000)]
resource.c: Include tree.h.
2006-11-16 Kazu Hirata <kazu@codesourcery.com>
Richard Sandiford <richard@codesourcery.com>
gcc/
* resource.c: Include tree.h.
* Makefile.in (resource.o): Update dependencies accordingly.
* config/m68k/m68k-protos.h (m68k_interrupt_function_p): Declare.
(m68k_movem_pattern_p, m68k_output_movem): Likewise.
(m68k_expand_prologue, m68k_expand_epilogue): Likewise.
* config/m68k/m68k.h (EPILOGUE_USES): Define. Treat all registers
as being live on exit from an interrupt function.
(EH_RETURN_STACKADJ_RTX): Use A0_REG.
* config/m68k/m68k.c (MIN_MOVEM_REGS, MIN_FMOVEM_REGS): New macros.
(m68k_frame): Remove reg_rev_mask and fpu_rev_mask.
(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Delete.
(m68k_interrupt_function_p): Globalize.
(m68k_compute_frame_layout): Remove reverse mask code.
(m68k_save_reg): Fix formatting.
(m68k_emit_movem, m68k_set_frame_related): New functions.
(m68k_output_function_prologue): Delete in favor of...
(m68k_expand_prologue): ...this new function.
(m68k_output_function_epilogue): Delete in favor of...
(m68k_expand_epilogue): ...this new function.
(m68k_split_offset, m68k_valid_movem_base_p): New functions.
(m68k_movem_pattern_p, m68k_output_movem): Likewise.
* config/m68k/m68k.md (prologue, epilogue): New patterns.
(return): Turn into a define_expand.
(*return): New pattern, derived from old "return" pattern. Use rte
rather than rts for interrupt functions. Only use rtd if the pop
count is nonzero.
(*m68k_store_multiple, *m68k_store_multiple_automod): New patterns.
(*m68k_load_multiple, *m68k_load_multiple_automod): Likewise.
(link, unlink): Turn into a define_expands. Use gen_frane_mem
to create the memory reference.
(*link, *unlink): New, derived from the old "link" and "unlink"
patterns. Fix tabbing. Fix constraints and match_operand
placement for unlink.
Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r118934
Joseph Myers [Thu, 16 Nov 2006 13:53:47 +0000 (16 13:53 +0000)]
spe.md (frob_di_df_2): Handle non-offsettable memory operand.
gcc/
* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
memory operand.
From-SVN: r118892
Mark Shinwell [Thu, 16 Nov 2006 11:02:03 +0000 (16 11:02 +0000)]
Correct date in ChangeLog.csl entry.
From-SVN: r118886
Mark Shinwell [Thu, 16 Nov 2006 10:59:45 +0000 (16 10:59 +0000)]
Correct typo in previous topmost ChangeLog entry.
And:
gcc/
* tree-outof-ssa.c (check_replaceable): Deem assignments
with register variables on their RHS to not be replaceable.
gcc/testsuite/
* gcc.target/arm/register-variables.c: New test.
From-SVN: r118885
Paul Brook [Wed, 15 Nov 2006 18:12:54 +0000 (15 18:12 +0000)]
backport: unwind-arm.c (_Unwind_GetDataRelBase, [...]): Move from here ...
2006-11-15 Paul Brook <paul@codesourcery.com>
gcc/
Backport form mainline.
* config/arm/unwind-arm.c (_Unwind_GetDataRelBase,
_Unwind_GetTextRelBase): Move from here ...
* config/arm/pr-support.c (_Unwind_GetDataRelBase,
_Unwind_GetTextRelBase): ... To here.
From-SVN: r118865
Joseph Myers [Tue, 14 Nov 2006 14:17:46 +0000 (14 14:17 +0000)]
stdarg-2.c, stdarg-4.c: Condition PowerPC tests for saving FPRs on powerpc_fprs.
gcc/testsuite/
* gcc.dg/tree-ssa/stdarg-2.c, gcc.dg/tree-ssa/stdarg-4.c:
Condition PowerPC tests for saving FPRs on powerpc_fprs.
* gcc.target/powerpc/compress-float-ppc.c,
gcc.target/powerpc/compress-float-ppc-pic.c: Only test if
powerpc_fprs.
* gcc.target/powerpc/rs6000-power2-2.c: Only test if powerpc_fprs;
do not pass -mhard-float.
libstdc++-v3/
* testsuite/26_numerics/complex/13450.cc: Do not test long double
in IBM long double case.
From-SVN: r118811
Joseph Myers [Mon, 13 Nov 2006 13:32:17 +0000 (13 13:32 +0000)]
eh_globals.cc (__cxxabiv1::__cxa_get_globals): Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.
libstdc++-v3/
* libsupc++/eh_globals.cc (__cxxabiv1::__cxa_get_globals):
Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.
From-SVN: r118759
Joseph Myers [Mon, 13 Nov 2006 13:31:06 +0000 (13 13:31 +0000)]
eh_personality.cc (empty_exception_spec): Define separately in __ARM_EABI_UNWINDER__ case.
libstdc++-v3/
* libsupc++/eh_personality.cc (empty_exception_spec): Define
separately in __ARM_EABI_UNWINDER__ case.
From-SVN: r118758
Joseph Myers [Mon, 13 Nov 2006 13:21:38 +0000 (13 13:21 +0000)]
bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define __GXX_TYPEINFO_EQUALITY_INLINE but not __GXX_MERGED_TYPEINFO_NAMES.
gcc/
* config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE but not
__GXX_MERGED_TYPEINFO_NAMES.
* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_MERGED_TYPEINFO_NAMES.
* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE.
* config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE.
libstdc++-v3/
* libsupc++/typeinfo (__GXX_TYPEINFO_EQUALITY_INLINE): Define.
Use instead of __GXX_MERGED_TYPEINFO_NAMES to condition inline
definitions.
* libsupc++/tinfo.cc (operator==): Condition on
__GXX_TYPEINFO_EQUALITY_INLINE; check __GXX_MERGED_TYPEINFO_NAMES
to determine algorithm.
* libsupc++/tinfo2.cc (type_info::before): Likewise.
From-SVN: r118756
Joseph Myers [Sat, 11 Nov 2006 03:06:09 +0000 (11 03:06 +0000)]
backport: pr18096-1.c: Change where the error would match.
Backport from mainline:
2006-03-04 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.target/powerpc/pr18096-1.c: Change where the error
would match.
From-SVN: r118681
Joseph Myers [Sat, 11 Nov 2006 02:57:29 +0000 (11 02:57 +0000)]
backport: rs6000.c (rs6000_gimplify_va_arg): Consume all fp regs if the last fp arg doesn't fit in regs.
Merge from GCC 4.1 branch:
2006-06-01 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
fp regs if the last fp arg doesn't fit in regs.
2006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
* config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
V4SImode temporaries and operations instead.
2006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
* gcc.dg/vmx/pr27842.c: New test.
2006-06-14 Roger Sayle <roger@eyesopen.com>
* config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
extract a CONST_VECTOR element and interpret it as an integer.
(vspltis_constant): Use const_vector_elt_as_int instead of the
macro CONST_VECTOR_ELT in order to handle FP vector modes.
* config/rs6000/predicates.md (easy_vector_const): Consider
floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
2006-07-03 Pete Steinmetz <steinmtz@us.ibm.com>
Backport from mainline
* doc/invoke.texi: Add cpu_type power6.
* config.gcc: Add cpu_type power6.
* config/rs6000/rs6000.c (rs6000_override_options): Alias power6
to power5+ with Altivec.
* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
2006-07-04 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (function_arg_boundary): Double-word align
128-bit IBM long doubles for ABI_V4.
2006-07-26 David Edelsohn <edelsohn@gnu.org>
Backport from mainline
2006-07-14 Eliot Dresselhaus <eliot@sonic.net>
* config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
2006-07-06 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
PRE_{INC,DEC} of TFmode.
2006-07-06 David Edelsohn <edelsohn@gnu.org>
Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
bounds. Simplify.
2006-08-03 David Edelsohn <edelsohn@gnu.org>
Backport from mainline
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
not reload a SPE symbol_ref into a lo_sum address.
2006-08-18 Joseph Myers <joseph@codesourcery.com>
* config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
alignment of SPE vector types.
2006-08-25 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
for 8 byte objects.
2006-10-05 David Edelsohn <edelsohn@gnu.org>
Backport from mainline
2006-09-11 Guenter Roeck <guenter@roeck-us.net>
David Edelsohn <edelsohn@gnu.org>
* config/rs6000/spe.md (frob_df_di): Remove %H.
(frob_di_df): Remove %H. Change evmergelo to mr.
(frob_di_df_2): Remove %H. Change evldd to two loads.
From-SVN: r118680
Joseph Myers [Sat, 11 Nov 2006 02:54:27 +0000 (11 02:54 +0000)]
backport: pr27842.c: Remove dg-do directive; use default.
Merge from GCC 4.1 branch:
2006-06-15 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/vmx/pr27842.c: Remove dg-do directive; use default.
* gcc.dg/vmx/pr27006.c: Ditto.
From-SVN: r118679
Joseph Myers [Fri, 10 Nov 2006 23:18:00 +0000 (10 23:18 +0000)]
acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Loosen pattern for ld version output.
libstdc++-v3/
* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Loosen pattern for
ld version output.
* configure: Regenerate.
From-SVN: r118669
Joseph Myers [Fri, 10 Nov 2006 16:28:22 +0000 (10 16:28 +0000)]
backport: rs6000.c (rs6000_gimplify_va_arg): Consume all fp regs if the last fp arg doesn't fit in regs.
Merge from GCC 4.1 branch:
2006-06-01 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
fp regs if the last fp arg doesn't fit in regs.
2006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
* config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
V4SImode temporaries and operations instead.
2006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
* gcc.dg/vmx/pr27842.c: New test.
2006-06-14 Roger Sayle <roger@eyesopen.com>
* config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
extract a CONST_VECTOR element and interpret it as an integer.
(vspltis_constant): Use const_vector_elt_as_int instead of the
macro CONST_VECTOR_ELT in order to handle FP vector modes.
* config/rs6000/predicates.md (easy_vector_const): Consider
floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
2006-07-03 Pete Steinmetz <steinmtz@us.ibm.com>
Backport from mainline
* doc/invoke.texi: Add cpu_type power6.
* config.gcc: Add cpu_type power6.
* config/rs6000/rs6000.c (rs6000_override_options): Alias power6
to power5+ with Altivec.
* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
2006-07-04 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (function_arg_boundary): Double-word align
128-bit IBM long doubles for ABI_V4.
2006-07-26 David Edelsohn <edelsohn@gnu.org>
Backport from mainline
2006-07-14 Eliot Dresselhaus <eliot@sonic.net>
* config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
2006-07-06 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
PRE_{INC,DEC} of TFmode.
2006-07-06 David Edelsohn <edelsohn@gnu.org>
Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
bounds. Simplify.
2006-08-03 David Edelsohn <edelsohn@gnu.org>
Backport from mainline
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
not reload a SPE symbol_ref into a lo_sum address.
2006-08-18 Joseph Myers <joseph@codesourcery.com>
* config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
alignment of SPE vector types.
2006-08-25 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
for 8 byte objects.
2006-10-05 David Edelsohn <edelsohn@gnu.org>
Backport from mainline
2006-09-11 Guenter Roeck <guenter@roeck-us.net>
David Edelsohn <edelsohn@gnu.org>
* config/rs6000/spe.md (frob_df_di): Remove %H.
(frob_di_df): Remove %H. Change evmergelo to mr.
(frob_di_df_2): Remove %H. Change evldd to two loads.
From-SVN: r118657
Joseph Myers [Fri, 10 Nov 2006 02:01:36 +0000 (10 02:01 +0000)]
Apply from glibc Bugzilla:
2006-10-12 David Edelsohn <dje@watson.ibm.com>
Steve Munroe <sjmunroe@us.ibm.com>
* config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
(strong_alias): Define.
(__gcc_qmul): Provide non-FMA for soft-float.
(__gcc_qdiv): Same.
(__gcc_qneg): New.
(__gcc_qeq): New.
(__gcc_qle): New.
(__gcc_qge): New.
(__gcc_qunord): New.
(__gcc_stoq): New.
(__gcc_dtoq): New.
(__gcc_qtos): New.
(__gcc_qtod): New.
(__gcc_qtoi): New.
(__gcc_qtou): New.
(__gcc_itoq): New.
(__gcc_utoq): New.
(fmsub): New.
* config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
constant for soft-float.
(rs6000_init_libfuncs): Initialize soft-float functions.
* config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
* config/rs6000/rs6000.md (movtf): Allow soft-float.
(movtf_softfloat): New.
* config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS): Add
-mlong-double-128.
(ldblspecs): Remove.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
about long double soft float.
From-SVN: r118646
Joseph Myers [Fri, 10 Nov 2006 01:26:04 +0000 (10 01:26 +0000)]
Apply gcc41-ldbl-default-libstdc++.patch:
2006-02-07 Jakub Jelinek <jakub@redhat.com>
Benjamin Kosnik <bkoz@redhat.com>
* configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
If true, set also port_specific_symbol_files and create
as_symver_specs.
(GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* config/os/gnu-linux/ldbl-extra.ver: New file.
* config/linker-map.gnu: Make sure no __float128 symbols are
exported.
* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
_GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
_GLIBCXX_END_LDBL_NAMESPACE): Define.
* include/bits/localefwd.h: Use them to conditionally scope facets.
* include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
* include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
(std::money_get::__do_get, std::money_put::__do_put,
std::num_get::__do_get, std::num_put::__do_put): New
specializations.
* include/Makefile.am: Conditionally define
_GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
* include/Makefile.in: Regenerate.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
_GLIBCXX_SYNC_ID): Define, use them.
* src/compatibility-ldbl.cc: New file.
* src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
symbols.
* src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* src/Makefile.am (libstdc++-symbol.ver): Append instead of
insert in the middle if port specific symbol file requests it.
(ldbl_compat_sources): New variable.
(sources): Use it.
(compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
* src/Makefile.in: Rebuilt.
* testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
From-SVN: r118644
Joseph Myers [Fri, 10 Nov 2006 01:12:48 +0000 (10 01:12 +0000)]
Apply gcc41-ldbl-default.patch:
2006-02-10 Jakub Jelinek <jakub@redhat.com>
* doc/install.texi (Options specification): Document
--with-long-double-128.
2006-02-05 Jakub Jelinek <jakub@redhat.com>
* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
(sparc64-*-linux*): Likewise.
* config/sparc/t-linux64 (SHLIB_MAPFILES): Removed.
* config/sparc/t-linux: New file.
* config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi,
__floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128.
(__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if
-m32 -mlong-double-128.
* config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file.
* config/alpha/t-linux: New file.
* config/alpha/libgcc-alpha-ldbl.ver: New file.
2006-02-04 Jakub Jelinek <jakub@redhat.com>
* config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define
__LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128.
(CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here.
* config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define
__LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32.
(CPP_ARCH32_SPEC): Remove.
2006-02-03 Aldy Hernandez <aldyh@redhat.com>
* config/s390/s390.c (override_options): Handle
TARGET_DEFAULT_LONG_DOUBLE_128.
* config/alpha/alpha.c (override_options): Handle
TARGET_DEFAULT_LONG_DOUBLE_128.
* config/sparc/sparc.c (sparc_override_options): Handle
TARGET_DEFAULT_LONG_DOUBLE_128.
2006-02-04 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
(RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
* config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
(RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
* configure.ac: Add --with{out}-long-double-128 configure option.
(TARGET_DEFAULT_LONG_DOUBLE_128): New test.
* configure: Rebuilt.
* config.in: Rebuilt.
From-SVN: r118643
Joseph Myers [Fri, 10 Nov 2006 00:17:54 +0000 (10 00:17 +0000)]
op-4.c, [...]: Apply changes from ppc-ld-nofpu-
20060920.txt from glibc bug 2749...
gcc/
* config/soft-fp/op-4.c, config/soft-fp/op-common.h: Apply changes
from ppc-ld-nofpu-
20060920.txt from glibc bug 2749:
2006-09-20 Steven Munroe <sjmunroe@us.ibm.com>
Joe Kerian <jkerian@us.us.ibm.com>
* soft-fp/op-common.h (_FP_OVERFLOW_SEMIRAW): Always set inexact
and overflow for infinity.
(_FP_PACK_SEMIRAW): Update comment. Do not round if NaN.
* soft-fp/op-4.h (__FP_FRAC_SUB_3, __FP_FRAC_SUB_4): Correct
borrow handling for high words.
From-SVN: r118640
Nathan Sidwell [Wed, 8 Nov 2006 17:31:11 +0000 (8 17:31 +0000)]
m68kelf.h (STATIC_CHAIN_REGNUM): Define.
gcc/
* config/m68k/m68kelf.h (STATIC_CHAIN_REGNUM): Define.
(M68K_STATIC_CHAIN_REG_NAME): New.
* config/m68k/m68k.h (M68K_STATIC_CHAIN_REG_NAME): New.
(INITIALIZE_TRAMPOLINE): Use STATIC_CHAIN_REGNUM.
(__transfer_from_trampoline): Use M68K_STATIC_CHAIN_REG_NAME.
* config/m68k/m68k.c (m68k_init_pic): New, broken out of ...
(m68k_output_function_prologue): ... here. Use it.
(m68k_output_mi_thunk): Initialize scratch PIC register if
needed. Use STATIC_CHAIN_REGNUM & M68K_STATIC_CHAIN_REG_NAME.
gcc/testsuite/
* gcc.c-torture/execute/nestfunc-7.c: New.
From-SVN: r118592
Nathan Sidwell [Wed, 8 Nov 2006 15:55:49 +0000 (8 15:55 +0000)]
coff.h (REGISTER_PREFIX_MD): Remove.
gcc/
* config/m68k/coff.h (REGISTER_PREFIX_MD): Remove.
* config/m68k/m68kelf.h (REGISTER_PREFIX_MD): Remove.
From-SVN: r118586
Mark Shinwell [Tue, 7 Nov 2006 12:43:07 +0000 (7 12:43 +0000)]
arm.h (enum reg_class): Add VFP_D0_D7_REGS.
gcc/
* config/arm/arm.h (enum reg_class): Add VFP_D0_D7_REGS.
(REG_CLASS_NAMES): Add entry corresponding to VFP_D0_D7_REGS.
(REG_CLASS_CONTENTS): Likewise.
(IS_VFP_CLASS): Add VFP_D0_D7_REGS case.
(REG_CLASS_FROM_LETTER): Add 'x' case.
(D7_VFP_REGNUM): New.
* config/arm/arm.c (arm_regno_class): Adjust for VFP_D0_D7_REGS.
* config/arm/neon.md (scalar_mul_constraint): New.
Use scalar_mul_constraint for operands corresponding to
scalars for scalar multiply operations (vmul_lane, vmull_lane,
vqdmull_lane, vqdmulh_lane, vmla_lane, vmlal_lane,
vqdmlal_lane, vmls_lane, vmlsl_lane and vqdmlsl_lane).
From-SVN: r118544
Nathan Sidwell [Mon, 6 Nov 2006 20:28:46 +0000 (6 20:28 +0000)]
dg-pch.exp (dg-pch): Don't expect .s files if there are dg-errors expected.
gcc/testsuite/
* lib/dg-pch.exp (dg-pch): Don't expect .s files if there are
dg-errors expected.
From-SVN: r118527
Nathan Sidwell [Mon, 6 Nov 2006 14:58:47 +0000 (6 14:58 +0000)]
gcc-dg.exp (cleanup-saved-temps): Add optional list of suffixes not to delete.
gcc/testsuite/
* lib/gcc-dg.exp (cleanup-saved-temps): Add optional list of
suffixes not to delete.
* gcc.dg/pch/save-temps-1.c: Don't delete ".s" temp.
* g++.dg/pch/pch.C: Likewise.
From-SVN: r118520
Joseph Myers [Sun, 5 Nov 2006 16:45:41 +0000 (5 16:45 +0000)]
18654.cc, [...]: XFAIL on arm-wrs-linux-gnueabi.
libstdc++-v3/
* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc,
testsuite/27_io/basic_stringbuf/overflow/char/1.cc,
testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: XFAIL on
arm-wrs-linux-gnueabi.
From-SVN: r118505
Joseph Myers [Sun, 5 Nov 2006 16:36:25 +0000 (5 16:36 +0000)]
wrs-linux.h (CC1_SPEC): Disallow option combinations with no multilib built.
gcc/
* config/arm/wrs-linux.h (CC1_SPEC): Disallow option combinations
with no multilib built.
From-SVN: r118504
Nathan Sidwell [Sun, 5 Nov 2006 10:50:09 +0000 (5 10:50 +0000)]
t-mlibs: Use $(error) for error.
gcc/
* config/m68k/t-mlibs: Use $(error) for error.
(LIBGCC, INSTALL_LIBGCC): Define.
* config/m68k/t-m68kbare (LIBGCC, INSTALL_LIBGCC): Remove.
* config/m68k/t-uclinux (LIBGCC, INSTALL_LIBGCC): Remove.
From-SVN: r118495
Nathan Sidwell [Fri, 3 Nov 2006 11:40:46 +0000 (3 11:40 +0000)]
config.gcc (m68k): Add t-floatlib to tmake_file.
gcc/
* config.gcc (m68k): Add t-floatlib to tmake_file. Prepend the
t-$m68k_arch_family fragment.
* config/m68k/fpgnulib.c: Only build extended float when not
coldfire.
* config/m68k/t-m68kbare: Remove float routine definitions.
* config/m68k/t-linux: Likewise.
* config/m68k/t-uclinux: Likewise.
* config/m68k/t-floatlib: New.
From-SVN: r118454
Vladimir Prus [Thu, 2 Nov 2006 10:39:33 +0000 (2 10:39 +0000)]
backport: re PR bootstrap/28400 (install-driver is missing $(exeext) from gcc-$(version))
2006-11-02 Vladimir Prus <vladimir@codesourcery.com>
Backport from mainline:
2006-11-01 Chris Johns <chris@contemporary.net.au>
PR bootstrap/28400
* Makefile.in (install-driver): Use exeext when installing
$target-gcc-$version.
From-SVN: r118414
Nathan Sidwell [Thu, 2 Nov 2006 09:57:56 +0000 (2 09:57 +0000)]
config.gcc (m68020-*-elf*, [...]): Add m68k/t-m68kbare to tmake_file.
gcc/
* config.gcc (m68020-*-elf*, m68k-*-elf*): Add m68k/t-m68kbare to
tmake_file.
* config/m68k/t-m68kelf: Remove pieces common to t-m68kbare.
* config/t-slibgcc-elf-ver: Remove. It is unused.
From-SVN: r118413
Nathan Sidwell [Thu, 2 Nov 2006 09:31:17 +0000 (2 09:31 +0000)]
config.gcc (m68k-*-aout*, [...]): Remove t-mlib-matches from tmake_file.
gcc/
* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68010-*-netbsdelf*, m68k*-*-netbsdelf*,
m68k*-*-openbsd*, m68k-*-linux*, m68k-*-rtems*, m68k-*-uclinux*):
Remove t-mlib-matches from tmake_file. Add default_m68k_cpu &
default_cf_cpu.
(m68k-*-*): Process with_arch to select arch family. Set default
cpu depending on with_arch. Remove uclinux & linux coldfire cpu
overrides. Append architecture family & t-mlibs make file
fragments to tmake_file.
* config/m68k/linux.h (TARGET_CPU_DEFAULT, ASM_CPU_DEFAULT_SPEC):
Remove.
* config/m68k/m68k-none.h: Likewise.
* config/m68k/t-m68k: New.
* config/m68k/t-cf: New.
* config/m68k/m68k-cores.def: Add FL_MMU to MMU systems.
* config/m68k/t-mlib-matches: Remove.
* config/m68k/t-mlibs: New.
* config/m68k/t-m68kelf: Remove MULTILIB settings here.
(M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Add soft float
* config/m68k/t-m68kbare: Remove MULTILIB settings here.
(M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Add soft float
* config/m68k/t-uclinux: Remove MULTILIB settings here.
(M68K_MLIB_CPU): Require no MMU.
(M68K_MLIB_OPTIONS, M68K_MLIB_DIRNAMES): Add
msep-data/mid-shared-library.
(sysroot-suffix.h): New target, moved from t-mlib-matches.
* config/m68k/t-linux: Remove MULTILIB settings here.
(M68K_MLIB_CPU): Require MMU.
* config/m68k/m68k.c (FL_MMU): Define.
(override_options): Always default to m68020.
* config/m68k/m68k.h (ASM_CPU_DEFAULT_SPEC): Remove.
(ASM_CPU_SPEC): Remove asm_cpu_default setting.
(EXTRA_SPECS): Likewise.
From-SVN: r118412
Joseph Myers [Thu, 2 Nov 2006 01:05:05 +0000 (2 01:05 +0000)]
arm.h (FUNCTION_ARG_ADVANCE): Only adjust iwmmxt_nregs if TARGET_IWMMXT_ABI.
gcc/
* config/arm/arm.h (FUNCTION_ARG_ADVANCE): Only adjust
iwmmxt_nregs if TARGET_IWMMXT_ABI.
* config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
movv2si_internal): Support moves between core registers.
From-SVN: r118406
Joseph Myers [Wed, 1 Nov 2006 23:52:17 +0000 (1 23:52 +0000)]
arm.c (arm_save_coproc_regs): Reverse order of saving iWMMXt registers.
gcc/
* config/arm/arm.c (arm_save_coproc_regs): Reverse order of saving
iWMMXt registers.
From-SVN: r118398
Richard Sandiford [Tue, 31 Oct 2006 11:34:45 +0000 (31 11:34 +0000)]
m68k.h (WCHAR_TYPE_SIZE): Define to BITS_PER_WORD rather than 32, and explain why.
gcc/
* config/m68k/m68k.h (WCHAR_TYPE_SIZE): Define to BITS_PER_WORD
rather than 32, and explain why.
From-SVN: r118226
Nathan Froyd [Mon, 30 Oct 2006 21:39:14 +0000 (30 21:39 +0000)]
backport: ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative when choosing the minimum heapsize.
Backport from mainline:
gcc/
2006-10-26 Nathan Froyd <froydnj@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
* ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
when choosing the minimum heapsize.
gcc/
2006-10-24 Nathan Froyd <froydnj@codesourcery.com>
* dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
(dwarf2out_finish): Likewise.
(output_file_names): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
From-SVN: r118202
Mark Shinwell [Mon, 30 Oct 2006 19:26:55 +0000 (30 19:26 +0000)]
t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no set inhibit_libc.
gcc/
* config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no set
inhibit_libc.
* config/arm/t-strongarm-elf: Likewise.
* config/arm/t-pe: Likewise.
* config/arm/t-arm-elf: Likewise.
* config/arm/t-xscale-elf: Likewise.
* config/arm/t-arm-coff: Likewise.
From-SVN: r118197
Mark Shinwell [Mon, 30 Oct 2006 18:28:34 +0000 (30 18:28 +0000)]
neon-testgen.ml (emit_prologue): Emit "dg-do assemble" not "dg-do compile".
gcc/
* config/arm/neon-testgen.ml (emit_prologue): Emit
"dg-do assemble" not "dg-do compile". Emit "-save-temps".
(emit_epilogue): Emit cleanup-saved-temps call. Delete
unused code.
gcc/testsuite/
* lib/gcc-dg.exp (cleanup-saved-temps): Delete .s files.
* gcc.target/arm/neon/*.c: Regenerate.
From-SVN: r118192
Nathan Sidwell [Mon, 30 Oct 2006 13:39:33 +0000 (30 13:39 +0000)]
config.gcc (m68k-*-aout*, [...]): Use tm_file rather than m68k/m68k.h and explicitly set MOTOROLA to 1.
gcc/
* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68010-*-netbsdelf*, m68k*-*-netbsdelf*,
m68k*-*-openbsd*, m68k-*-rtems*): Use tm_file rather than
m68k/m68k.h and explicitly set MOTOROLA to 1.
m68k-*-uclinux*, m68k-*-linux*): Place m68k/m68k.h last, define
MOTOROLA to 1, remove obsolete comments.
* config/m68k/linux.h (TARGET_VERSION): Don't undef here.
(ASM_SPEC): Replace with ...
(SUBTARGET_ASM_SPEC): ... this. Remove unneeded %{Wa,*:%*} spec.
(REGISTER_PREFIX, LOCAL_LABEL_PREFIX, USER_LABEL_PREFIX,
SIZE_TYPE, CPP_SPEC, ASM_OUTPUT_ALIGN, FUNCTION_PROFILER,
FUNCTION_VALUE_REGNO_P, NEEDS_UNTYPED_CALL, FUNCTION_VALUE,
LIBCALL_VALUE): Remove undefs prior to setting them.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, SIZE_TYPE, PTR_DIFFTYPE,
DBX_REGISTER_NUMBER): Remove definitions, the defaults are ok.
(TARGET_ASM_FILE_START_APP_OFF): Explicitly define to false
* config/m68k/m68k-none.h: Remove obsolete MULTILIB_DEFAULTS comment.
(ASM_SPEC): Replace with ...
(SUBTARGET_ASM_SPEC): ... this.
* config/m68k/openbsd.h (ASM_SPEC): Replace with ...
(SUBTARGET_ASM_SPEC): ... this.
* config/m68k/m68k.h (MOTOROLA): Expect to be defined to a value,
if defined.
(ASM_CPU_SPEC, SUBTARGET_ASM_SPEC): New.
(ASM_SPEC): Define.
(EXTRA_SPECS): Add asm_cpu_spec, subtarget_asm_spec.
(CPP_SUBTARGET_SPEC): Remove.
(WCHAR_TYPE_SIZE): Set to BITS_PER_WORD.
(STACK_GROWS_DOWNWARD): Set to 1.
(SUBTARGET_EXTRA_SPECS): Remove.
(TARGET_VERSION, FUNCTION_VALUE,
LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, NEEDS_UNTYPED_CALL,
FUNCTION_PROFILER, M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P,
REGISTER_PREFIX, LOCAL_LABEL_PREFIX,
TARGET_ASM_FILE_START_APP_OFF, ASM_GENERATE_INTERNAL_LABEL,
ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP): Add protective #ifndefs
* config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P):
Unconditionally define.
gcc/
* config/m68k/m68k.h (REGISTER_MOVE_COST): Simplify.
(RETURN_POPS_ARGS): Reformat to avoid long line.
From-SVN: r118180
Mark Shinwell [Mon, 30 Oct 2006 07:51:22 +0000 (30 07:51 +0000)]
ChangeLog.csl entries missing from previous checkin.
From-SVN: r118174
Julian Brown [Mon, 30 Oct 2006 03:30:10 +0000 (30 03:30 +0000)]
neon.ml (poly_unsigned_variant): New function.
gcc/
* config/arm/neon.ml (poly_unsigned_variant): New function.
(elts_same_io_bits_suffix): Now unused, remove.
(table, table_2, table_io): New type munging functions for table
look-up operations.
(ops): Use table_2 and table_io for Vtbl, Vtbx instead of bits_2 and
elts_same_io_bits_suffix.
* config/arm/arm_neon.h: Regenerate.
* doc/arm-neon-intrinsics.texi: Regenerate.
* testsuite/gcc.target/arm/neon/*.c: Regenerate.
From-SVN: r118172
Julian Brown [Mon, 30 Oct 2006 01:10:43 +0000 (30 01:10 +0000)]
arm.c (arm_init_neon_builtins): Fix function types for floating-point bit-select builtin operations.
gcc/
* config/arm/arm.c (arm_init_neon_builtins): Fix function types for
floating-point bit-select builtin operations.
* config/arm/neon.md (V_cmp_result): Add DI, V2DI modes.
(neon_vbsl<mode>): Turn into expander, and rename previous version
to...
(neon_vbsl<mode>_internal): New name for above insn pattern. Fix
order of arguments, and make mode of operand 1 integer for float
variants.
* config/arm/neon.ml (bit_select): Add type munging function for bit
selection ops.
(Vneg): Fix operand shape for vqnegq.
(Vbsl): Use bit_select not notype_3 for type munging function.
* config/arm/arm_neon.h: Regenerate.
* doc/arm-neon-intrinsics.texi: Regenerate.
* testsuite/gcc.target/arm/neon/*.c: Regenerate.
From-SVN: r118167
Mark Shinwell [Sun, 29 Oct 2006 21:09:15 +0000 (29 21:09 +0000)]
arm.c (arm_print_operand): Handle new 't' case.
gcc/
* config/arm/arm.c (arm_print_operand): Handle new 't' case.
(neon_itype): Add NEON_LANEMUL{L,H} and NEON_SCALARMULH cases.
(neon_builtin_data): Add vmull_lane, vqdmull_n, vqdmull_lane,
vqdmulh_n and vqdmulh_lane entries.
(arm_init_neon_builtins): Add two TYPE5 entries.
Handle NEON_LANEMULL, NEON_LANEMULLH and NEON_SCALARMULH cases.
(arm_expand_neon_builtin): Handle NEON_LANEMULL, NEON_LANEMULLH
and NEON_SCALARMULH cases.
* config/arm/neon.md: Add UNSPEC_VMULL_LANE, UNSPEC_VQDMULL_LANE
and UNSPEC_VQDMULH_LANE unspec identifiers. Use %t not %T when
dealing with vget_lane cases on polynomial vectors. Add
expanders and instruction definitions for neon_vqdmull_lane,
neon_vqdmulh_lane, neon_vqdmull_n and neon_vqdmulh_n.
* config/arm/neon.ml (opcode): Add Vmull_lane, Vqdmull_n,
Vqdmull_lane, Vqdmulh_n and Vqdmulh_lane constructors.
(features): Add Const_valuator constructor.
(get_lane): New function.
(ops): Use Const_valuator in cases where the test generator must
use constants other than the default. Add entries for
Vmull_lane, Vqdmull_n, Vqdmull_lane, Vqdmulh_n and Vqdmulh_lane.
* config/arm/neon-testgen.ml (emit_call): Add const_valuator
argument and use it. Emit 1 as the default constant rather than 0.
(analyze_shape): Relax regexps for Element_of_dreg and
Element_of_qreg.
(test_intrinsic): Extract any Const_valuator functions from
feature lists; pass to emit_call.
* config/arm/neon-docgen.ml (intrinsic_groups): Add entries for
Vmull_lane, Vqdmull_n, Vqdmull_lane, Vqdmulh_n and Vqdmulh_lane.
* config/arm/arm_neon.h: Regenerate.
* doc/arm-neon-intrinsics.texi: Regenerate.
gcc/testsuite/
* gcc.target/arm/neon/*.c: Regenerate.
From-SVN: r118157
Joseph Myers [Sun, 29 Oct 2006 16:43:50 +0000 (29 16:43 +0000)]
default.exp (${tool}_target_compile): Use v3_target_compile.
libstdc++-v3/
* testsuite/config/default.exp (${tool}_target_compile): Use
v3_target_compile.
gcc/testsuite/
* lib/target-supports.exp (check_function_available): Declare
function before calling.
From-SVN: r118150
Joseph Myers [Fri, 27 Oct 2006 23:49:42 +0000 (28 00:49 +0100)]
target-supports.exp (get_compiler_messages): Append options as a single list element.
2006-10-27 Joseph Myers <joseph@codesourcery.com>
Richard Sandiford <richard@codesourcery.com>
gcc/testsuite/
* lib/target-supports.exp (get_compiler_messages): Append options
as a single list element.
(check_profiling_available): Return 0 for uClibc with -p or -pg.
(check_effective_target_arm_vfp_ok): New.
* lib/c-torture.exp: Load target-supports.exp.
* gcc.c-torture/execute/
20030125-1.x: Disable test for uClibc.
* gcc.dg/arm-vfp1.c, gcc.target/arm/vfp-ldmdbd.c,
gcc.target/arm/vfp-ldmdbs.c, gcc.target/arm/vfp-ldmiad.c,
gcc.target/arm/vfp-ldmias.c, gcc.target/arm/vfp-stmdbd.c,
gcc.target/arm/vfp-stmdbs.c, gcc.target/arm/vfp-stmiad.c,
gcc.target/arm/vfp-stmias.c: Use arm_vfp_ok.
Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r118092
Mark Shinwell [Fri, 27 Oct 2006 17:33:10 +0000 (27 17:33 +0000)]
arm.c (neon_itype): Add NEON_SCALARMULL.
gcc/
* config/arm/arm.c (neon_itype): Add NEON_SCALARMULL.
(neon_builtin_data): Add data for vmull_n.
(arm_init_neon_builtins): Add case for NEON_SCALARMULL.
(arm_expand_neon_builtin): Likewise. Use gcc_unreachable instead
of returning NULL.
* config/arm/neon.md (UNSPEC_VMULL_LANE): New.
(define_insn "neon_vmull_lane<mode>"): New.
(define_expand "neon_vmull_n<mode>"): New.
* config/arm/neon.ml (opcode): Add Vmull_n.
(ops): Add data for Vmull_n.
* config/arm/neon-testgen.ml: Add extra line break.
* config/arm/arm_neon.h: Regenerate.
* config/arm/neon-docgen.ml (intrinsic_groups): Add entry for
Vmull.n.
(analyze_shape): Correct typo.
* doc/arm-neon-intrinsics.texi: Regenerate.
gcc/testsuite/
* gcc.target/arm/neon/vmull_nu16.c: New.
* gcc.target/arm/neon/vmull_nu32.c: New.
* gcc.target/arm/neon/vmull_ns16.c: New.
* gcc.target/arm/neon/vmull_ns32.c: New.
From-SVN: r118081
Paul Brook [Thu, 26 Oct 2006 21:23:54 +0000 (26 21:23 +0000)]
Remove out of date comment.
From-SVN: r118072
Paul Brook [Thu, 26 Oct 2006 21:16:59 +0000 (26 21:16 +0000)]
neon.md (reduc_splus_<mode>): New pattern, renamed from reduc_uplus.
2006-10-26 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/neon.md (reduc_splus_<mode>): New pattern, renamed from
reduc_uplus.
(reduc_uplus_<mode>): Use reduc_splus.
(reduc_splus_v2di): New pattern.
From-SVN: r118071
Paul Brook [Thu, 26 Oct 2006 15:35:51 +0000 (26 15:35 +0000)]
neon.md (smin<mode>3, [...]): Include SF vectors.
2006-10-26 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/neon.md (smin<mode>3, smax<mode>3): Include SF vectors.
From-SVN: r118067
Mark Shinwell [Tue, 24 Oct 2006 14:05:16 +0000 (24 14:05 +0000)]
Correct date typo in ChangeLog.
From-SVN: r118007
Mark Shinwell [Tue, 24 Oct 2006 14:02:45 +0000 (24 14:02 +0000)]
final.c (asm_insn_count): Return zero for an empty asm body.
gcc/
* final.c (asm_insn_count): Return zero for an empty asm body.
From-SVN: r118006
Paul Brook [Mon, 23 Oct 2006 20:31:20 +0000 (23 20:31 +0000)]
stor-layout.c (start_record_layout): maximum_field_alignment overrides STRUCTURE_SIZE_BOUNDARY.
2006-10-23 Paul Brook <paul@codesourcery.com>
gcc/
* stor-layout.c (start_record_layout): maximum_field_alignment
overrides STRUCTURE_SIZE_BOUNDARY.
gcc/testsuite/
* gcc.dg/pragma-pack-4.c: New test.
From-SVN: r117984
Mark Shinwell [Mon, 23 Oct 2006 13:01:31 +0000 (23 13:01 +0000)]
neon-testgen.ml (emit_prologue): Don't emit iWMMXt dg-skip-ifs.
gcc/
* config/arm/neon-testgen.ml (emit_prologue): Don't emit
iWMMXt dg-skip-ifs. Emit checks for arm_neon_ok effective
target.
gcc/testsuite/
* gcc.target/arm/neon/*.c: Regenerate.
From-SVN: r117972
Mark Shinwell [Mon, 23 Oct 2006 11:38:08 +0000 (23 11:38 +0000)]
c-common.c (vector_types_convertible_p): Check TYPE_VECTOR_SUBPARTS when assessing convertibility.
gcc/
* c-common.c (vector_types_convertible_p): Check
TYPE_VECTOR_SUBPARTS when assessing convertibility.
gcc/testsuite/
* g++.dg/conversion/simd1.C: Adjust dg-error directives.
* g++.dg/ext/attribute-test-2.C: Add "vs" member to union and
use it.
From-SVN: r117971
Paul Brook [Sat, 21 Oct 2006 01:35:04 +0000 (21 01:35 +0000)]
arm.c (arm_legitimate_index_p): Add NEON vector addressing modes.
2006-10-21 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (arm_legitimate_index_p): Add NEON vector
addressing modes.
From-SVN: r117920
Nathan Sidwell [Fri, 20 Oct 2006 19:48:53 +0000 (20 19:48 +0000)]
m68k.md (link, unlink): New.
gcc/
* config/m68k/m68k.md (link, unlink): New.
Co-Authored-By: Kazu Hirata <kazu@codesourcery.com>
From-SVN: r117909
Joseph Myers [Fri, 20 Oct 2006 19:16:02 +0000 (20 20:16 +0100)]
inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on x86_64.
fixincludes/
* inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on x86_64.
* fixincl.x: Regenerate.
From-SVN: r117908
Mark Mitchell [Fri, 20 Oct 2006 11:30:16 +0000 (20 11:30 +0000)]
config.gcc (arm-wrs-linux-gnueabi, [...]): New configurations.
2006-10-20 Mark Mitchell <mark@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
gcc/
* config.gcc (arm-wrs-linux-gnueabi, i586-wrs-linux-gnu,
mips-wrs-linux-gnu, powerpc-wrs-linux-gnu): New configurations.
* config/arm/t-wrs-linux, config/arm/wrs-linux.h,
config/mips/t-wrs-linux, config/mips/wrs-linux.h,
config/rs6000/t-wrs-linux, config/rs6000/wrs-linux.h: New files.
* config/rs6000/rs6000.h (OPTION_DEFAULT_SPECS): Allow for
-te500v2.
* config/rs6000/sysv4.h (CC1_EXTRA_SPEC): Define and use.
libcpp/
* configure.ac (i[34567]86-wrs-linux*): Set need_64bit_hwint=yes.
* configure: Regenerate.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
From-SVN: r117902
Richard Sandiford [Fri, 20 Oct 2006 11:27:23 +0000 (20 11:27 +0000)]
gcc.c (license_me_flag): New variable.
2006-10-20 Richard Sandiford <richard@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
gcc/
* gcc.c (license_me_flag): New variable.
(feature_proxy_flag): New variable.
(no_license): New variable.
(process_command): Handle -flicense-me, -ffeature-proxy and
-fno-feature-proxy. Initialize no_license.
(main): Check licenses.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r117901
Richard Sandiford [Thu, 19 Oct 2006 15:45:46 +0000 (19 15:45 +0000)]
backport: re PR target/29413 (-EB / -EL don't properly affect endian for Linux on MIPS)
gcc/
Backport from mainline:
2006-10-17 Andrew Pinsiki <pinskia@gmail.com>
Richard Sandiford <richard@codesourcery.com>
PR target/29413
* config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
* config/mips/mips.h (CC1_SPEC): Override any earlier definition.
From-SVN: r117886
Mark Shinwell [Thu, 19 Oct 2006 13:09:55 +0000 (19 13:09 +0000)]
arm.c (all_architectures): Add iWMMXt2 entry.
gcc/
* config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
* config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
* config/arm/arm-tune.md: Regenerate.
From-SVN: r117885
Kazu Hirata [Thu, 19 Oct 2006 08:55:48 +0000 (19 08:55 +0000)]
m68k.h (DATA_REGNO_P, [...]): New.
gcc/
* config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P,
INT_REGNO_P, FP_REGNO_P): New.
(REGNO_MODE_OK_FOR_INDEX_P): Use INT_REGNO_P.
(REGNO_OK_FOR_BASE_P): Use ADDRESS_REGNO_P.
(REGNO_OK_FOR_DATA_P): Use DATA_REGNO_P.
(REGNO_OK_FOR_FP_P): Use FP_REGNO_P.
From-SVN: r117881
Paul Brook [Tue, 17 Oct 2006 22:59:16 +0000 (17 22:59 +0000)]
arm.c (arm_init_neon_builtins): Remove superfluous semicolons.
2006-10-17 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (arm_init_neon_builtins): Remove superfluous
semicolons. Move declarations before code.
From-SVN: r117837
Paul Brook [Tue, 17 Oct 2006 22:30:46 +0000 (17 22:30 +0000)]
neon.h (neon_vld3qa<mode>, [...]): Add missing mode.
2007-10-17 Paul Brook <paul@codesourcery.com>
* config/arm/neon.h (neon_vld3qa<mode>, neon_vld3qb<mode>,
neon_vst3qa<mode>, neon_vst3qb>mode>, neon_vld4qa<mode>,
neon_vld4qb<mode>, neon_vst4qa<mode>, neon_vst4qb<mode>): Add missing
mode.
From-SVN: r117833
Paul Brook [Tue, 17 Oct 2006 21:54:38 +0000 (17 21:54 +0000)]
vec-common.md (VALLW, VINTW): New mode macros.
2006-10-17 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/vec-common.md (VALLW, VINTW): New mode macros.
(mul<mode>3, smin<mode>3, umin<mode>3, smax<mode>2, umax<mode3>):
Use them.
* config/arm/neon.md (VDQ, VDQI): Add V2DI.
(QDQW, VDQIW): New mode macros.
(V_suf64): Only suffix DImode.
(vec_setv2di, vec_extractv2di): New insns.
(ior<mode>3_64): Rename to iordi3_neon.
(and<mode>3_64): Rename to anddi3_neon.
(orn<mode>3_64): Rename to orndi3_neon.
(bic<mode>3_64): Rename to bicdi3_neon.
(xor<mode>3_64): Rename to xordi3_neon.
(abs<mode2>, neg<mode>2, umin<mode>3, umax<mode>3, smin<mode>3,
smax<mode>3, ashl<mode>3, ashr<mode>3, lshr<mode>3, neon_vhadd<mode>,
neon_vmul<mode>, neon_vmla<mode>, neon_vmls<mode>, neon_vqsub<mode>,
neon_vhsub<mode>, neon_vceq<mode>, neon_vcgt<mode>, neon_vtst<mode>,
neon_vabd<mode>, neon_vaba<mode>, neon_vmax<mode>, neon_vmin<mode>,
neon_vpadd<mode>, neon_vpaddl<mode>, neon_vabs<mode>,
neon_vqabs<mode>, neon_vqneg<mode>, neon_vcls<mode>, neon_vclz<mode>,
neon_vmvn<mode>, neon_vdup_n<mode>, neon_vtrn<mode>_internal,
neon_vtrn<mode>, neon_vzip<mode>_internal, neon_vzip<mode>,
neon_vuzp<mode>_internal, neon_vuzp<mode>): Use VDQW and VDQIW.
From-SVN: r117831
Joseph Myers [Wed, 11 Oct 2006 19:11:29 +0000 (11 20:11 +0100)]
backport: dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float.
Backport:
2005-11-23 Ben Elliston <bje@au.ibm.com>
* dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float.
2006-03-01 Jakub Jelinek <jakub@redhat.com>
* dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
from DWARF 3.
(DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
(DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
(DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
(DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
DW_DS_leading_separate, DW_DS_trailing_separate): New.
(DW_END_default, DW_END_big, DW_END_little): New.
(DW_END_lo_user, DW_END_hi_user): Define.
(DW_LNE_lo_user, DW_LNE_hi_user): Define.
(DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
(DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
DW_LANG_D): New.
2006-03-04 Jakub Jelinek <jakub@redhat.com>
* unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
and REG_SAVED_VAL_EXP constants.
* unwind-dw2.c (struct _Unwind_Context): Add by_value array.
(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
Handle regs stored by value.
(_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
(execute_cfa_program): Handle DW_CFA_val_offset,
DW_CFA_val_offset_sf and DW_CFA_val_expression.
(uw_update_context_1): Handle REG_SAVED_REG with regs stored by
value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
(uw_install_context_1): Handle target regs stored by value.
2006-03-04 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/cleanup-1.c: New test.
* gcc.target/i386/cleanup-2.c: New test.
From-SVN: r117640
Joseph Myers [Wed, 11 Oct 2006 00:52:48 +0000 (11 01:52 +0100)]
backport: fp-bit.c (clzusi): New function.
Backport:
2005-11-22 Joseph S. Myers <joseph@codesourcery.com>
* config/fp-bit.c (clzusi): New function.
(si_to_float, usi_to_float): Use it to compute proper shift.
(usi_to_float): Preserve guard bits when shifting right.
* libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
__floatundisf): New functions.
* libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
__floatundisf): Declare.
* mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
_floatundixf, and _floatunditf.
* optabs.c (expand_float): If target does not define a pattern for
signed or unsigned conversion, use an unsigned libcall instead of
a signed one.
(init_optabs): Initialize ufloat_optab.
2005-11-22 Joseph S. Myers <joseph@codesourcery.com>
* gcc.c-torture/execute/floatunsisf-1.c: New test.
2005-11-25 Joseph S. Myers <joseph@codesourcery.com>
* config/rs6000/rs6000.c (rs6000_init_libfuncs): Use _q_utoq for
unsigned conversions from SImode to TFmode.
2005-11-25 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/ppc64-fp.c (__floatunditf): New function.
(__floatundidf, __floatundisf): Likewise.
2005-11-25 Joseph S. Myers <joseph@codesourcery.com>
* config/sparc/sparc.c (sparc_init_libfuncs): Use _Q_utoq and
_Q_ulltoq for unsigned conversions from SImode and DImode to
TFmode.
2005-11-25 Joseph S. Myers <joseph@codesourcery.com>
* gcc.dg/torture/fp-int-convert-float.c,
gcc.dg/torture/fp-int-convert-double.c,
gcc.dg/torture/fp-int-convert-long-double.c,
gcc.dg/torture/fp-int-convert-timode.c,
gcc.dg/torture/fp-int-convert-float80.c,
gcc.dg/torture/fp-int-convert-float80-timode.c,
gcc.dg/torture/fp-int-convert-float128.c,
gcc.dg/torture/fp-int-convert-float128-timode.c,
gcc.dg/torture/fp-int-convert.h: New files.
2005-11-27 Joseph S. Myers <joseph@codesourcery.com>
* config/floatunsisf.c, config/floatunsidf.c,
config/floatunsixf.c, config/floatunsitf.c: New files.
* config/ia64/t-hpux: Add floatunsitf.c.
* config/ia64/ia64.c (ia64_init_libfuncs): Use
_U_Qfcnvxuf_dbl_to_quad for unsigned DImode-to-TFmode conversion.
2005-11-28 Joseph S. Myers <joseph@codesourcery.com>
* config/fp-bit.h (LSHIFT): Take shift count parameter.
* config/fp-bit.c (_fpadd_parts): Shift in one go instead of one
bit at a time.
2005-11-28 Joseph S. Myers <joseph@codesourcery.com>
* config/fp-bit.c (isnan, isinf, pack_d, unpack_d): Use
__builtin_expect.
2005-11-29 Joseph S. Myers <joseph@codesourcery.com>
* gcc.dg/torture/fp-int-convert-timode.c: XFAIL only on lp64
targets.
* gcc.dg/torture/fp-int-convert-float128-timode.c: XFAIL also for
LP64 ia64.
2005-12-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa/pa.c (pa_hpux_init_libfuncs): Add _U_Qfcnvxf_usgl_to_quad and
_U_Qfcnvxf_udbl_to_quad to set of initialized libfuncs.
* pa/quadlib.c (_U_Qfcnvxf_usgl_to_quad, _U_Qfcnvxf_udbl_to_quad): New
functions.
2005-12-05 Joseph S. Myers <joseph@codesourcery.com>
* doc/libgcc.texi (__floatunsisf, __floatunsidf, __floatunsitf,
__floatunsixf, __floatundisf, __floatundidf, __floatunditf,
__floatundixf, __floatuntisf, __floatuntidf, __floatuntitf,
__floatuntixf, __powisf2, __powidf2, __powixf2, __mulsc3,
__muldc3, __multc3, __mulxc3, __divsc3, __divdc3, __divtc3,
__divxc3): Document.
2005-12-15 Joseph S. Myers <joseph@codesourcery.com>
* libgcc2.h (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Define.
* libgcc2.c (__floatdixf, __floatundixf, __floatditf,
__floatunditf): Use #error if type sizes don't match requirements
of implementation.
(__floatdisf, __floatdidf): Unify. Possibly use XFmode or TFmode
as wider floating-point type. Use #error if type sizes don't
match requirements of implementation. Avoid overflow in computing
Wtype_MAXp1_F * Wtype_MAXp1_F. When special casing conversion,
shift one more bit. Cast 1 to DWtype or UDWtype for shifting.
(__floatundisf, __floatundidf): Likewise.
* config/ia64/hpux.h (XF_SIZE, TF_SIZE): Define.
* config/ia64/ia64.c (ia64_init_libfuncs): Use
_U_Qfcnvfxt_quad_to_quad and _U_Qfcnvxf_quad_to_quad for
TFmode-TImode conversions.
* doc/tm.texi (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Document.
2005-12-15 Joseph S. Myers <joseph@codesourcery.com>
* gcc.dg/torture/fp-int-convert-timode.c: Only XFAIL for LP64 IA64
HP-UX.
2005-12-21 Joseph S. Myers <joseph@codesourcery.com>
* config/arm/t-arm-elf (LIB1ASMFUNCS): Add _floatundidf and
_floatundisf.
2005-12-28 Alan Modra <amodra@bigpond.net.au>
* gcc.dg/torture/fp-int-convert-timode.c: Don't test IBM
Extended Double long doubles or repeat tests when long double is
the same size as double.
2006-01-05 Richard Earnshaw <rearnsha@arm.com>
* arm/t-netbsd (LIB2FUNCS_EXTRA): Define.
2006-01-20 Alan Modra <amodra@bigpond.net.au>
* libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended
Double TFmode.
(__floatundisf, __floatundidf): Likewise.
* libgcc2.h (IS_IBM_EXTENDED): Define.
2006-04-18 Joseph S. Myers <joseph@codesourcery.com>
* config/soft-fp: New directory. From glibc.
* config/soft-fp/t-softfp: New.
* config/soft-fp/README: New.
* mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
* Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
(libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
(LIBGCC_DEPS): Add $(SFP_MACHINE).
* config.gcc: Use rs6000/t-fprules-fpbit or
rs6000/t-fprules-softfp and soft-fp/t-softfp together with
rs6000/t-fprules.
* config/rs6000/sfp-machine.h: New. Based on glibc.
* config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
New.
* config/rs6000/t-fprules: Remove fp-bit rules.
* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
* config/rs6000/t-linux64: Likewise. Remove duplicates from
LIB2FUNCS_EXTRA. Remove fp-bit rules.
(softfp_wrap_start, softfp_wrap_end): New.
From-SVN: r117624
Joseph Myers [Tue, 10 Oct 2006 22:22:56 +0000 (10 23:22 +0100)]
backport: unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
Backport:
2006-10-09 Steve Ellcey <sje@cup.hp.com>
* unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
* configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r117617
Nathan Sidwell [Sun, 8 Oct 2006 09:39:00 +0000 (8 09:39 +0000)]
thunk2.C: Remove dg-bogus for m68k.
gcc/testsuite/
* g++.old-deja/g++.jason/thunk2.C: Remove dg-bogus for m68k.
* g++.old-deja/g++.pt/static11.C: Replace xfail by target requirement.
* lib/target-supports.exp (check_effective_target_unwrapped): New.
From-SVN: r117554
Nathan Sidwell [Sat, 7 Oct 2006 15:05:24 +0000 (7 15:05 +0000)]
16728.cc (iterations): Reduce to 2000.
libstdc++-v3/testsuite/
* 23_containers/set/modifiers/16728.cc (iterations): Reduce to 2000.
From-SVN: r117536
Joseph Myers [Sat, 7 Oct 2006 11:22:45 +0000 (7 12:22 +0100)]
backport: libgcc-std.ver (GCC_4.2.0): New version.
Backport:
2005-11-22 Joseph S. Myers <joseph@codesourcery.com>
* libgcc-std.ver (GCC_4.2.0): New version.
2006-02-27 Jakub Jelinek <jakub@redhat.com>
* unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
(extract_cie_info): Handle S flag in augmentation string.
(execute_cfa_program): If context->signal_frame, execute also
fs->pc == context->ra instructions.
(uw_frame_state_for): If context->signal_frame, don't subtract one
from context->ra to find FDE.
(uw_update_context_1): Set context->signal_frame to
fs->signal_frame.
(_Unwind_GetIPInfo): New function.
* unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
* unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
of _Unwind_GetIP.
* unwind-sjlj.c (_Unwind_GetIPInfo): New function.
* unwind-generic.h (_Unwind_GetIPInfo): New prototype.
* unwind-compat.c (_Unwind_GetIPInfo): New function.
* libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
* config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
* config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
* config/i386/linux-unwind.h (x86_fallback_frame_state,
x86_64_fallback_frame_state): Set fs->signal_frame.
* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
(MD_FROB_UPDATE_CONTEXT): Define unconditionally.
(frob_update_context): Likewise. Workaround missing S flag in
Linux 2.6.12 - 2.6.16 kernel vDSOs.
* config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
Remove the psw_addr + 1 hack.
2006-02-27 Jakub Jelinek <jakub@redhat.com>
* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
_Unwind_GetIPInfo instead of _Unwind_GetIP.
2006-02-27 Jakub Jelinek <jakub@redhat.com>
* exception.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
of _Unwind_GetIP.
* include/i386-signal.h (MAKE_THROW_FRAME): Change into empty macro.
(HANDLE_DIVIDE_OVERFLOW): Don't adjust _res->eip if falling through
to throw.
* include/x86_64-signal.h (MAKE_THROW_FRAME): Change into empty
macro.
* include/powerpc-signal.h (MAKE_THROW_FRAME): Change into empty
macro.
2006-03-03 Jakub Jelinek <jakub@redhat.com>
* config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
2006-07-21 Steve Ellcey <sje@cup.hp.com>
* unwind_ipinfo.m4: New.
2006-07-21 Steve Ellcey <sje@cup.hp.com>
* configure.ac: Use GCC_CHECK_UNWIND_GETIPINFO to
define HAVE_GETIPINFO.
* aclocal.m4: Add include of ../config/unwind_ipinfo.m4.
* config.h.in: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
* libmath/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* libsupc++/eh_personality.cc: Check HAVE_GETIPINFO.
2006-09-26 Jack Howarth <howarth@bromo.med.uc.edu>
* exception.cc (PERSONALITY_FUNCTION): use _Unwind_GetIP
if HAVE_GETIPINFO not defined.
* configure.ac: use GCC_CHECK_UNWIND_GETIPINFO.
* aclocal.m4, configure, include/config.h.in, Makefile.in:
Rebuilt.
2006-10-03 Geoffrey Keating <geoffk@apple.com>
* config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
current Leopard versions.
* config/rs6000/darwin-libgcc.10.5.ver: Likewise.
From-SVN: r117533
Joseph Myers [Thu, 5 Oct 2006 16:54:34 +0000 (5 17:54 +0100)]
gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_vect_cmdline_needed): Avoid caching
across change of target.
From-SVN: r117462
Richard Sandiford [Thu, 5 Oct 2006 08:25:04 +0000 (5 08:25 +0000)]
backport: mips.c (CODE_FOR_mips_abs_ps): Delete.
Backport from mainline:
gcc/
2006-09-20 Richard Sandiford <richard@codesourcery.com>
* config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
* config/mips/mips.md (UNSPEC_ABS_PS): New constant.
(UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
(UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
(*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
(*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
(abs<mode>2, neg<mode>2): Likewise.
* config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
(*mips_abs_ps): New define_insn.
gcc/testsuite/
2006-09-20 Richard Sandiford <richard@codesourcery.com>
* gcc.target/mips/mips-ps-type.c: Add -ffinite-math-only.
* gcc.target/mips/nmadd-2.c: Likewise.
* gcc.target/mips/mips-ps-6.c: New test.
* gcc.target/mips/neg-abs-1.c: Likewise.
* gcc.target/mips/neg-abs-2.c: Likewise.
* gcc.target/mips/nmadd-3.c: New test.
From-SVN: r117452
Richard Sandiford [Thu, 5 Oct 2006 08:07:04 +0000 (5 08:07 +0000)]
mips.c (mips_offset_within_object_p): Delete declaration.
gcc/
* config/mips/mips.c (mips_offset_within_object_p): Delete
declaration.
From-SVN: r117451
Richard Sandiford [Thu, 5 Oct 2006 07:58:29 +0000 (5 07:58 +0000)]
mips.c (mips_expand_builtin_compare): Use gen_single_cc as the condition for __builtin_mips_upper_* or...
gcc/
* config/mips/mips.c (mips_expand_builtin_compare): Use gen_single_cc
as the condition for __builtin_mips_upper_* or __builtin_mips_lower_*.
* config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
* config/mips/mips-ps-3d.md (single_cc): New expander.
(*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
From-SVN: r117450
Joseph Myers [Wed, 4 Oct 2006 20:13:20 +0000 (4 21:13 +0100)]
gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_vect_cmdline_needed): Handle i?86-*-* the
same as x86_64-*-*; check for LP64.
From-SVN: r117439
Joseph Myers [Wed, 4 Oct 2006 19:11:42 +0000 (4 20:11 +0100)]
backport: visibility-11.c: Enlarge test array to 1024 bytes to avoid memcpy optimization.
Backport:
2006-07-24 Uros Bizjak <uros@kss-loka.si>
* gcc.dg/visibility-11.c: Enlarge test array to 1024 bytes to
avoid memcpy optimization.
From-SVN: r117438
Joseph Myers [Wed, 4 Oct 2006 16:41:34 +0000 (4 17:41 +0100)]
config.gcc: Handle tuning for bi-arch i[34567]86-*-linux* like that for...
gcc/
* config.gcc: Handle tuning for bi-arch i[34567]86-*-linux* like
that for i[34567]86-*-solaris2.1[0-9]*.
Backport:
2006-01-19 Jan Hubicka <jh@suse.cz>
H.J. Lu <hongjiu.lu@intel.com>
Evandro Menezes <evandro.menezes@amd.com>
* invoke.texi (generic): Document
(i686) Update.
* config.gcc: Make x86_64-* and i686-* default to generic tunning.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
(x86_use_incdec, x86_pad_returns): New variables
(TARGET_CPU_DEFAULT_generic): New constant
(TARGET_CPU_DEFAULT_NAMES): Add generic.
(enum processor_type): Add generic32 and generic64.
* i386.md (cpu attribute): Add generic32/generic64
(movhi splitter): Behave sanely when both partial_reg_dependency and
partial_reg_stall are set.
(K8 splitters): Enable for generic as well.
* predicates.md (incdec_operand): Use TARGET_INCDEC
(aligned_operand): Avoid memory mismatch stalls.
* athlon.md: Enable for generic64, new patterns for 128bit moves.
* ppro.md: Enable for generic32
* i386.c (generic64_cost, generic32_cost): New.
(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
(x86_use_leave): Enable for generic64. (x86_use_sahf,
x86_ext_80387_constants): Enable for generic32. (x86_push_memory,
x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
Enable for generic.
(x86_use_incdec, x86_pad_returns): New.
(override_options): Add generic32 and generic64, translate "generic"
to generic32/generic64 and "i686" to "generic32", refuse
"generic32"/"generic64" as arch target.
(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
(ix86_reorg): Honor PAD_RETURNS.
2006-01-19 Jan Hubicka <jh@suse.cz>
* i386.h (TARGET_DECOMPOSE_LEA): Kill.
* i386.c (x86_decompose_lea): Kill.
(ix86_rtx_costs): Kill.
2006-01-19 Jan Hubicka <jh@suse.cz>
* i386.c (*_cost): Add COSTS_N_INSNS.
(ix86_rtx_costs): Do not use COSTS_N_INSNS.
2006-01-19 Jan Hubicka <jh@suse.cz>
* gcc.target/i386/lea.c: Test pentiumpro, not i686.
2006-07-05 H.J. Lu <hongjiu.lu@intel.com>
* config.gcc: Check with_cpu for i[34567]86-*-solaris2.1[0-9]*.
From-SVN: r117432
Nathan Sidwell [Wed, 4 Oct 2006 12:25:06 +0000 (4 12:25 +0000)]
t-mlib-matches (MULTILIB_MATCHES): Correct AWK script for updated m68k-cores.def file.
gcc/
* config/m68k/t-mlib-matches (MULTILIB_MATCHES): Correct AWK
script for updated m68k-cores.def file.
* config/m68k/t-m68kelf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
MULTILIB_EXCEPTIONS): Adjust for updated m68k-cores.def file.
* config/m68k/t-uclinux (MULTILIB_OPTIONS,
MULTILIB_DIRNAMES): Likewise.
From-SVN: r117430
Joseph Myers [Tue, 3 Oct 2006 23:55:36 +0000 (4 00:55 +0100)]
backport: asm-1.c: Run test on ilp32 only.
Backport:
2006-09-08 Eric Christopher <echristo@apple.com>
* gcc.target/i386/asm-1.c: Run test on ilp32 only.
* gcc.target/i386/compress-float-387.c: Ditto.
* gcc.target/i386/compress-float-sse.c: Ditto.
* gcc.target/i386/compress-float-sse-pic.c: Ditto.
* gcc.target/i386/compress-float-387-pic.c: Ditto.
From-SVN: r117417
Joseph Myers [Tue, 3 Oct 2006 23:01:19 +0000 (4 00:01 +0100)]
config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
gcc/
* config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
(with_cpu): Don't set to pentiumpro in bi-arch case.
* config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
Define conditionally depending on TARGET_64BIT_DEFAULT.
(SPEC_32, SPEC_64): Define.
(LINK_SPEC): Use them.
* doc/install.texi (--enable-targets=all): Document for x86-linux.
libcpp/
* configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux*
depending on --enable-targets=all.
* configure: Regenerate.
From-SVN: r117416
Joseph Myers [Mon, 2 Oct 2006 22:36:26 +0000 (2 23:36 +0100)]
libstdc++.exp (check_v3_target_fileio): Correct test program and name of output variable.
libstdc++-v3/
* testsuite/lib/libstdc++.exp (check_v3_target_fileio): Correct
test program and name of output variable.
From-SVN: r117376
Joseph Myers [Fri, 29 Sep 2006 23:55:30 +0000 (30 00:55 +0100)]
extend.texi (ARM NEON Intrinsics): Note that only intrinsics not the underlying built-in functions are supported.
gcc/
* doc/extend.texi (ARM NEON Intrinsics): Note that only intrinsics
not the underlying built-in functions are supported. Document
types used.
From-SVN: r117322
Julian Brown [Fri, 29 Sep 2006 20:16:15 +0000 (29 20:16 +0000)]
* Merge from CSL arm-neon-4_1 branch, revision 150297.
From-SVN: r117316