From 67e72f65850146ae35d82df41edd3eff356b3bf0 Mon Sep 17 00:00:00 2001 From: echristo Date: Wed, 3 Mar 2004 01:11:57 +0000 Subject: [PATCH] 2004-03-02 Eric Christopher * config/mips/mips16.S: Change fixsfsi and fixdfsi to fix_trunc. * config/mips/mips.c (mips_init_libfuncs): Change accordingly. * config/mips/t-elf (LIB1ASMFUNCS): Ditto. * config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto. * config/mips/t-r3900 (LIB1ASMFUNCS): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78811 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 29 +++++++++++++++++++---------- gcc/config/mips/mips.c | 10 +++++----- gcc/config/mips/mips16.S | 47 +++++++++++++++++++++++------------------------ gcc/config/mips/t-elf | 4 ++-- gcc/config/mips/t-isa3264 | 4 ++-- gcc/config/mips/t-r3900 | 4 ++-- 6 files changed, 53 insertions(+), 45 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ebcd2ec..63cf5ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2004-03-02 Eric Christopher + + * config/mips/mips16.S: Change fixsfsi and fixdfsi to + fix_trunc. + * config/mips/mips.c (mips_init_libfuncs): Change accordingly. + * config/mips/t-elf (LIB1ASMFUNCS): Ditto. + * config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto. + * config/mips/t-r3900 (LIB1ASMFUNCS): Ditto. + 2004-03-02 Richard Henderson PR middle-end/11767 @@ -216,13 +225,13 @@ * fold-const.c (fold): An equality comparison of a non-weak object against zero has a known result. Similarly an equality comparison of the address of two non-weak, unaliased symbols has a known result. - + * ggc-page.c (struct page_entry): New field PREV. (ggc_alloc): Update PREV field appropriately. (sweep_pages): Likewise. (ggc_free): Likewise. Use PREV field rather than loop to improve ggc_free performance. - + 2004-03-01 Richard Sandiford * config/mips/mips.c (mips_output_division): Use the division @@ -313,7 +322,7 @@ * config/sh/sh.c: Convert to ISO-C. 2004-02-28 Andrew Pinski - + * c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in my previous patch. @@ -339,7 +348,7 @@ 2004-02-28 Maciej W. Rozycki - * config/mips/mips.c (override_options): Remove an obsolete + * config/mips/mips.c (override_options): Remove an obsolete duplicate definition of the "e" constraint. * config/mips/mips.h: Update a comment accordingly. @@ -455,27 +464,27 @@ * Makefile.in (OBJS-common): Add it. * diagnostic.c (rtl_dump_and_exit): Move decl ... * flags.h (rtl_dump_and_exit): ... here. - * output.h (size_directive_output, last_assemble_variable_decl): + * output.h (size_directive_output, last_assemble_variable_decl): Move from toplev.c. * rtl.h (reg_alloc): Move from toplev.c. * toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT, struct dump_file_info, enum dump_file_index, dump_file_tbl, open_dump_file, close_dump_file, rest_of_decl_compilation, rest_of_type_compilation, rest_of_handle_final, - rest_of_handle_delay_slots, rest_of_handle_stack_regs, + rest_of_handle_delay_slots, rest_of_handle_stack_regs, rest_of_handle_variable_tracking, rest_of_handle_machine_reorg, rest_of_handle_new_regalloc, rest_of_handle_old_regalloc, rest_of_handle_regrename, rest_of_handle_reorder_blocks, rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove, - rest_of_handle_tracer, rest_of_handle_if_conversion, + rest_of_handle_tracer, rest_of_handle_if_conversion, rest_of_handle_if_after_combine, rest_of_handle_web, rest_of_handle_branch_prob, rest_of_handle_value_profile_transformations, rest_of_handle_cfg, - rest_of_handle_addressof, rest_of_handle_sibling_calls, + rest_of_handle_addressof, rest_of_handle_sibling_calls, rest_of_handle_jump_bypass, rest_of_handle_inlining, rest_of_handle_null_pointer, rest_of_handle_combine, rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2, - rest_of_handle_gcse, rest_of_handle_loop_optimize, + rest_of_handle_gcse, rest_of_handle_loop_optimize, rest_of_handle_loop2, rest_of_compilation): Move to passes.c. (decode_d_option): Use enable_rtl_dump_file. (compile_file, finalize, do_compile): Move profile+combine+graph @@ -506,7 +515,7 @@ * config/rs6000/spe.md: Delete spe_efsctuiz. Add spe_fixuns_truncsfsi2. Add spe_fix_truncsfsi2. - + 2004-02-26 Eric Christopher * c-lex.c (c_lex_string_translate): New variable. diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index ad0e43e..336ca99 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -5945,7 +5945,7 @@ mips_file_end (void) when it is unsafe. */ if (TARGET_IRIX && mips_abi == ABI_32 && p->size == -1) { - fputs ("\t.globl ", asm_out_file); + fputs ("\t.globl ", asm_out_file); assemble_name (asm_out_file, p->name); fputs (" .text\n", asm_out_file); } @@ -7012,7 +7012,7 @@ mips_expand_epilogue (int sibcall_p) emit_insn (gen_add3_insn (stack_pointer_rtx, stack_pointer_rtx, GEN_INT (step2))); - + /* Add in the __builtin_eh_return stack adjustment. We need to use a temporary in mips16 code. */ if (current_function_calls_eh_return) @@ -8767,7 +8767,7 @@ mips_init_libfuncs (void) set_optab_libfunc (lt_optab, SFmode, "__mips16_ltsf2"); set_optab_libfunc (le_optab, SFmode, "__mips16_lesf2"); - set_conv_libfunc (sfix_optab, SImode, SFmode, "__mips16_fixsfsi"); + set_conv_libfunc (sfix_optab, SImode, SFmode, "__mips16_fix_truncsfsi"); set_conv_libfunc (sfloat_optab, SFmode, SImode, "__mips16_floatsisf"); if (TARGET_DOUBLE_FLOAT) @@ -8787,7 +8787,7 @@ mips_init_libfuncs (void) set_conv_libfunc (sext_optab, DFmode, SFmode, "__mips16_extendsfdf2"); set_conv_libfunc (trunc_optab, SFmode, DFmode, "__mips16_truncdfsf2"); - set_conv_libfunc (sfix_optab, SImode, DFmode, "__mips16_fixdfsi"); + set_conv_libfunc (sfix_optab, SImode, DFmode, "__mips16_fix_truncdfsi"); set_conv_libfunc (sfloat_optab, DFmode, SImode, "__mips16_floatsidf"); } } @@ -9419,7 +9419,7 @@ mips_emit_prefetch (rtx *operands) int indexed = GET_CODE (operands[3]) == REG; int code; char buffer[30]; - + if (locality <= 0) code = (write ? 5 : 4); /* store_streamed / load_streamed. */ else if (locality <= 2) diff --git a/gcc/config/mips/mips16.S b/gcc/config/mips/mips16.S index 8e1f586..7ecc486 100644 --- a/gcc/config/mips/mips16.S +++ b/gcc/config/mips/mips16.S @@ -92,14 +92,14 @@ STARTFN (NAME); \ nop; \ .set reorder; \ ENDFN (NAME) - + #ifdef L_m16negsf2 SFOP2(__mips16_negsf2, neg.s) #endif #ifdef L_m16abssf2 SFOP2(__mips16_abssf2, abs.s) #endif - + /* Single precision comparisons. */ /* This macro defines a function which loads two single precision @@ -167,21 +167,21 @@ STARTFN (__mips16_floatsisf) ENDFN (__mips16_floatsisf) #endif -#ifdef L_m16fixsfsi -STARTFN (__mips16_fixsfsi) +#ifdef L_m16fix_truncsfsi +STARTFN (__mips16_fix_truncsfsi) .set noreorder mtc1 $4,$f0 nop trunc.w.s $f0,$f0,$4 mfc1 $2,$f0 j $31 - nop + nop .set reorder - ENDFN (__mips16_fixsfsi) + ENDFN (__mips16_fix_truncsfsi) #endif #if !defined(__mips_single_float) && !defined(__SINGLE_FLOAT) - + /* The double precision operations. We need to use different code based on the preprocessor symbol __mips64, because the way in which double precision values will change. Without __mips64, the value @@ -194,9 +194,9 @@ STARTFN (__mips16_fixsfsi) #define LDDBL1 dmtc1 $4,$f12 #elif defined(__mipsfp64) #define LDDBL1 sw $4,0($29); sw $5,4($29); l.d $f12,0($29) -#elif defined(__MIPSEB__) +#elif defined(__MIPSEB__) #define LDDBL1 mtc1 $4,$f13; mtc1 $5,$f12 -#else +#else #define LDDBL1 mtc1 $4,$f12; mtc1 $5,$f13 #endif @@ -207,24 +207,24 @@ STARTFN (__mips16_fixsfsi) #define LDDBL2 dmtc1 $5,$f14 #elif defined(__mipsfp64) #define LDDBL2 sw $6,8($29); sw $7,12($29); l.d $f14,8($29) -#elif defined(__MIPSEB__) +#elif defined(__MIPSEB__) #define LDDBL2 mtc1 $6,$f15; mtc1 $7,$f14 -#else +#else #define LDDBL2 mtc1 $6,$f14; mtc1 $7,$f15 #endif - + /* Move the double precision return value to the right place. */ #if defined(__mips64) #define RETDBL dmfc1 $2,$f0 #elif defined(__mipsfp64) #define RETDBL s.d $f0,0($29); lw $2,0($29); lw $3,4($29) -#elif defined(__MIPSEB__) +#elif defined(__MIPSEB__) #define RETDBL mfc1 $2,$f1; mfc1 $3,$f0 -#else +#else #define RETDBL mfc1 $2,$f0; mfc1 $3,$f1 #endif - + /* Double precision math. */ /* This macro defines a function which loads two double precision @@ -268,7 +268,7 @@ STARTFN (NAME); \ nop; \ .set reorder; \ ENDFN (NAME) - + #ifdef L_m16negdf2 DFOP2(__mips16_negdf2, neg.d) #endif @@ -276,7 +276,7 @@ DFOP2(__mips16_negdf2, neg.d) DFOP2(__mips16_absdf2, abs.d) #endif - + /* Conversions between single and double precision. */ #ifdef L_m16extsfdf2 @@ -372,8 +372,8 @@ STARTFN (__mips16_floatsidf) ENDFN (__mips16_floatsidf) #endif -#ifdef L_m16fixdfsi -STARTFN (__mips16_fixdfsi) +#ifdef L_m16fix_truncdfsi +STARTFN (__mips16_fix_truncdfsi) .set noreorder LDDBL1 nop @@ -382,7 +382,7 @@ STARTFN (__mips16_fixdfsi) j $31 nop .set reorder - ENDFN (__mips16_fixdfsi) + ENDFN (__mips16_fix_truncdfsi) #endif #endif /* !__mips_single_float */ @@ -410,12 +410,12 @@ STARTFN (__mips16_ret_df) #elif defined(__mipsfp64) sw $2,0($29) sw $3,4($29) - l.d $f0,0($29) -#elif defined(__MIPSEB__) + l.d $f0,0($29) +#elif defined(__MIPSEB__) mtc1 $2,$f1 j $31 mtc1 $3,$f0 -#else +#else mtc1 $2,$f0 j $31 mtc1 $3,$f1 @@ -737,4 +737,3 @@ STARTFN (__mips16_call_stub_df_10) ENDFN (__mips16_call_stub_df_10) #endif #endif /* !__mips_single_float */ - diff --git a/gcc/config/mips/t-elf b/gcc/config/mips/t-elf index a057ec6..c36798c 100644 --- a/gcc/config/mips/t-elf +++ b/gcc/config/mips/t-elf @@ -13,11 +13,11 @@ $(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES) LIB1ASMSRC = mips/mips16.S LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ _m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \ - _m16fltsisf _m16fixsfsi \ + _m16fltsisf _m16fix_truncsfsi \ _m16adddf3 _m16subdf3 _m16muldf3 _m16divdf3 \ _m16extsfdf2 _m16trdfsf2 \ _m16eqdf2 _m16nedf2 _m16gtdf2 _m16gedf2 _m16ledf2 _m16ltdf2 \ - _m16fltsidf _m16fixdfsi \ + _m16fltsidf _m16fix_truncdfsi \ _m16retsf _m16retdf \ _m16stub1 _m16stub2 _m16stub5 _m16stub6 _m16stub9 _m16stub10 \ _m16stubsf0 _m16stubsf1 _m16stubsf2 _m16stubsf5 _m16stubsf6 \ diff --git a/gcc/config/mips/t-isa3264 b/gcc/config/mips/t-isa3264 index bbc0481..6604fbe 100644 --- a/gcc/config/mips/t-isa3264 +++ b/gcc/config/mips/t-isa3264 @@ -13,11 +13,11 @@ $(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES) LIB1ASMSRC = mips/mips16.S LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ _m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \ - _m16fltsisf _m16fixsfsi \ + _m16fltsisf _m16fix_truncsfsi \ _m16adddf3 _m16subdf3 _m16muldf3 _m16divdf3 \ _m16extsfdf2 _m16trdfsf2 \ _m16eqdf2 _m16nedf2 _m16gtdf2 _m16gedf2 _m16ledf2 _m16ltdf2 \ - _m16fltsidf _m16fixdfsi \ + _m16fltsidf _m16fix_truncdfsi \ _m16retsf _m16retdf \ _m16stub1 _m16stub2 _m16stub5 _m16stub6 _m16stub9 _m16stub10 \ _m16stubsf0 _m16stubsf1 _m16stubsf2 _m16stubsf5 _m16stubsf6 \ diff --git a/gcc/config/mips/t-r3900 b/gcc/config/mips/t-r3900 index d50e8d3..3bc8c47 100644 --- a/gcc/config/mips/t-r3900 +++ b/gcc/config/mips/t-r3900 @@ -1,11 +1,11 @@ LIB1ASMSRC = mips/mips16.S LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ _m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \ - _m16fltsisf _m16fixsfsi \ + _m16fltsisf _m16fix_truncsfsi \ _m16adddf3 _m16subdf3 _m16muldf3 _m16divdf3 \ _m16extsfdf2 _m16trdfsf2 \ _m16eqdf2 _m16nedf2 _m16gtdf2 _m16gedf2 _m16ledf2 _m16ltdf2 \ - _m16fltsidf _m16fixdfsi \ + _m16fltsidf _m16fix_truncdfsi \ _m16retsf _m16retdf \ _m16stub1 _m16stub2 _m16stub5 _m16stub6 _m16stub9 _m16stub10 \ _m16stubsf0 _m16stubsf1 _m16stubsf2 _m16stubsf5 _m16stubsf6 \ -- 2.7.4