aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
AgeCommit message (Collapse)AuthorFilesLines
2004-12-27i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.Richard Henderson1-2/+3
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW. * gcc.dg/vect/vect-27a.c, gcc.dg/vect/vect-29a.c, gcc.dg/vect/vect-48a.c, gcc.dg/vect/vect-56a.c, gcc.dg/vect/vect-72a.c, gcc.dg/vect/vect-77a.c: Remove. From-SVN: r92637
2004-12-26i386.md (mov<MMXMODEI>_internal_rex64): New.Richard Henderson1-4/+50
* config/i386/i386.md (mov<MMXMODEI>_internal_rex64): New. (movv2sf_internal_rex64): New. (mov<MMXMODEI>_internal): Use no register preferences at all. (movv2sf_internal): Likewise. From-SVN: r92634
2004-12-26i386.c (ix86_gimplify_va_arg): Also pass the result of type_natural_mode to ↵Richard Henderson1-5/+5
examine_argument. * config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result of type_natural_mode to examine_argument. From-SVN: r92633
2004-12-27re PR target/17643 (ICE in propagate_one_insn, at flow.c:1582)John David Anglin1-3/+5
PR target/17643 * pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when generating code for the portable runtime. From-SVN: r92629
2004-12-25re PR target/19059 (Atmel AVR Tiny13 and Tiny2313 support corrupted)Marek Michalkiewicz3-7/+7
PR target/19059 * config/avr/avr.c (avr_mcu_types): Move attiny{13,2313} from avr4 to avr2. * config/avr/avr.h (LINK_SPEC): Ditto. * config/avr/t-avr (MULTILIB_MATCHES): Ditto. From-SVN: r92607
2004-12-25re PR target/19137 (ICE with load of TImode constant)Alan Modra1-33/+35
PR target/19137 * config/rs6000/rs6000.md (movti_power, movti_string): Relax operand[1] predicate to input_operand, and add r<-n alternative. Move TImode const_double_operand splitter to where it belongs. From-SVN: r92603
2004-12-25re PR target/19147 (invalid rlwinm patterns)Alan Modra1-54/+0
PR target/19147 * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete. From-SVN: r92594
2004-12-24i386.md (*fix_trunc{d,s,h}i_1): Rename to *fix_trunc{d,s,h}i_i387.Uros Bizjak1-6/+6
* config/i386/i386.md (*fix_trunc{d,s,h}i_1): Rename to *fix_trunc{d,s,h}i_i387. (fix_trunc{d,s}fdi2): Reorder tests. From-SVN: r92586
2004-12-24re PR target/19142 (ppc-darwin no longer builds)Alan Modra1-1/+2
PR target/19142 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow DFmode for 32-bit again. From-SVN: r92583
2004-12-23mips.h (TARGET_CPU_CPP_BUILTINS): Add assert for machine=mips for !TARGET_IRIX.Eric Christopher4-3/+4
2004-12-23 Eric Christopher <echristo@redhat.com> * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add assert for machine=mips for !TARGET_IRIX. * config/mips/linux.h: Remove machine=mips assert. * config/mips/netbsd.h: Ditto. * config/mips/openbsd.h: Ditto. From-SVN: r92561
2004-12-23i386.c (override_options): Revert last change wrt fancy 387 math.Richard Henderson1-2/+1
* config/i386/i386.c (override_options): Revert last change wrt fancy 387 math. From-SVN: r92547
2004-12-23alpha.md (one_cmpl<mode>2, [...]): New macroized vector operate patterns.Richard Henderson1-0/+55
* config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3, ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized vector operate patterns. From-SVN: r92545
2004-12-23i386.c (ix86_expand_vector_move): Tidy.Richard Henderson3-33/+164
* config/i386/i386.c (ix86_expand_vector_move): Tidy. (ix86_expand_vector_move_misalign): New. (ix86_misaligned_mem_ok): Remove. (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. * config/i386/i386-protos.h: Update. * config/i386/i386.md (SSEMODEI): Rename from SSEINT16. (MMXMODEI): Rename from MMXINT8. (SSEMODE, MMXMODE, movmisalign<mode>): New. From-SVN: r92543
2004-12-23alpha.c (alpha_expand_mov): Split out ...Richard Henderson3-119/+51
* config/alpha/alpha.c (alpha_expand_mov): Split out ... (alpha_expand_movmisalign): ... misaligned vector support. (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.md (VEC): New macro. (movv8qi, movv4hi, movv2si): Compress with VEC. (movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise. (movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise. (movmisalign<mode>): New. From-SVN: r92538
2004-12-22emmintrin.h (_mm_loadh_pd): Don't cast pointer arg to __v2si.Richard Henderson3-73/+150
* config/i386/emmintrin.h (_mm_loadh_pd): Don't cast pointer arg to __v2si. (_mm_storeh_pd, _mm_loadl_pd, _mm_storel_pd): Likewise. * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use double* or const double* for __builtin_ia32_loadhpd, __builtin_ia32_loadlpd, __builtin_ia32_storehpd, __builtin_ia32_storelpd. (ix86_expand_builtin): Update to match. (ix86_expand_vector_init): Use sse2_loadlpd. * config/i386/i386.md (vec_setv2df): Use sse2_loadlpd, sse2_loadhpd. (vec_extractv2df): Use sse2_storelpd, sse2_storehpd. (sse2_storehpd, sse2_loadhpd, sse2_storelpd, sse2_loadlpd): New. (sse2_movhpd): Remove. From-SVN: r92536
2004-12-23re PR target/18751 (ICE in expr.c:5083, profiledbootstrap)Alan Modra1-1/+2
PR target/18751 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return false for anything larger than 32 bits in 32-bit code. From-SVN: r92535
2004-12-22i386.md (btsq, btrq, btcq): Fix modes.Richard Henderson1-12/+12
* config/i386/i386.md (btsq, btrq, btcq): Fix modes. (bt peepholes): Likewise. From-SVN: r92534
2004-12-22predicates.md (sse_comparison_operator): Fix typo in ieee test.Richard Henderson1-3/+3
* config/i386/predicates.md (sse_comparison_operator): Fix typo in ieee test. (arith_or_logical_operator): Downcase codes. From-SVN: r92532
2004-12-22i386.c (override_options): Respect user disable of fancy 387 math, sse, mmx.Richard Henderson2-27/+46
* config/i386/i386.c (override_options): Respect user disable of fancy 387 math, sse, mmx. (construct_container): Generate error if we need an sse regster and sse has been disabled. * config/i386/i386.h (TARGET_SWITCHES): Disabling sse also disables later sse generations. Disabling mmx also disables 3dnow. From-SVN: r92530
2004-12-22i386.md (truncdfsf2): Don't create stack temp when using sse math only.Richard Henderson1-160/+178
* config/i386/i386.md (truncdfsf2): Don't create stack temp when using sse math only. Use truncdfsf2_with_temp. (truncdfsf2_with_temp): New. (truncdfsf_fast_i387): Rename from truncdfsf2_noop. Add memory output alternative. (truncdfsf_mixed): Rename from truncdfsf2_1_sse. Compress duplicate alternatives. (truncdfsf_fast_sse): Rename from truncdfsf2_2. Remove f alternative. (truncdfsf2_3, truncdfsf2_sse_only): Remove. (truncdfsf_i387): Rename from truncdfsf2_1. Compress duplicates. (truncdfsf_fast_mixed): New. (truncdfsf splitters): Remove all except the 387 load/store split. (truncxfsf2_1, truncxfdf2_1): Unify enable constraint with respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH and TARGET_MIX_SSE_I387. (*truncxf{s,d}f2_1): Rename to *truncxf{s,d}f2_mixed. (truncxf{s,d}f2_noop) Rename to truncxf{d,s}f2_i387_noop. (*truncxf{s,d}f2_i387): New patterns. (*truncxf{s,d}f2_2): Rename to *truncxf{s,d}f2_i387_1. (truncxf{s,d}f2, fmod{s,d}f3, drem{s,d}f3, log1p{s,d}f2, rint{s,d}f2, floor{s,d}f2, ceil{s,d}f2, btrunc{s,d}f2, nearbyint{s,d}f2): Use renamed patterns. Co-Authored-By: Uros Bizjak <uros@kss-loka.si> From-SVN: r92498
2004-12-22config.gcc: Add dbxelf.h to NetWare's tm_file.Jan Beulich4-3/+10
gcc/ 2004-12-22 Jan Beulich <jbeulich@novell.com> * config.gcc: Add dbxelf.h to NetWare's tm_file. * config/i386/netware-crt0.c: Prototype __init_environment and __deinit_environment prior to their definition. (__init_environment): Correct invokation of constructor function. * config/i386/netware.h (TARGET_OS_CPP_BUILTINS): Use builtin_define_std rather than builtin_define on IAPX386. * config/i386/nwld.h: Disable stabs debugging info with the linker this file supports. * config/i386/t-nwld (SHLIB_LINK): Do not use a temporary file for the output. Add -posix to the options as that is the more compatible mode. * gthr-nks.h: Formatting. (__gthread_mutex_init_function): Kill the dubious use of NX_MUTEX_RECURSIVE as it is now clear that the traditional mutexes were not meant to be recursive. (__gthread_recursive_mutex_t, __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION, __gthread_recursive_mutex_init_function, __gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock, __gthread_recursive_mutex_unlock): New. gcc/testsuite/ 2004-12-22 Jan Beulich <jbeulich@novell.com> * gcc.dg/20040813-1.c: Skip for *-*-netware*. From-SVN: r92488
2004-12-22t-linux64: Remove code that messed with $(SPECS).Alexandre Oliva2-32/+3
* config/mips/t-linux64: Remove code that messed with $(SPECS). (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Move n32 to the front. (MULTILIB_EXTRA_OPTS, CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Removed. * config/mips/linux64.h (DRIVER_SELF_SPECS): Don't handle -mabi-fake-default. (SUBTARGET_TARGET_SWITCHES): Likewise. From-SVN: r92487
2004-12-21freebsd-spec.h: Use KSE pthread lib for -pthread.David O'Brien1-8/+8
2004-12-21 David O'Brien <obrien@FreeBSD.org> * config/freebsd-spec.h: Use KSE pthread lib for -pthread. From-SVN: r92462
2004-12-21i386.c (x86_sse_split_regs): Rename from x86_sse_partial_regs.Richard Henderson3-49/+14
* config/i386/i386.c (x86_sse_split_regs): Rename from x86_sse_partial_regs. * config/i386/i386.h (x86_sse_split_regs): Likewise. (TARGET_SSE_SPLIT_REGS): Rename from TARGET_SSE_PARTIAL_REGS. * config/i386/i386.md (*): Update to match. Remove two floatsisf splitters that use it. From-SVN: r92458
2004-12-21i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove.Richard Henderson3-101/+4
* config/i386/i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove. * config/i386/i386.h (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): Remove. * config/i386/i386.md (truncdfsf2_1_sse): Don't test it. (truncdfsf2_2, truncdfsf2_sse_only): Likewise. (truncdfsf2_1_sse_nooverlap, truncdfsf2_2_nooverlap): Remove. (truncdfsf2_sse_only_nooverlap): Remove. From-SVN: r92457
2004-12-21* config/i386/i386.h (TARGET_SSE_TYPELESS_LOAD0): Remove.Richard Henderson1-1/+0
From-SVN: r92456
2004-12-21re PR middle-end/18683 (seg fault in local allocate)Roger Sayle1-1/+2
PR middle-end/18683 * config/rs6000/rs6000.c (current_file_function_operand): Only check current_function_decl's DECL_RTL if it has already been set. From-SVN: r92453
2004-12-20i386.md (sse2_movsd): Remove ix86_binary_operator_ok check.Richard Henderson1-1/+6
* config/i386/i386.md (sse2_movsd): Remove ix86_binary_operator_ok check. From-SVN: r92416
2004-12-20i386.c (ix86_init_mmx_sse_builtins): Use long_long_integer_type_node in ↵Richard Henderson1-1/+2
building V2DI_type_node. * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use long_long_integer_type_node in building V2DI_type_node. From-SVN: r92413
2004-12-20emmintrin.h: Use __vector_size__ instead of vector_size.Richard Henderson3-11/+11
* config/i386/emmintrin.h: Use __vector_size__ instead of vector_size. * config/i386/mmintrin.h, config/i386/xmmintrin.h: Likewise. From-SVN: r92412
2004-12-20defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro.Mark Mitchell1-2/+2
* defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro. * output.h (assemble_name_raw): Declare it. * system.h (ASM_OUTPUT_INTERNAL_LABEL): Do not poison it. * varasm.c (assemble_name_raw): New function. (assemble_name): Use it. (default_internal_label): Likewise. * config/darwin.c (darwin_asm_output_dwarf_delta): Likewise. * doc/tm.texi (ASM_OUTPUT_INTERNAL_LABEL): Document. From-SVN: r92401
2004-12-19i386.c (ix86_split_to_parts): Use an array with four elements for decoding a ↵Steven Bosscher1-1/+3
CONST_DOUBLE on 64 bits targets. * config/i386/i386.c (ix86_split_to_parts): Use an array with four elements for decoding a CONST_DOUBLE on 64 bits targets. From-SVN: r92387
2004-12-19m68kemb.h (TARGET_OS_CPP_BUILTINS): Remove redundant definition of mc68000, ↵Bernardo Innocenti1-4/+3
already present in TARGET_CPU_CPP_BUILTINS. * config/m68k/m68kemb.h (TARGET_OS_CPP_BUILTINS): Remove redundant definition of mc68000, already present in TARGET_CPU_CPP_BUILTINS. From-SVN: r92384
2004-12-19i386.md (SSEINT16): New.Richard Henderson1-375/+140
* config/i386/i386.md (SSEINT16): New. (movv16qi, movv8hi, movv4si, movv2di): Compress via macros. (movv16qi_internal, movv8hi_internal, movv4si_internal, movv2di_internal): Compress via macros. Add SSE zero alternative. Fix pure SSE alternatives to use 'x' instead of 'Y'. (MMXINT8): New. (movv8qi, movv4hi, movv2si, movv8qi_internal, movv4hi_internal, movv2si_internal): Compress via macros. (SSEPUSH, MMXPUSH): New. (pushv18qi, pushv8hi, pushv4si, pushv2di, pushti, pushv4sf, pushv2df, pushv8qi, pushv4hi, pushv2si, pushv2sf): Compress via macros. From-SVN: r92374
2004-12-18ieee754-sf.S (floatdisf): Fix label definition in FPA compatibility code.Richard Earnshaw1-1/+1
* arm/ieee754-sf.S (floatdisf): Fix label definition in FPA compatibility code. From-SVN: r92356
2004-12-17i386.c (x86_64_reg_class_name): Re-indent.Richard Henderson3-183/+250
* config/i386/i386.c (x86_64_reg_class_name): Re-indent. (classify_argument, examine_argument, construct_container, merge_classes): Remove prototypes. (type_natural_mode): Split out from ... (function_arg): ... here. (gen_reg_or_parallel): Remove alt_mode argument. Update callers. Use orig_mode unless it's BLKmode. (construct_container): Add orig_mode argument. Update callers. Use gen_reg_or_parallel for SSE registers. (ix86_function_value): Use type_natural_mode. (ix86_gimplify_va_arg): Likewise. (ix86_hard_regno_mode_ok): Always accept all SSE, MMX, 3DNOW modes in SSE registers; always accept all MMX, 3DNOW modes in MMX registers. * config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include VALID_MMX_REG_MODE. * config/i386/i386.md (attribute mode): Add V1DF. (movsi_1): Use 'x' instead of 'Y' constraints. (movsi_1_nointernunit, movdi_2, movdi_1_rex64): Likewise. (movdi_1_rex64_nointerunit): Likewise. (movdf_nointeger, movdf_integer): Likewise. Handle SSE1. (movsf_1, movsf_1_nointerunit): Line up constraint alternatives. (swapsf): Use fp_register_operand, don't disable for TARGET_SSE. (swapdf): Likewise. (swapxf): Enable only for TARGET_80387. (movv2sf, movv2sf_internal, pushv2sf): Enable for MMX. (movtf): Remove double-check for TARGET_64BIT. (movv2df_internal): Enable for SSE1. (movv8hi_internal, movv16qi_internal): Likewise. (movv2df, movv8hi, movv16qi): Likewise. (pushv2di, pushv8hi, pushv16qi, pushv4si): Likewise. (pushdi2_rex64, movv4sf_internal, movv4si_internal, movv2di_internal, movv8qi_internal, movv4hi_internal, movv2sf_internal, movv2df_internal, movv8hi_internal, movv16qi_internal, movti_internal): Add leading '*' to name. From-SVN: r92336
2004-12-17s390.c (s390_gimplify_va_arg): Set alias set to s390_sr_alias_set.Andreas Krebbel1-0/+1
2004-12-17 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.c (s390_gimplify_va_arg): Set alias set to s390_sr_alias_set. From-SVN: r92313
2004-12-17re PR target/17603 (cpowf and cpowl give wrong results)Jan Beulich1-11/+17
2004-12-17 Jan Beulich <jbeulich@novell.com> PR target/17603 * config/i386/i386.c (enum x86_64_reg_class): Define X86_64_COMPLEX_X87_CLASS. (x86_64_reg_class_names): Add name for X86_64_COMPLEX_X87_CLASS. (merge_classes): Handle X86_64_COMPLEX_X87_CLASS. (classify_argument): XCmode is X86_64_COMPLEX_X87_CLASS. (examine_argument): X86_64_COMPLEX_X87_CLASS requires two registers when dealing with a return value. (construct_container): Handle X86_64_COMPLEX_X87_CLASS. Eliminate impossible case of two X87/X87UP pairs (this now is being expressed by a single COMPLEX_X87). (x86_libcall_value): XCmode gets returned in st0/st1. From-SVN: r92312
2004-12-17* config/i386/i386.md (extendsfdf2, *extendsfdf2_1,Uros Bizjak1-11/+35
*extendsfdf2_1_sse_only): Unify enable constraint with respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH and TARGET_MIX_SSE_I387. (*extendsfdf2_i387): New insn pattern. (*extendsfdf2_1): Rename to *extendsfdf2_mixed. Fix register constraint for operand 0. (*extendsfdf2_1_sse_only): Rename to *extendsfdf2_sse. (*extend{s,d}fxf2_1): Rename to *extend{s,d}fxf2_i387. From-SVN: r92308
2004-12-16re PR target/19041 (-fvisibility=hidden causes bad codegen for common symbols)Andrew Pinski1-7/+21
2004-12-16 Andrew Pinski <pinskia@physics.uc.edu> PR target/19041 * config/darwin.c (machopic_symbol_defined_p): Return false if the binds local and is a common symbol. 2004-12-16 Andrew Pinski <pinskia@physics.uc.edu> PR target/19041 * gcc.dg/visibility-c.c: New test. From-SVN: r92292
2004-12-16i386.md (extv, [...]): Revalidate the operand with ext_register_operand.Richard Henderson1-3/+3
* config/i386/i386.md (extv, extzv, insv): Revalidate the operand with ext_register_operand. From-SVN: r92287
2004-12-16re PR target/18997 (Segmentation Violation in pthread_getspecific)Danny Smith1-0/+4
gcc PR target/18997 * config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0. libstdc++-v3 PR target/18997 * config/os/newlib/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define to 0 for __CYGWIN__. From-SVN: r92281
2004-12-16re PR other/18508 ("basename: too few arguments" when building without ↵H.J. Lu10-15/+10
bootstrap) 2004-12-14 H.J. Lu <hongjiu.lu@intel.com> PR other/18508 * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix to back up the existing shared library. * config/arm/t-netbsd (SHLIB_LINK): Likewise. * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise. * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise. * config/sh/t-linux (SHLIB_LINK): Likewise. * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise. * config/t-slibgcc-darwin (SHLIB_LINK): Likewise. * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise. * config/t-slibgcc-sld (SHLIB_LINK): Likewise. * config/i386/t-nwld (SHLIB_LINK): Don't use the temporary file. From-SVN: r92276
2004-12-16s390.c (struct processor_costs): Two new fields: madbr, maebr.Mark Dettinger1-3/+12
2004-12-16 Mark Dettinger <dettinge@de.ibm.com> * config/s390/s390.c (struct processor_costs): Two new fields: madbr, maebr. (s390_rtx_costs): Added handling of multipy and add in SFmode. More precise values for cost of multiply and add. From-SVN: r92259
2004-12-16re PR target/19028 (ICE in libjava)Richard Henderson1-1/+2
PR target/19028 * config/i386/i386.md (sse compare splitter): Test for SF and DFmode explicitly instead of using VALID_SSE_REG_MODE. From-SVN: r92251
2004-12-16re PR target/19005 (Error: bad register name `%sil')Richard Henderson1-19/+28
PR target/19005 * config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with optimize_size. (swapqi_1): Rename from swapqi. Enable only for no partial reg stall and optimize_size. (swapqi_2): New. (swaphi_1, swaphi_2, swapqi_1): Add athlon_decode. (swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override. From-SVN: r92250
2004-12-16i386.md (*floathisf2_i387, [...]): Also enable for TARGET_MIX_SSE_I387.Uros Bizjak1-2/+2
* config/i386/i386.md (*floathisf2_i387, *floathidf2_i387): Also enable for TARGET_MIX_SSE_I387. From-SVN: r92249
2004-12-16i386.md (sqrt{s,d}f2_1, [...]): Unify enable constraint with respect to ↵Uros Bizjak1-25/+20
TARGET_SSE... * config/i386/i386.md (sqrt{s,d}f2_1, sqrt{s,d}f2_1_sse_only, sqrt{s,d}f2_i387): Unify enable constraint with respect to TARGET_SSE, TARGET_SSE2, TARGET_USE_FANCY_MATH_387, TARGET_SSE_MATH and TARGET_MIX_SSE_I387. (sqrt{s,d}f2_1): Rename to *sqrt{s,d}f2_mixed. (sqrt{s,d}f2_1_sse_only): Rename to *sqrt{s,d}f2_sse. (sqrt{s,d}f2_i387): Rename to *sqrt{s,d}f2_i387. (*sqrtextendsfdf2): Also enable for TARGET_MIX_SSE_I387. (*sqrtextend?f?f2): Rename to *sqrtextendsfdf2_i387. From-SVN: r92247
2004-12-16* config/i386/i386.md (*fop_?f_comm_{,sse,nosse},Uros Bizjak1-119/+121
*fop_?f_1_{,sse,nosse}, *fop_{d,x}f_{2,3,4,5,6}): Unify enable constraint with respect to TARGET_80387, TARGET_SSE, TARGET_SSE2, TARGET_SSE_MATH and TARGET_MIX_SSE_I387. (*fop_?f_{comm,1}): Rename to *fop_?f_{comm,1}_mixed. (*fop_?f_{comm,1}_nosse): Rename to *fop_?f_{comm,1}_i387. (*fop_{d,x}f_{2,3,4,5,6}): Rename to *fop_{d,x}f_{2,3,4,5,6}_i387. From-SVN: r92246
2004-12-15re PR target/19010 (sse and mmx parameter passing broken)Richard Henderson2-28/+67
PR target/19010 * config/i386/i386.c (ix86_must_pass_in_stack): Don't return true for TImode vectors. (gen_reg_or_parallel): New. (function_arg): Use it. (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately, MMX and 3DNOW separately. (ix86_rtx_costs): Simplify FLOAT_EXTEND case. (ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately. * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ... (VALID_SSE_REG_MODE): ... here. * gcc.target/i386/i386.exp: New harness. * gcc.target/i386/vect-args.c: New. From-SVN: r92205