Bo Thorsen
7b20471292
ieeefp.h: Add x86-64 support.
...
2002-07-19 Bo Thorsen <bo@berlioz.suse.de>
* java/lang/ieeefp.h: Add x86-64 support.
* configure.in: Likewise.
* configure.host: Likewise.
* configure: Regenerated.
* sysdep/x86-64/locks.h: New file with x86-64 locks.
From-SVN: r55588
2002-07-19 16:41:15 +02:00
Alan Modra
c35383cbdf
prefix.c (update_path): Don't zap single .' path components unless followed by another
.' and fix...
...
* prefix.c (update_path): Don't zap single `.' path components
unless followed by another `.' and fix typo last patch.
From-SVN: r55586
2002-07-19 22:54:55 +09:30
Bo Thorsen
c42c75bfc4
Remove dead endif so x86-64 compilation works.
...
From-SVN: r55585
2002-07-19 13:21:36 +02:00
Bo Thorsen
48528b673e
gcconfig.h: Add x86-64 definitions.
...
2002-07-18 Bo Thorsen <bo@suse.de>
* include/private/gcconfig.h: Add x86-64 definitions.
* os_dep.c: Add x86-64 support.
* configure.in: Likewise.
* configure: Regenerate.
Approved by Hans Boehm.
From-SVN: r55584
2002-07-19 10:54:44 +02:00
GCC Administrator
7ea8939450
Daily bump.
...
From-SVN: r55583
2002-07-19 07:16:57 +00:00
Brendan Kehoe
926479c2b1
e <brendan@zen.org>
...
* bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): Fix typo of
_Nname to _Name.
From-SVN: r55578
2002-07-19 04:51:42 +00:00
Gabriel Dos Reis
bb403d6917
slice_array.h (slice_array<T>::operator=(const T&)): Constify.
...
* include/bits/slice_array.h
(slice_array<T>::operator=(const T&)): Constify.
* include/bits/gslice_array.h
(gslice_array<T>::operator=(const T&)): Likewise.
* include/bits/mask_array.h
(mask_array<T>::operator=(const T&)): Likewise.
* include/bits/indirect_array.h
(indirect_array<T>::operator=(const T&): Likewise.
:w
From-SVN: r55577
2002-07-19 04:45:20 +00:00
Kaz Kojima
ddebdfebad
Makefile.am: Add SH support.
...
* Makefile.am: Add SH support.
* Makefile.in: Regenerate.
* configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
* configure: Regenerate.
* include/ffi.h.in: Add SH support.
* src/sh/ffi.c: New file.
* src/sh/sysv.S: New file.
* src/types.c: Add SH support.
From-SVN: r55574
2002-07-19 01:08:43 +00:00
Bo Thorsen
7e31e4ae78
Forgot this file.
...
From-SVN: r55573
2002-07-19 02:37:03 +02:00
David Edelsohn
437deefaca
* g++.dg/opt/pr6713.C: Add template instantiation.
...
From-SVN: r55572
2002-07-18 20:07:56 -04:00
Bo Thorsen
c94974caed
[multiple changes]
...
2002-07-16 Bo Thorsen <bo@suse.de>
* src/x86/ffi64.c: New file that adds x86-64 support.
* src/x86/unix64.S: New file that handles argument setup for
x86-64.
* src/x86/sysv.S: Don't use this on x86-64.
* src/x86/ffi.c: Don't use this on x86-64.
Remove unused vars.
* src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
for x86-64.
* src/ffitest.c (struct6): New test that tests a special case in
the x86-64 ABI.
(struct7): Likewise.
(struct8): Likewise.
(struct9): Likewise.
(closure_test_fn): Silence warning about this when it's not used.
(main): Add the new tests.
(main): Fix a couple of wrong casts and silence some compiler warnings.
* include/ffi.h.in: Add x86-64 ABI definition.
* fficonfig.h.in: Regenerate.
* Makefile.am: Add x86-64 support.
* configure.in: Likewise.
* Makefile.in: Regenerate.
* configure: Likewise.
2002-06-24 Bo Thorsen <bo@suse.de>
* src/types.c: Merge settings for similar architectures.
Add x86-64 sizes and alignments.
2002-06-23 Bo Thorsen <bo@suse.de>
* src/arm/ffi.c (ffi_prep_args): Remove unused vars.
* src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
* src/mips/ffi.c (ffi_prep_args): Likewise.
* src/m68k/ffi.c (ffi_prep_args): Likewise.
From-SVN: r55571
2002-07-19 01:08:31 +02:00
Neil Booth
ad28cff7c1
cppexp.c (cpp_num_mul): Remove unused parameter.
...
* cppexp.c (cpp_num_mul): Remove unused parameter.
(UNARY, BINARY, OTHER, binary_handler): Remove.
(ALWAYS_EVAL): New.
(optab): Update.
(reduce): Refactor to a large switch, don't use a function
pointer.
From-SVN: r55570
2002-07-18 22:08:35 +00:00
Bo Thorsen
139b7f8686
linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
...
2002-07-18 Bo Thorsen <bo@berlioz.suse.de>
* config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
From-SVN: r55568
2002-07-18 22:56:33 +02:00
H.J. Lu
aab27b30e3
mach_dep.c (GC_push_regs): Remove the unused Linux/mips code.
...
2002-07-18 H.J. Lu <hjl@gnu.org>
* mach_dep.c (GC_push_regs): Remove the unused Linux/mips code.
From-SVN: r55566
2002-07-18 13:06:00 -07:00
H.J. Lu
5316699d53
configure.in (machdep): Don't add mips_sgi_mach_dep.lo for Linux/mips.
...
2002-07-18 H.J. Lu (hjl@gnu.org )
* configure.in (machdep): Don't add mips_sgi_mach_dep.lo for
Linux/mips.
From-SVN: r55565
2002-07-18 12:41:37 -07:00
J"orn Rennecke
e69d142219
sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
...
* sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
(sh_expand_binop_v2sf): Likewise.
* sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
(int_gpr_dest, trunc_hi_operand): New functions.
* sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
trunc_hi_operand.
(SPECIAL_MODE_PREDICATES, any_register_operand): Define.
* sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
(adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
(ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
(and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
(zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
(extendhisi2_media+1, extendqisi2_media+1): Likewise.
(movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
(movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
(movsf_ie+1): Likewise.
(loaddi_trunc): Use int_gpr_dest predicate.
(use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
(mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
(casesi_worker_0+[12], casesi_worker): Likewise.
(shcompact_preserve_incoming_args): Likewise.
(mov_nop): Use any_register_operand predicate.
(mperm_w0): Use trunc_hi_operand predicate.
From-SVN: r55564
2002-07-18 20:26:07 +01:00
John David Anglin
47a4976fda
pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
...
* pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
* pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
numbering.
From-SVN: r55563
2002-07-18 18:18:26 +00:00
John David Anglin
f3a4e54eb0
* pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
...
From-SVN: r55562
2002-07-18 17:58:44 +00:00
H.J. Lu
5be36a8f27
Makefile.am (TARGET_SRC_MIPS_LINUX): New.
...
2002-07-18 H.J. Lu (hjl@gnu.org )
* Makefile.am (TARGET_SRC_MIPS_LINUX): New.
(libffi_la_SOURCES): Support MIPS_LINUX.
(libffi_convenience_la_SOURCES): Likewise.
* Makefile.in: Regenerated.
* configure.in (mips64*-*): Skip.
(mips*-*-linux*): New.
* configure: Regenerated.
* src/mips/ffi.c: Include <sgidefs.h>.
From-SVN: r55561
2002-07-18 10:55:28 -07:00
Richard Henderson
30484ccf41
ifcvt.c (noce_get_condition): Make certain that the condition is valid at JUMP.
...
* ifcvt.c (noce_get_condition): Make certain that the condition
is valid at JUMP.
From-SVN: r55560
2002-07-18 10:48:04 -07:00
Rainer Orth
c1740ae3c1
compile.exp: Sort sources.
...
* libjava.compile/compile.exp: Sort sources.
* libjava.jni/jni.exp (gcj_jni_run): Likewise.
* libjava.lang/lang.exp: Likewise.
From-SVN: r55558
2002-07-18 17:42:31 +00:00
J"orn Rennecke
d042370eb0
sh.c (barrier_align, push): Shut up compiler warnings.
...
* sh.c (barrier_align, push): Shut up compiler warnings.
(initial_elimination_offset,sh_media_init_builtins): Likewise.
(reg_no_subreg_operand): Delete.
From-SVN: r55555
2002-07-18 13:47:34 +01:00
Bo Thorsen
61fee9b3b4
linux64.h (LINK_SPEC): Remove bogus -Y option.
...
2002-07-17 Bo Thorsen <bo@suse.de>
* config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
(STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
(STARTFILE_SPEC): Remove hardcoded library paths.
(ENDFILE_SPEC): Likewise.
From-SVN: r55554
2002-07-18 10:47:42 +02:00
Jan Hubicka
f305679f4e
gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
...
* gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
* gcse.c (try_replace_reg): Do not return false positives.
From-SVN: r55553
2002-07-18 07:40:16 +00:00
GCC Administrator
cd095b7d1f
Daily bump.
...
From-SVN: r55552
2002-07-18 07:19:00 +00:00
Alan Modra
f6f23ad2d5
prefix.c: (update_path): Strip ".." components when prior dir doesn't exist.
...
* prefix.c: (update_path): Strip ".." components when prior dir
doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
From-SVN: r55547
2002-07-18 16:14:35 +09:30
Alan Modra
85272855b5
* gcc.dg/nest.c: New.
...
From-SVN: r55546
2002-07-18 13:11:04 +09:30
Alan Modra
99bcb625a1
sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
...
* config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
(ASM_OUTPUT_REG_POP): Likewise.
From-SVN: r55545
2002-07-18 13:09:44 +09:30
Alan Modra
09eeeacbb9
rs6000.c (first_reg_to_save): Remove bogus adjustments to first_reg for profiling case.
...
* config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
adjustments to first_reg for profiling case.
(output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
Save static chain reg to sp + 12 on ABI_AIX_NODESC.
* config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
(ASM_OUTPUT_REG_POP): Define.
* config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
(ASM_OUTPUT_REG_POP): Undef.
From-SVN: r55544
2002-07-18 09:45:32 +09:30
Phil Edwards
a1fa4e3170
run_doxygen: Remove template parameter names from "Compound List" summary page.
...
2002-07-17 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/run_doxygen: Remove template parameter names from
"Compound List" summary page. Reformat.
* docs/html/documentation.html: XHTML fixes.
From-SVN: r55543
2002-07-17 22:02:32 +00:00
Neil Booth
74d06cf221
cpplib.c (do_sccs): Handle #sccs on all systems.
...
* cpplib.c (do_sccs): Handle #sccs on all systems.
* system.h (SCCS_DIRECTIVE): Poison.
* config/darwin.h, config/freebsd.h, config/netbsd.h,
config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
Remove all references to SCCS_DIRECTIVE.
* doc/cpp.texi, doc/tm.texi: Update.
From-SVN: r55542
2002-07-17 21:31:42 +00:00
J"orn Rennecke
61dde664e4
regrename.c (maybe_mode_change): New function.
...
* regrename.c (maybe_mode_change): New function.
(find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
From-SVN: r55541
2002-07-17 19:24:46 +01:00
Rodney Brown
97f51ac4af
i386.c (ix86_expand_int_movcc): In the general case suppress addition when either ct or cf are zero.
...
* config/i386/i386.c (ix86_expand_int_movcc): In the general case
suppress addition when either ct or cf are zero.
From-SVN: r55540
2002-07-17 11:09:56 -07:00
Eric Botcazou
f1a73cfecf
re PR rtl-optimization/6713 (Regression wrt 3.0.4: g++ -O2 leads to seg fault at run time)
...
PR optimization/6713
* loop.c (loop_givs_rescan): Explicitly delete the insn that
sets a non-replaceable giv after issuing the new one.
Co-Authored-By: Glen Nakamura <glen@imodulo.com>
From-SVN: r55539
2002-07-17 11:00:35 -07:00
Eric Botcazou
9088828378
loop-2e.x: Let the testcase XFAIL for all x86 processors.
...
* gcc.c-torture/execute/loop-2e.x: Let the testcase
XFAIL for all x86 processors.
From-SVN: r55538
2002-07-17 10:55:23 -07:00
Ian Dall
ce0ead2521
20010122-1.x: Do not test with -fomit-frame-pointer.
...
* gcc.c-torture/execute/20010122-1.x: Do not test with
-fomit-frame-pointer.
From-SVN: r55537
2002-07-17 10:54:16 -07:00
Neil Booth
23ff022370
cppexp.c (cpp_interpret_integer, [...]): Clarify and correct use of "bool" variables.
...
* cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
eval_token): Clarify and correct use of "bool" variables.
* cpplib.h (struct cpp_options): Similarly.
* cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
* cpptrad.c (recursive_macro): Similarly.
From-SVN: r55536
2002-07-17 17:27:14 +00:00
Jason Merrill
db50171f40
mangle.c (write_unqualified_name): Handle template parm subtitution.
...
* mangle.c (write_unqualified_name): Handle template parm
subtitution.
* class.c (build_base_field): Set DECL_PACKED.
(layout_class_type): Don't use tail padding of PODs.
From-SVN: r55535
2002-07-17 12:43:42 -04:00
Joern Rennecke
d28586abe7
Fix file name.
...
From-SVN: r55534
2002-07-17 17:10:43 +01:00
J"orn Rennecke
ac09192adb
lib1funcs.asm (udivsi3_i4): Implement SHcompact version in SHmedia code.
...
* lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
SHmedia code.
From-SVN: r55533
2002-07-17 17:09:43 +01:00
J"orn Rennecke
68cef00997
* sh.md (cmpgtudi_media): Remove spurious @.
...
From-SVN: r55532
2002-07-17 17:06:18 +01:00
J"orn Rennecke
701e3726b9
lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
...
* config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
* sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
From-SVN: r55531
2002-07-17 17:02:53 +01:00
J"orn Rennecke
ca903bba77
lib1funcs.asm (init_trampoline): New entry point.
...
* config/sh/lib1funcs.asm (init_trampoline): New entry point.
* sh-protos.h (sh_initialize_trampoline): Declare.
* sh.c (sh_initialize_trampoline): New function.
* sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
(TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
(INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
(TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
* sh.md (initialize_trampoline, double_shori): New patterns.
(initialize_trampoline_compact): Likewise.
(shmedia32_initialize_trampoline_big): Remove.
(shmedia32_initialize_trampoline_little): Likewise.
From-SVN: r55529
2002-07-17 16:43:18 +01:00
J"orn Rennecke
0ac785173d
sh-protos.h (binary_float_operator): Remove declaration.
...
* sh-protos.h (binary_float_operator): Remove declaration.
(sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
* sh.c (print_operand, case 'N'): Check against CONST0_RTX.
(unary_float_operator, sh_expand_unop_v2sf): New functions.
(sh_expand_binop_v2sf): Likewise.
(zero_vec_operand): Delete.
(SH_BLTIN_UDI): New builtin shared signature define. Renumbered
all non-shared ones.
(bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
Enable nsb and byterev.
* sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
(HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
in general regs.
(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
immediate operands.
(SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
Add DF_HI_REGS.
(CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
lowpart fp regs - only for big endian for now.
(LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
when FPU is in use.
(EXTRA_CONTRAINT_U): Check against CONST0_RTX.
(LOAD_EXTEND_OP): NIL for SImode.
(REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
general and fp registers is 4.
PREDICATE_CODES: Amend binary_float_operator entry.
Remove zero_vec_operand. Add unary_float_operator.
* sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
subreg SET_DEST.
(truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
(truncdiqi2): Do sign extension.
(movsi_media, movdi_media): Allow to use r63 to an fp register.
(movdf_media, movsf_media): Likewise.
(movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
Collapse to one define_insn_and_split. Allow immediate sources.
(addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
(movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
(movv4sf): Allow immediate sources.
(movsf_media_nofpu+1): Don't split moves to FP registers.
(unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
(movv8qi_i+3): Check against CONST0_RTX.
(mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
for input and output operands. Fix argument 3 to gen_mextr_rl.
(mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
(msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
(mshf0_w, fipr, ftrv): Likewise.
(mshfhi_l_di): Now insn_and_split. Can handle FP regs.
From-SVN: r55528
2002-07-17 16:15:04 +01:00
Kriang Lerdsuwanakij
d955f6ea6f
PR c++/2862, c++/2863
...
PR c++/2862, c++/2863
* pt.c (determine_specialization): Compare the length of
TYPE_ARG_TYPES. Tidy.
* g++.dg/template/instantiate2.C: New test.
* g++.dg/template/spec4.C: New test.
From-SVN: r55527
2002-07-17 14:17:21 +00:00
Kriang Lerdsuwanakij
d03d18e8de
re PR c++/3797 (gcc 3.0 fails to emit explicit specialization of a template member)
...
PR c++/3797
* decl.c (duplicate_decls): Don't propagate inlining parameters from
olddecl to newdecl when newdecl is a specialization of the
instantiation olddecl.
From-SVN: r55525
2002-07-17 14:07:42 +00:00
Kriang Lerdsuwanakij
ba59df78eb
PR c++/4802, c++/5387
...
PR c++/4802, c++/5387
* decl.c (make_typename_type): Use enforce_access.
* g++.dg/template/access2.C: New test.
* g++.dg/template/access3.C: New test.
From-SVN: r55517
2002-07-17 13:56:46 +00:00
Scott Snyder
58f05188d7
re PR c++/7320 (g++ 3.2 relocation problem)
...
PR c++/7320
* rtti.c (get_tinfo_decl): Set DECL_COMDAT.
From-SVN: r55516
2002-07-17 11:46:38 +00:00
Jeroen Dobbelaere
e9d7b180c2
From Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
...
* arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
* arm.c: Similarly.
From-SVN: r55515
2002-07-17 09:54:11 +00:00
Richard Sandiford
8214bf98d2
mips-protos.h (mips_sign_extend): Declare.
...
* config/mips/mips-protos.h (mips_sign_extend): Declare.
* config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
(TARGET_SWITCHES): Remove debugh.
(ISA_HAS_TRUNC_W): New macro.
(CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
(PREDICATE_CODES): Remove se_nonimmediate_operand.
* config/mips/mips.c (movdi_operand): Allow sign-extensions of
any SImode move_operand.
(se_nonimmediate_operand): Remove.
(mips_sign_extend): New.
(mips_move_2words): Use it for sign-extended source operands.
(override_options): Allow integers to be put into single FPRs.
(mips_secondary_reload_class): Handle integers in float registers.
* config/mips/mips.md (extendsidi2): Turn into a define_expand.
(fix_truncsfsi2, fix_truncdfsi2): Likewise.
(fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
(fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
(fix_truncdfdi2): Provide only a single alternative, in which the
integer is in a float register. Depend on TARGET_FLOAT64 rather
than TARGET_64BIT.
(fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
(floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
(movdi_internal2): Don't allow the source operand to be sign-extended.
Add alternatives for float registers.
(*movdi_internal2_extend): New. Version of movdi_internal2 that
allows sign-extension.
(*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
(movsi_internal2): Rename to movsi_internal. Add alternatives for
float registers. Remove TARGET_DEBUG_H_MODE test.
(movhi_internal1): Rename to movhi_internal. Don't check
TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
(movqi_internal1): Rename to movqi_internal and remove
TARGET_DEBUG_H_MODE dependency.
(movsi_internal1, movhi_internal2, movqi_internal2): Remove.
From-SVN: r55514
2002-07-17 09:24:08 +00:00