summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target
Commit message (Collapse)AuthorAgeFilesLines
...
* * gcc.target/i386/fastcall-1.c (f4): Change return type todannysmith2007-12-151-1/+1
| | | | | | | void. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130980 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/cris/peep2-xsrand.c, gcc.target/cris/asmreg-1.c,hp2007-12-1514-22/+22
| | | | | | | | | | | | | | | | | | | | | | | gcc.target/cris/peep2-andu1.c, gcc.target/cris/peep2-xsrand2.c, gcc.target/cris/20011127-1.c: Drop redundant target-specifier. * gcc.target/cris/peep2-andu2.c: Ditto. Make dg-do assemble and add -save-temps. * gcc.target/cris/torture/cris-torture.exp, gcc.target/cris/cris.exp: Run for crisv32-*-* too. * gcc.target/cris/builtin_ctz_v3.c, gcc.target/cris/builtin_ctz_v8.c, gcc.target/cris/builtin_clz_v0.c, gcc.target/cris/builtin_clz_v3.c, gcc.target/cris/builtin_bswap_v3.c, gcc.target/cris/builtin_bswap_v8.c, gcc.dg/sibcall-4.c, gcc.dg/pr19340.c, gcc.dg/20020919-1.c, gcc.dg/pr31866.c, gcc.dg/torture/cris-asm-mof-1.c, gcc.dg/torture/cris-volatile-1.c, gcc.dg/weak/typeof-2.c, gcc.dg/tree-ssa/loop-1.c, gcc.dg/tree-ssa/20040204-1.c, gcc.dg/sibcall-3.c, lib/target-supports.exp: Adjust for crisv32-*-*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130962 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/29978jakub2007-12-141-0/+16
| | | | | | | | | | * config/i386/i386.c (ix86_expand_branch): Optimize LE/LEU/GT/GTU DImode comparisons against constant with all 1's in the lower word. * gcc.target/i386/pr29978.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130938 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operanduros2007-12-142-2/+2
| | | | | | | | | | | | | | | | | | | | | | | constraint for operand2. Use nonimm_not_xmm0_operand constraint for operand 4. Update arguments in the call to gen_sse4_2_pcmpestr_cconly. (sse_4_2_pcmpestr_cconly): Renumber insn operands and update insn template accordingly. (sse4_2_pcmpistr): Use reg_not_xmm0_operand constraint for operand2. Use nonimm_not_xmm0_operand constraint for operand 3. Update arguments in the call to gen_sse4_2_pcmpistr_cconly. (sse_4_2_pcmpistr_cconly): Renumber insn operands and update insn testsuite/ChangeLog: * gcc.target/i386/sse-12.c (dg-options): Use -msse4 instead of -msse4.1. * gcc.target/i386/sse-12.c (dg-options): Ditto. * g++.dg/other/i386-2.C (dg-options): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130934 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/i386/sse-14.c (test_1, test_2, test_2x, test_4): Newuros2007-12-142-2/+125
| | | | | | | | | | | | macros to test macroized SSE intrinsics. Use new macros to test macroized SSE intrinsics from ammintrin.h, smmintrin.h, tmmintrin.h, emmintrin.h, xmmintrin.h and bmmintrin.h * gcc.target/i386/sse-13.c (__builtin_ia32_pcmp?str*128): Redefine to test with immediate operand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130930 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-12-12 Andreas Krebbel <krebbel1@de.ibm.com>krebbel2007-12-121-0/+11
| | | | | | | | | | | | | | * config/s390/s390.c (s390_O_constraint_str): Limit the range for 'On' to -4G+1..-1. * config/s390/constraints.md: Adjust comment accordingly. 2007-12-12 Andreas Krebbel <krebbel1@de.ibm.com> * gcc.target/s390/20071212-1.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130787 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/34312uros2007-12-051-0/+34
| | | | | | | | | | | | | | | | * config/i386/i386.c (ix86_function_regparm): Also check for fixed registers when checking that regparm registers are available. Lower regparm value due to fixed registers usage in addition to global regs usage. testsuite/ChangeLog: PR target/34312 * gcc.target/i386/pr34312.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130625 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR 34077meissner2007-11-261-0/+30
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130453 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/34215uros2007-11-261-0/+19
| | | | | | | | | | | | | | | | | | * config/i386/i386.md (truncdfsf2): Select SLOT_TEMP stack slot if virtual registers are instantiated. (truncxf<mode>2): Ditto. (floatsi<mode>2): Ditto. (floatdisf2): Ditto. (floatdidf2): Ditto. testsuite/ChangeLog: PR target/34215 * gcc.target/i386/pr34215.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130440 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/spu/mfc_tag_release.c: New file.bje2007-11-201-0/+312
| | | | | | | | | | | | | | | | | | | | * config/spu/mfc_multi_tag_release.c: Likewise. * config/spu/mfc_multi_tag_reserve.c: Likewise. * config/spu/mfc_tag_release.c: Likewise. * config/spu/mfc_tag_reserve.c: Likewise. * config/spu/mfc_tag_table.c: Likewise. * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Compile them. (TARGET_LIBGCC2_CFLAGS): Define __IN_LIBGCC2. * config/spu/spu_mfcio.h (uint64_t): Typedef if __IN_LIBGCC2 is defined and avoid <stdint.h>. (MFC_TAG_INVALID, MFC_TAG_VALID): New macros. (mfc_tag_reserve, mfc_tag_release, mfc_multi_tag_reserve, mfc_multi_tag_release): Likewise. (__mfc_tag_reserve, __mfc_tag_release, __mfc_multi_tag_reserve, __mfc_multi_tag_release): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130306 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/powerpc/altivec-23.c: Do not use a typedef name as abje2007-11-181-3/+2
| | | | | | | | type specifier, as they are not permitted according to the AltiVec Programming Interface Manual. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130268 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/spu/spu.c (spu_emit_branch_or_set): Remove PROCESSOR_CELLbje2007-11-151-0/+10
| | | | | | | | | | | | | | | condition from HONOR_NANS test. * config/spu/spu.md (ceq_df): Always generate comparison code inline, including checks for NaNs and infinities. (cgt_df): Likewise. (cgt_v2df): Likewise. (cmpdf): Make this expander unconditional. testsuite/ * gcc.target/spu/compare-dp.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130198 138bc75d-0d04-0410-961f-82ee72b054a4
* PR rtl-optimization/34012jakub2007-11-091-0/+25
| | | | | | | | | | * fwprop.c (try_fwprop_subst): Do not replace if the new SET_SRC has a higher cost than the old one. * gcc.target/i386/pr34012.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130043 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-11-091-0/+4
| | | | | | | | | | | | | * dse.c (find_shift_sequence): Always choose an integer mode for new_mode. (replace_read): Require both the read and store mode to be integer ones. Remove a then-redundant FLOAT_P check. gcc/testsuite/ * gcc.target/mips/dse-1.c: Disable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130039 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/hjl2007-11-061-0/+13
| | | | | | | | | | | | | | | | | | | 2007-11-06 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> PR target/30961 * reload1.c (find_reloads): Also check in_reg when handling a simple move with an input reload and a destination of a hard register. gcc/testsuite/ 2007-11-06 H.J. Lu <hongjiu.lu@intel.com> PR target/30961 * gcc.target/i386/pr30961-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129943 138bc75d-0d04-0410-961f-82ee72b054a4
* PR rtl-optimization/28940ebotcazou2007-11-031-0/+16
| | | | | | | | * gcc.target/i386/addr-sel-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129868 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/other/i386-2.C: Include bmmintrin.h. Add -msse5 to dg-options.uros2007-10-272-8/+10
| | | | | | | | | | * gcc.target/i386/sse-13.c: Also include mm3dnow.h. Add "-march=k8 -m3dnow" to check 3dnow and 3dnowA intrinsics. * gcc.target/i386/sse-14.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129684 138bc75d-0d04-0410-961f-82ee72b054a4
* Forgot one file from my previous commit.uros2007-10-241-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129613 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/i386/pr11001-*.c: Remove -m32 from compile flags.uros2007-10-248-12/+12
| | | | | | | | | Add -w to compile flags to suppress "call-clobbered register" warnings and remove dg-warning directives. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129612 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-10-241-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | PR target/33755 * config/mips/mips.c (mips_lo_sum_offset): New structure. (mips_hash_base, mips_lo_sum_offset_hash, mips_lo_sum_offset_eq) (mips_lo_sum_offset_lookup, mips_record_lo_sum) (mips_orphaned_high_part_p: New functions. (mips_avoid_hazard): Don't check INSN_P here. (mips_avoid_hazards): Rename to... (mips_reorg_process_insns): ...this. Cope with !TARGET_EXPLICIT_RELOCS. Delete orphaned high-part relocations, or turn them into nops. (mips_reorg): Remove TARGET_EXPLICIT_RELOCS check from calls to dbr_schedule and mips_avoid_hazards/mips_reorg_process_insns. (mips_set_mips16_mode): Don't set flag_delayed_branch here. (mips_override_options): Set flag_delayed_branch to 0. gcc/testsuite/ PR target/33755 * gcc.target/mips/pr33755.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129606 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-10-211-1/+19
| | | | | | | | | | | | | * config/mips/mips.c (mips_set_mips16_mode) Say sorry for hard-float MIPS16 code unless using o32 or o64. gcc/testsuite/ * gcc.target/mips/mips.exp (setup_mips_tests): Set mips_mips16. (dg-mips-options): Skip tests that specify an ABI other than o32 and o64 if generating MIPS16 hard-float code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129530 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-10-2112-86/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/invoke.texi (-mpaired-single): Don't say that the option requires 64-bit code. * config/mips/mips-protos.h (mips_modes_tieable_p): Declare. * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): New macro. (ISA_HAS_NMADD_NMSUB): Add a mode argument. Return true for V2SF if ISA_MIPS32R2. (MODES_TIEABLE_P): Use mips_modes_tieable_p. * config/mips/mips.c (mips_rtx_costs): Pass a mode argument to ISA_HAS_NMADD_NMSUB. (mips_split_doubleword_move): Handle V2SF. (mips_modes_tieable_p): New function. (override_options): Report a warning rather than an error when -mpaired-single is used on ISAs that don't support it; use ISA_HAS_PAIRED_SINGLE to check that case. * config/mips/mips.md (MOVE64): New mode iterator. Replace DI and DF move splitters with a single MOVE64 splitter, thereby adding a V2SF splitter too. (SPLITF): Add TARGET_DOUBLE_FLOAT conditions to DI and DF. Add a TARGET_FLOAT64 condition to TF. Add V2SF to the iterator. (HALFMODE): Add V2SF. (*nmadd<mode>, *nmadd<mode>_fastmath, *nmsub<mode>) (*nmsub<mode>_fastmath): Add a mode argument to ISA_HAS_NMADD_NMSUB. (movv2sf_hardfloat_64bit): Tweak ordering of conditions. (movv2sf_hardfloat_32bit): New pattern. (load_low<mode>, load_high<mode>, store_word<mode>): Remove TARGET_DOUBLE_FLOAT conditions. gcc/testsuite/ * gcc.dg/vect/vect.exp: Extend -mpaired-single handling to all MIPS targets. * g++.dg/vect/vect.exp: Likewise. * lib/fortran-torture.exp: Likewise. * gcc.target/mips/mips-ps-1.c: Use mpaired_single rather than mipsisa64*-*-* as the target selector. Remove -mips64, -mhard-float and -mgp64 from the options list. * gcc.target/mips/mips-ps-2.c: Likewise. * gcc.target/mips/mips-ps-3.c: Likewise. * gcc.target/mips/mips-ps-4.c: Likewise. * gcc.target/mips/mips-ps-6.c: Likewise. * gcc.target/mips/mips-ps-5.c: Remove -mhard-float from the options list. * gcc.target/mips/sb1-1.c: Likewise. * gcc.target/mips/mips-ps-type.c: Likewise. * gcc.target/mips/mips-ps-7.c: New test. * gcc.target/mips/mips-ps-type-2.c: Likewise. * gcc.target/mips/fpr-moves-6.c: Remove XFAIL. * gcc.target/mips/mips.exp (setup_mips_tests): Set mips_fp and mips_gp instead of mips_fp64 and mips_gp64. Treat -mgp32 -mfp64 as forcing an ABI and an architecture. (is_gp32_flag, is_gp64_flag): Fold into... (dg-mips-options): ...here. Make -mpaired-single imply -mfp64, then -mfp64 imply -mhard-float. Apply register rules after the loop. Handle -march=mipsN like -mipsN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129522 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-10-181-1/+1
| | | | | | | | | | | | | | | * config/mips/mips-protos.h (mips_frame_pointer_required): Declare. * config/mips/mips.h (FRAME_POINTER_REQUIRED): Use mips_hard_frame_pointer_required. (CAN_ELIMINATE): Rely on FRAME_POINTER_REQUIRED to check for large MIPS16 frames. * config/mips/mips.c (mips_frame_pointer_required): New function. gcc/testsuite/ * gcc.target/mips/save-restore-3.c: Don't clobber $17. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129459 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/32961uros2007-10-174-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | * config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLLWI128, IX86_BUILTIN_PSLLDI128, BUILTIN_PSLLQI128, IX86_BUILTIN_PSRAWI128, IX86_BUILTIN_PSRADI128, IX86_BUILTIN_PSRLWI128, IX86_BUILTIN_PSRLDI128, IX86_BUILTIN_PSRLQI128]: Do not require immediate shift value. config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32, _mm_srli_epi64): Remove 'const' from count argument. Remove macros for !__OPTIMIZE__ case. testsuite/ChangeLog: PR target/32961 * gcc.target/i386/pr32961.c: New testcase. * gcc.target/i386/sse-13.c: Remove __builtin_ia32_psllwi128, __builtin_ia32_psrlqi128, __builtin_ia32_psrlwi128, __builtin_ia32_psrldi128, __builtin_ia32_psrawi128, __builtin_ia32_psradi128, __builtin_ia32_psllqi128 and __builtin_ia32_pslldi128 defines. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129403 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-16 Paolo Bonzini <bonzini@gnu.org>mkuvyrkov2007-10-161-0/+151
| | | | | | | | | | | | | | | | | | | | | | | Maxim Kuvyrkov <maxim@codesourcery.com> * target.h (unspec_may_trap_p): New target hook. * target-def.h (TARGET_UNSPEC_MAY_TRAP_P): New macro. * targhooks.c (default_unspec_may_trap_p): Default implementation of the hook. * targhooks.h (default_unspec_may_trap_p): Declare it. * doc/tm.texi (TARGET_UNSPEC_MAY_TRAP_P): Document new hook. * rtlanal.c (may_trap_p_1): Use new hook. Make global. * rtl.h (may_trap_p_1): Declare. * config/ia64/ia64.c (ia64_unspec_may_trap_p): New function to override default hook implementation. (TARGET_UNSPEC_MAY_TRAP_P): Override default implementation of the hook. * gcc.target/ia64/20040709-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129378 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/rsandifo2007-10-151-6/+9
| | | | | | | | * gcc.target/mips/dse-1.c: Pass the union as a second parameter to each function. Check that there are no unsigned loads. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129369 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/powerpc/parity-1.c: POWER5 feature, not POWER6.dje2007-10-132-2/+2
| | | | | | | * gcc.target/powerpc/popcount-1.c: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129284 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2007-10-129-0/+186
| | | | | | | | | | | | | | | | | | | | | | | | PR 11001 * config/i386/i386.md (strmov): Check for esi and edi usage. * config/i386/i386.c (decide_alg): Check whether we can use a rep prefix and adjust algorithm choice accordingly. (ix86_expand_strlen): Check for eax, ecx, and edi usage. gcc/testsuite/ PR 11001 * gcc.target/i386/pr11001-strlen-1.c: New testcase. * gcc.target/i386/pr11001-strlen-2.c: New testcase. * gcc.target/i386/pr11001-strlen-3.c: New testcase. * gcc.target/i386/pr11001-memset-1.c: New testcase. * gcc.target/i386/pr11001-memset-2.c: New testcase. * gcc.target/i386/pr11001-memset-3.c: New testcase. * gcc.target/i386/pr11001-memcpy-1.c: New testcase. * gcc.target/i386/pr11001-memcpy-2.c: New testcase. * gcc.target/i386/pr11001-memcpy-3.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129265 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/matz2007-10-051-0/+10
| | | | | | | | | | | | PR inline-asm/33600 * function.c (match_asm_constraints_1): Check for input being used in the outputs. testsuite/ * gcc.target/i386/pr33600.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129035 138bc75d-0d04-0410-961f-82ee72b054a4
* Add NOMIPS16 to last commit (will be in gcc-patches@ message).rsandifo2007-10-051-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129032 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-10-051-0/+13
| | | | | | | | | | | | | | PR target/33635 * config/mips/mips.c (mips_register_move_cost): Rewrite to use subset checks. Make the cost of FPR -> FPR moves depend on mips_mode_ok_for_mov_fmt_p. gcc/testsuite/ PR target/33635 * gcc.target/mips/pr33635-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129031 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-10-038-10/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/33635 * config/mips/mips-protos.h (mips_split_64bit_move): Rename to... (mips_split_doubleword_move): ...this. * config/mips/mips.c (mips_subword): Extend to handle 64-bit words; use natural endianness for multi-format FPR values. (mips_split_64bit_move): Rename to... (mips_split_doubleword_move): ...this and extend to 64-bit words. Use move_doubleword_fpr* patterns for moves involving FPRs. (mips_save_reg): Update the call to mips_split_64bit_move. (mips_secondary_reload_class): Return NO_REGS for any reload of a nonzero constant into an FPR if the constant can be forced to memory. * config/mips/mips.md: Update the splitter calls to mips_split_64bit_move. (UNSPEC_LOAD_DF_LOW): Rename to... (UNSPEC_LOAD_LOW): ...this. (UNSPEC_LOAD_DF_HIGH): Rename to... (UNSPEC_LOAD_HIGH): ...this. (UNSPEC_STORE_DF_HIGH): Rename to... (UNSPEC_STORE_WORD): ...this. (SPLITF): New mode iterator. (HALFMODE): New mode attribute. (movtf): New expander. (*movtf_internal): New define_insn_and_split. (move_doubleword_fpr<mode>): New expander. (load_df_low, load_df_high, store_df_high, mthc1, mfhc1): Replace with... (load_low<mode>, load_high<mode>, store_word<mode>, mthc1<mode>) (mfhc1<mode>): ...these more general patterns. gcc/testsuite/ PR target/33635 * gcc.target/mips/mips.exp (setup_mips_tests): Set mips_isa_rev and mips_forced_be. (dg-mips-options): Handle -EL and -mel. Make -mfp64 imply -mhard-float and a suitable ISA. Improve handling of -mipsXrY options. * gcc.target/mips/fpr-moves-1.c: New test. * gcc.target/mips/fpr-moves-2.c: Likewise. * gcc.target/mips/fpr-moves-3.c: Likewise. * gcc.target/mips/fpr-moves-4.c: Likewise. * gcc.target/mips/fpr-moves-5.c: Likewise. * gcc.target/mips/fpr-moves-6.c: Likewise. * gcc.target/mips/mips32r2-mxhc1.c: Remove -march=mips32r2 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128991 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/rsandifo2007-10-026-12/+53
| | | | | | | | | | | | | | | | | | | * gcc.target/mips/mips.exp (setup_mips_tests): Set mips_abi to the default ABI. Split mips_forced_abi into mips_forced_abi and mips_forced_regs. (is_gp32_flag): Return true for -mabi=32. (is_gp64_flag): New function. Handle 64-bit -mabi options. (dg-mips-options): Use is_gp64_flag instead of checking specifically for -mgp64. Update after the mips_forced_abi split. Handle -mabi=*. Don't force an ABI for -mgp32 or -mfp32 if the flags contain -mabi=*. * gcc.target/mips/pr33256.c: Remove -mips3 requirement. * gcc.target/mips/save-restore-1.c: Use -mabi=32 instead of -mgp32. * gcc.target/mips/save-restore-2.c: Likewise. * gcc.target/mips/save-restore-3.c: Likewise. * gcc.target/mips/save-restore-4.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128966 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-02 Andreas Tobler <a.tobler@schweiz.org>andreast2007-10-021-1/+1
| | | | | | | | * gcc.target/powerpc/stabs-attrib-vect-darwin.c: Change options to use -gstabs+ for extended options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128962 138bc75d-0d04-0410-961f-82ee72b054a4
* Add vec_init support for 750CL paired vectors and fix movv2sf_pairedrevitale2007-10-023-0/+75
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128952 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/i386/sse5-convert.c: Fix target selector and rename to...uros2007-09-291-3/+2
| | | | | | | | * gcc.target/i386/pr33524.c: ...this. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128883 138bc75d-0d04-0410-961f-82ee72b054a4
* PR rtl-optimization/33552matz2007-09-282-0/+69
| | | | | | | | * gcc.target/i386/pr33552.c: New runtime test. * gcc.target/i386/strinline.c: New compile time test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128865 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-27 Andrew Pinski <andrew_pinski@playstation.sony.com>pinskia2007-09-281-0/+15
| | | | | | | | | PR middle-end/7003 * gcc.target/powerpc/gcse-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128856 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix 33524; SSE5 vectorized int->long conversions are brokenmeissner2007-09-251-0/+26
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128768 138bc75d-0d04-0410-961f-82ee72b054a4
* Add missing built-in support for 750CL ps_sel instructionrevitale2007-09-251-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128767 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/rsandifo2007-09-242-2/+9
| | | | | | | | | | | | | * lib/target-supports.exp (check_effective_target_mips16_attribute): Reject hard-float modes unless the ABI is o32 or o64. * gcc.target/mips/inter/mips16-inter.exp: Load gcc-dg.exp instead of gcc.exp. Skip the tests when mips16 code generation is not supported. * gcc.target/mips/mips16-attributes.c: Require mips16_attribute and use dg-add-options mips16_attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128723 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-09-232-3/+3
| | | | | | | | | | | | | | | | | | | | | * opth-gen.awk (target_flags_explicit): Declare. * toplev.h (target_flags_explicit): Delete declaration. * toplev.c (target_flags): Likewise. * config/mips/mips.h (mips_llsc_setting, mips_llsc): Delete. (GENERATE_SYNC, GENERATE_LL_SC): Redefine using target_explicit_flags. Never return true for TARGET_MIPS16. * config/mips/mips.c (mips_llsc): Delete. (mips_handle_option): Remove -mllsc handling. (mips_strip_unspec_address): Tweak comment. * config/mips/mips.opt (mllsc): Use a target mask. gcc/testsuite/ * gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Don't expect any of the macros to be defined for __mips16. * gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128699 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-09-2352-753/+760
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/mips/mips.h (ISA_HAS_DSP, ISA_HAS_DSPR2): New macros. * config/mips/mips.c (mips_set_mips16_mode): Don't clear the DSP flags for MIPS16. (override_options): Check TARGET_HARD_FLOAT_ABI instead of TARGET_HARD_FLOAT when testing whether -mpaired-single is supported. (mips_conditional_register_usage): Check ISA_HAS_DSP instead of TARGET_DSP. * config/mips/constraints.md (ka): Check ISA_HAS_DSPR2 instead of TARGET_DSPR2. * config/mips/mips.md (ANYF): Require TARGET_HARD_FLOAT for V2SF. (mulv2sf3, movv2sf, movv2sf_hardfloat_64bit): Require TARGET_HARD_FLOAT. (<u>mulsidi3_32bit_internal, <u>msubsidi4, <u>maddsidi4): Check ISA_HAS_DSPR2 instead of TARGET_HAS_DSPR2. * config/mips/mips-dsp.md: Use ISA_HAS_DSP instead of TARGET_HAS_DSP throughout. * config/mips/mips-dspr2.md: Likewise ISA_HAS_DSPR2 and TARGET_HAS_DSPR2. * config/mips/mips-fixed.md: Use ISA_HAS_DSP and ISA_HAS_DSPR2 instead of TARGET_HAS_DSP and TARGET_HAS_DSPR2. * config/mips/mips-ps-3d.md: Add TARGET_HARD_FLOAT to V2SF patterns. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_nomips16): New procedure. * lib/fortran-torture.exp: Check nomips16 as well as mpaired_single for mipsisa64*-*-*. * gcc.dg/vect/vect.exp: Likewise. * g++.dg/vect/vect.exp: Likewise. * gcc.target/mips/mips.exp (setup_mips_tests): Don't set mips_mips16. (dg-mips-options): Don't skip -march* and -mips* tests for -mips16. * gcc.target/mips/branch-cost-1.c (foo): Add NOMIPS16. * gcc.target/mips/branch-cost-2.c (foo): Likewise. * gcc.target/mips/clear-cache-1.c (f): Likewise. * gcc.target/mips/dpaq_sa_l_w.c (f1, f2, f3): Likewise. * gcc.target/mips/dpsq_sa_l_w.c (f1, f2, f3): Likewise. * gcc.target/mips/fix-vr4130-1.c (foo): Likewise. * gcc.target/mips/fix-vr4130-2.c (foo): Likewise. * gcc.target/mips/fix-vr4130-3.c (foo): Likewise. * gcc.target/mips/fix-vr4130-4.c (foo): Likewise. * gcc.target/mips/fixed-scalar-type.c (test1, test2, test3, test4) (test5, test6, test7, test8, test9, test10, test11, test12, test13) (test14, test15, test16, test17, test18): Likewise. * gcc.target/mips/fixed-vector-type.c (test1, test2, test3, test4) (test5, test6, test7, test8, test9, test10, test11, test12, test13) (test14, test15, test16, test17, test18, test19, test20, test21) (test22): Likewise. * gcc.target/mips/madd-1.c (f1, f2, f3): Likewise. * gcc.target/mips/madd-2.c (f1, f2, f3): Likewise. * gcc.target/mips/madd-4.c (f1, f2, f3): Likewise. * gcc.target/mips/maddu-1.c (f1, f2, f3): Likewise. * gcc.target/mips/maddu-2.c (f1, f2, f3): Likewise. * gcc.target/mips/maddu-4.c (f1, f2, f3): Likewise. * gcc.target/mips/mips-3d-1.c (main): Likewise. * gcc.target/mips/mips-3d-2.c (main, test0, test1, test2, test3) (test4, test5, test6, test7, test8, test9, test10, test11, test12) (test13, test14, test15, test16, test17, test18, test19, test20) (test21, test22, test23, test24, test25, test26, test27, test28) (test29, test30, test31): Likewise. * gcc.target/mips/mips-3d-3.c (main, test0, test1, test2, test3) (test4, test5, test6, test7, test8, test9, test10, test11, test12) (test13, test14, test15, test16, test17, test18, test19, test20) (test21, test22, test23, test24, test25, test26, test27, test28) (test29, test30, test31, test32, test33, test34, test35, test36) (test37, test38, test39, test40, test41, test42, test43, test44) (test45, test46, test47, test48, test49, test50, test51, test52) (test53, test54, test55, test56, test57, test58, test59, test60) (test61, test62, test63): Likewise. * gcc.target/mips/mips-3d-4.c (main, test0, test1, test2, test3) (test4, test5, test6, test7, test8, test9, test10, test11, test12) (test13, test14, test15, test16, test17, test18, test19, test20) (test21, test22, test23, test24, test25, test26, test27, test28) (test29, test30, test31): Likewise. * gcc.target/mips/mips-3d-5.c (main, test0, test1, test2, test3) (test4, test5, test6, test7, test8, test9, test10, test11, test12) (test13, test14, test15, test16, test17, test18, test19, test20) (test21, test22, test23, test24, test25, test26, test27, test28) (test29, test30, test31): Likewise. * gcc.target/mips/mips-3d-6.c (main, test0, test1, test2, test3) (test4, test5, test6, test7, test8, test9, test10, test11, test12) (test13, test14, test15): Likewise. * gcc.target/mips/mips-3d-7.c (main, test0, test1, test2, test3) (test4, test5, test6, test7, test8, test9, test10, test11, test12) (test13, test14, test15): Likewise. * gcc.target/mips/mips-3d-8.c (main, test0, test1, test2, test3) (test4, test5, test6, test7, test8, test9, test10, test11, test12) (test13, test14, test15, test16, test17, test18, test19, test20) (test21, test22, test23, test24, test25, test26, test27, test28) (test29, test30, test31): Likewise. * gcc.target/mips/mips-3d-9.c (matrix_multiply2, matrix_multiply3) (matrix_multiply4: Likewise. * gcc.target/mips/mips-ps-1.c (main): Likewise. * gcc.target/mips/mips-ps-2.c (main): Likewise. * gcc.target/mips/mips-ps-3.c (main): Likewise. * gcc.target/mips/mips-ps-4.c (main, test0, test1, test2, test3) (test4, test5, test6, test7, test8, test9, test10, test11, test12) (test13, test14, test15, test16, test17, test18, test19, test20) (test21, test22, test23, test24, test25, test26, test27, test28) (test29, test30, test31): Likewise. * gcc.target/mips/mips-ps-5.c (main, test0, test1, test2, test3) (test4, test5, test6, test7, test8, test9, test10, test11, test12) (test13, test14, test15, test16, test17, test18, test19, test20) (test21, test22, test23, test24, test25, test26, test27, test28) (test29, test30, test31): Likewise. * gcc.target/mips/mips-ps-5.c (main): Likewise. * gcc.target/mips/mips-ps-6.c (main): Likewise. * gcc.target/mips/mips-ps-type.c (init, move, load, store, add, sub) (neg, mul, madd, msub, nmadd, nmsub, cond_move1, cond_move2): Likewise. * gcc.target/mips/mips32-dsp-type.c (add_v2hi,add_v4qi, sub_v2hi) (sub_v4qi): Likewise. * gcc.target/mips/mips32-dsp.c (test_MIPS_DSP, add_v2q15, add_v4i8) (sub_v2q15, sub_v4i8, test_MIPS_DSP): Likewise. * gcc.target/mips/movcc-1.c (sub1, sub2): Likewise. * gcc.target/mips/movcc-2.c (sub4, sub5): Likewise. * gcc.target/mips/movcc-3.c (sub3, sub6, sub7, sub8, sub9, suba) (subb, subc): Likewise. * gcc.target/mips/msub-1.c (f1, f2): Likewise. * gcc.target/mips/msub-2.c (f1, f2): Likewise. * gcc.target/mips/msub-4.c (f1, f2): Likewise. * gcc.target/mips/msubu-1.c (f1, f2): Likewise. * gcc.target/mips/msubu-2.c (f1, f2): Likewise. * gcc.target/mips/msubu-4.c (f1, f2): Likewise. * gcc.target/mips/nmadd-1.c (sub1, sub2, sub3, sub4): Likewise. * gcc.target/mips/nmadd-2.c (sub1, sub2, sub3, sub4): Likewise. * gcc.target/mips/rsqrt-1.c (foo, bar): Likewise. * gcc.target/mips/rsqrt-2.c (foo, bar): Likewise. * gcc.target/mips/sb1-1.c (divide, recip, squareroot, rsqrt): Likewise. * gcc.target/mips/vr-mult-1.c (f1, f2): Likewise. * gcc.target/mips/vr-mult-2.c (f1, f2): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128683 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-09-2240-90/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/sourcebuild.texi: Document dg-add-options mips16_attribute. gcc/testsuite/ * lib/target-supports.exp (add_options_for_mips16_attribute) (check_effective_target_mips16_attribute): New functions. * gcc.target/mips/mips.exp: Define MIPS16 and NOMIPS16 on the command line. (dg-mips-options) Remove -mno-mips16 handling. Add options to extra_test_flags. * gcc.target/mips/asm-1.c (NOMIPS16): Delete. * gcc.target/mips/atomic-memory-1.c (NOMIPS16): Likewise. * gcc.target/mips/atomic-memory-2.c (NOMIPS16): Likewise. * gcc.target/mips/branch-1.c (NOMIPS16): Likewise. * gcc.target/mips/dspr2-MULT.c (NOMIPS16): Likewise. * gcc.target/mips/dspr2-MULTU.c (NOMIPS16): Likewise. * gcc.target/mips/fpcmp-1.c (NOMIPS16): Likewise. * gcc.target/mips/fpcmp-2.c (NOMIPS16): Likewise. * gcc.target/mips/ins-1.c (NOMIPS16): Likewise. * gcc.target/mips/madd-3.c (NOMIPS16): Likewise. * gcc.target/mips/maddu-3.c (NOMIPS16): Likewise. * gcc.target/mips/mips32-dsp-run.c (NOMIPS16): Likewise. * gcc.target/mips/mips32-dspr2-type.c (NOMIPS16): Likewise. * gcc.target/mips/msub-3.c (NOMIPS16): Likewise. * gcc.target/mips/msubu-3.c (NOMIPS16): Likewise. * gcc.target/mips/near-far-3.c (NOMIPS16): Likewise. * gcc.target/mips/near-far-4.c (NOMIPS16): Likewise. * gcc.target/mips/neg-abs-1.c (NOMIPS16): Likewise. * gcc.target/mips/smartmips-lwxs.c (NOMIPS16): Likewise. * gcc.target/mips/smartmips-ror-1.c (NOMIPS16): Likewise. * gcc.target/mips/smartmips-ror-2.c (NOMIPS16): Likewise. * gcc.target/mips/smartmips-ror-3.c (NOMIPS16): Likewise. * gcc.target/mips/smartmips-ror-4.c (NOMIPS16): Likewise. * gcc.target/mips/pr26765.c: Use dg-mips-options instead of dg-options. (NOMIPS16): Delete. * gcc.target/mips/20020620-1.c: Use dg-mips-options instead of dg-options. * gcc.target/mips/call-saved-1.c: Remove -mips16 and -mno-abicalls options. Require { target mips16_attribute } and use dg-add-options to add the associated options. (foo): Use MIPS16. * gcc.target/mips/call-saved-2.c: As for call-saved-1.c. * gcc.target/mips/call-saved-3.c: Likewise. * gcc.target/mips/code-readable-1.c: Require { target mips16_attribute } and use dg-add-options to add the associated options. Remove trailing whitespace. (NOMIPS16): Delete. * gcc.target/mips/code-readable-2.c: Likewise. * gcc.target/mips/code-readable-3.c: Likewise. * gcc.target/mips/mips16-attributes-2.c: Likewise. * gcc.target/mips/mips16e-extends.c: Remove -mips16 option. Require { target mips16_attribute } and use dg-add-options to add the associated options. (cksum16, cksum8): Use MIPS16. * gcc.target/mips/save-restore-1.c: Remove -mips16 option. Require { target mips16_attribute } and use dg-add-options to add the associated options. (foo): Use MIPS16. * gcc.target/mips/save-restore-2.c: Likewise. * gcc.target/mips/save-restore-3.c: Likewise. * gcc.target/mips/save-restore-4.c: Likewise. * gcc.target/mips/save-restore-5.c: Likewise. Also remove -mno-abicalls. * gcc.target/mips/mips-sched-madd.c: Remove -mno-mips16. (foo): Use NOMIPS16. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128674 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/i386/sse5-hadduX.c: Remove target selector.uros2007-09-2213-13/+18
| | | | | | | | | | | | | | | | | | | | * gcc.target/i386/sse5-haddX.c: Ditto. * gcc.target/i386/sse5-hsubX.c: Ditto. * gcc.target/i386/sse5-maccXX.c: Ditto. * gcc.target/i386/sse5-msubXX.c: Ditto. * gcc.target/i386/sse5-nmaccXX.c: Ditto. * gcc.target/i386/sse5-nmsubXX.c: Ditto. * gcc.target/i386/sse5-permpX.c: Ditto. * gcc.target/i386/sse5-fma.c: Remove target selector. Require lp64 effective target. * gcc.target/i386/sse5-fma-vector.c: Ditto. * gcc.target/i386/sse5-ima-vector.c: Ditto. * gcc.target/i386/sse5-pcmov.c: Ditto. * gcc.target/i386/sse5-pcmov2.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128667 138bc75d-0d04-0410-961f-82ee72b054a4
* * lib/target-supports.exp (check_effective_target_fixed_point): New tochaoyingfu2007-09-224-0/+431
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | check if targets have fixed-point supports. * gcc.dg/fixed-point/fixed-point.exp: New file. * gcc.dg/fixed-point/addsub.c, gcc.dg/fixed-point/allconv.c, * gcc.dg/fixed-point/allop.c, gcc.dg/fixed-point/call-by-value.c, * gcc.dg/fixed-point/cast-bad.c, gcc.dg/fixed-point/composite-type.c, * gcc.dg/fixed-point/const-1.c, gcc.dg/fixed-point/constant.c, * gcc.dg/fixed-point/constants-pedantic.c, * gcc.dg/fixed-point/convert.c, gcc.dg/fixed-point/define.c, * gcc.dg/fixed-point/keywords-c89.c, gcc.dg/fixed-point/keywords-c99.c, * gcc.dg/fixed-point/keywords-ignored-c99.c, * gcc.dg/fixed-point/keywords-pedantic.c, * gcc.dg/fixed-point/keywords-reserved.c, gcc.dg/fixed-point/binary.c, * gcc.dg/fixed-point/modes.c, gcc.dg/fixed-point/noassoc.c, * gcc.dg/fixed-point/types.c, gcc.dg/fixed-point/typespec.c, * gcc.dg/fixed-point/unary.c, gcc.dg/fixed-point/func-array.c, * gcc.dg/fixed-point/func-scalar.c, gcc.dg/fixed-point/func-struct.c, * gcc.dg/fixed-point/func-vararg-mixed.c, * gcc.dg/fixed-point/operator-logical.c, * gcc.dg/fixed-point/struct-union.c, * gcc.dg/fixed-point/bit-complement.c, * gcc.dg/fixed-point/operator-bitwise.c, * gcc.dg/fixed-point/operator-comma.c, * gcc.dg/fixed-point/struct-layout-1.c, * gcc.dg/fixed-point/union-init.c, * gcc.dg/fixed-point/Wbad-function-cast-1.c, * gcc.dg/fixed-point/func-mixed.c, * gcc.dg/fixed-point/func-vararg-size0.c, * gcc.dg/fixed-point/func-vararg.c, gcc.dg/fixed-point/int-warning.c, * gcc.dg/fixed-point/loop-index.c, gcc.dg/fixed-point/operator-cond.c, * gcc.dg/fixed-point/operator-unary.c, * gcc.dg/fixed-point/allop-const.c, * gcc.dg/fixed-point/muldiv-warning.c, * gcc.dg/nofixed-point-1.c, * gcc.target/mips/dpaq_sa_l_w.c, gcc.target/mips/dpsq_sa_l_w.c, * gcc.target/mips/fixed-vector-type.c, * gcc.target/mips/fixed-scalar-type.c: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128661 138bc75d-0d04-0410-961f-82ee72b054a4
* * config.gcc (bfin*-linux-uclibc*): Add ./linux-sysroot-suffix.hjiez2007-09-1924-9/+606
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to tm_file. * config/bfin/print-sysroot-suffix.sh: New. * config/bfin/t-bfin-elf (EXTRA_PARTS): Remove. (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Redefine with new multilibs. * config/bfin/t-bfin-uclinux (EXTRA_PARTS): Remove. (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Redefine with new multilibs. * config/bfin/t-bfin-linux (EXTRA_PARTS): Remove. (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Redefine with new multilibs. (linux-sysroot-suffix.h): New target. * config/bfin/bfin.opt (mcsync-anomaly): Use Var instead of Mask. (mspecld-anomaly): Likewise. * config/bfin/bfin-protos.h (enum bfin_cpu_type): Renamed from (enum bfin_cpu): ... this. Add BFIN_CPU_BF522, BFIN_CPU_BF525, BFIN_CPU_BF527, BFIN_CPU_BF538, BFIN_CPU_BF539, BFIN_CPU_BF542, BFIN_CPU_BF544, BFIN_CPU_BF548, and BFIN_CPU_BF549. (bfin_si_revision): Declare. (bfin_workarounds): Declare. (WA_SPECULATIVE_LOADS): Define. (ENABLE_WA_SPECULATIVE_LOADS): Define. (WA_SPECULATIVE_SYNCS): Define. (ENABLE_WA_SPECULATIVE_SYNCS): Define. * config/bfin/elf.h (STARTFILE_SPEC): Rename crt532.o to basiccrt.o. (LIB_SPEC): Add %s to the linker scripts. Use proper linker script for bf522, bf525, bf527, bf538, bf539, bf542, bf544, bf548, and bf549. * config/bfin/bfin.c (bfin_si_revision): Define. (bfin_workarounds): Define. (struct bfin_cpu): New. (bfin_cpus): New. (bfin_handle_option): Handle silicon revision part of -mcpu option. (override_options): Set bfin_workarounds. (length_for_loop): Replace TARGET_CSYNC_ANOMALY with ENABLE_WA_SPECULATIVE_SYNCS, TARGET_SPECLD_ANOMALY with ENABLE_WA_SPECULATIVE_LOADS. (bfin_reorg): Likewise. * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define macros for bf522, bf525, bf527, bf538, bf539, bf542, bf544, bf548, and bf549. Define __SILICON_REVISION__ and __WORKAROUND_* macros if needed. Don't define __ID_SHARED_LIB__ when -msep-data. (TARGET_DEFAULT): Define as 0. (DRIVER_SELF_SPECS): Add -mcpu=bf532 if no -mcpu option. * doc/invoke.texi (Blackfin Options): Document silicon revision part of -mcpu option and it now accepts bf522, bf525, bf527, bf538, bf539, bf542, bf544, bf548, and bf549. Neither -mspecld-anomaly nor -mcsync-anomaly is enabled anymore. testsuite/ * gcc.target/bfin/bfin.exp: New. * gcc.target/bfin/{workarounds-any.c, workarounds-none.c, workarounds-1.c, workarounds-2.c, workarounds-3.c, workarounds-4.c, mcpu-bf522.c, mcpu-bf525.c, mcpu-bf527.c, mcpu-bf531.c, mcpu-bf532.c, mcpu-bf533.c, mcpu-bf534.c, mcpu-bf536.c, mcpu-bf537.c, mcpu-bf538.c, mcpu-bf539.c, mcpu-bf542.c, mcpu-bf544.c, mcpu-bf548.c, mcpu-bf549.c, mcpu-bf561.c, mcpu-default.c}: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128597 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-09-161-0/+36
| | | | | | | | | | | | | | | | * dse.c (find_shift_sequence): Allow word as well as subword shifts. Do the tentative shift expansion with the DF_NO_INSN_RESCAN flag set. Fix the call to insn_rtx_cost. Skip access sizes that require a real truncation of the store register. Use convert_move instead of gen_lowpart when narrowing the result. (replace_read): Use convert_move instead of gen_lowpart when narrowing the store rhs. gcc/testsuite/ * gcc.target/mips/dse-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128530 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-09-161-0/+20
| | | | | | | | | | | | * config/mips/mips.md (SHORT): Fix long line. (SUBDI): New mode iterator. Extend the shift-and-truncate insns to QImode and HImoe. gcc/testsuite/ * gcc.target/mips/truncate-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128525 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/33438uros2007-09-141-0/+12
| | | | | | | | | | | | | | | * config/i386/i386.md (fmodxf3): Copy operands[2] to temporary register when operands[2] equals operands[1]. (remainderxf3): Ditto. testsuite/ChangeLog: PR target/33438 * gcc.target/i386/pr33438.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128502 138bc75d-0d04-0410-961f-82ee72b054a4