Commit 0051ef59 by Joseph Myers Committed by Joseph Myers

mips.c (mips_rtx_cost_data): Use SOFT_FP_COSTS in XLR entry.

	* config/mips/mips.c (mips_rtx_cost_data): Use SOFT_FP_COSTS in
	XLR entry.
	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC):
	Handle -march=xlr.
	* config/mips/xlr.md (ir_xlr_alu): Also accept insn types move,
	logical and signext.

From-SVN: r146217
parent b3f8558a
2009-04-16 Joseph Myers <joseph@codesourcery.com>
* config/mips/mips.c (mips_rtx_cost_data): Use SOFT_FP_COSTS in
XLR entry.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC):
Handle -march=xlr.
* config/mips/xlr.md (ir_xlr_alu): Also accept insn types move,
logical and signext.
2009-04-16 Kaz Kojima <kkojima@gcc.gnu.org> 2009-04-16 Kaz Kojima <kkojima@gcc.gnu.org>
PR target/39767 PR target/39767
......
...@@ -1094,13 +1094,7 @@ static const struct mips_rtx_cost_data mips_rtx_cost_data[PROCESSOR_MAX] = { ...@@ -1094,13 +1094,7 @@ static const struct mips_rtx_cost_data mips_rtx_cost_data[PROCESSOR_MAX] = {
DEFAULT_COSTS DEFAULT_COSTS
}, },
{ /* XLR */ { /* XLR */
/* Need to replace first five with the costs of calling the appropriate SOFT_FP_COSTS,
libgcc routine. */
COSTS_N_INSNS (256), /* fp_add */
COSTS_N_INSNS (256), /* fp_mult_sf */
COSTS_N_INSNS (256), /* fp_mult_df */
COSTS_N_INSNS (256), /* fp_div_sf */
COSTS_N_INSNS (256), /* fp_div_df */
COSTS_N_INSNS (8), /* int_mult_si */ COSTS_N_INSNS (8), /* int_mult_si */
COSTS_N_INSNS (8), /* int_mult_di */ COSTS_N_INSNS (8), /* int_mult_di */
COSTS_N_INSNS (72), /* int_div_si */ COSTS_N_INSNS (72), /* int_div_si */
......
...@@ -709,7 +709,8 @@ enum mips_code_readable_setting { ...@@ -709,7 +709,8 @@ enum mips_code_readable_setting {
%{march=mips32|march=4kc|march=4km|march=4kp|march=4ksc:-mips32} \ %{march=mips32|march=4kc|march=4km|march=4kp|march=4ksc:-mips32} \
%{march=mips32r2|march=m4k|march=4ke*|march=4ksd|march=24k* \ %{march=mips32r2|march=m4k|march=4ke*|march=4ksd|march=24k* \
|march=34k*|march=74k*: -mips32r2} \ |march=34k*|march=74k*: -mips32r2} \
%{march=mips64|march=5k*|march=20k*|march=sb1*|march=sr71000: -mips64} \ %{march=mips64|march=5k*|march=20k*|march=sb1*|march=sr71000 \
|march=xlr: -mips64} \
%{march=mips64r2|march=octeon: -mips64r2} \ %{march=mips64r2|march=octeon: -mips64r2} \
%{!march=*: -" MULTILIB_ISA_DEFAULT "}}" %{!march=*: -" MULTILIB_ISA_DEFAULT "}}"
...@@ -720,7 +721,7 @@ enum mips_code_readable_setting { ...@@ -720,7 +721,7 @@ enum mips_code_readable_setting {
#define MIPS_ARCH_FLOAT_SPEC \ #define MIPS_ARCH_FLOAT_SPEC \
"%{mhard-float|msoft-float|march=mips*:; \ "%{mhard-float|msoft-float|march=mips*:; \
march=vr41*|march=m4k|march=4k*|march=24kc|march=24kec \ march=vr41*|march=m4k|march=4k*|march=24kc|march=24kec \
|march=34kc|march=74kc|march=5kc|march=octeon: -msoft-float; \ |march=34kc|march=74kc|march=5kc|march=octeon|march=xlr: -msoft-float; \
march=*: -mhard-float}" march=*: -mhard-float}"
/* A spec condition that matches 32-bit options. It only works if /* A spec condition that matches 32-bit options. It only works if
......
;; DFA-based pipeline description for the XLR. ;; DFA-based pipeline description for the XLR.
;; Copyright (C) 2008 Free Software Foundation, Inc. ;; Copyright (C) 2008, 2009 Free Software Foundation, Inc.
;; ;;
;; xlr.md Machine Description for the RMI XLR Microprocessor ;; xlr.md Machine Description for the RMI XLR Microprocessor
;; This file is part of GCC. ;; This file is part of GCC.
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
;; Integer arithmetic instructions. ;; Integer arithmetic instructions.
(define_insn_reservation "ir_xlr_alu" 1 (define_insn_reservation "ir_xlr_alu" 1
(and (eq_attr "cpu" "xlr") (and (eq_attr "cpu" "xlr")
(eq_attr "type" "arith,shift,clz,const,unknown,multi,nop,trap")) (eq_attr "type" "move,arith,shift,clz,logical,signext,const,unknown,multi,nop,trap"))
"xlr_main_pipe") "xlr_main_pipe")
;; Integer arithmetic instructions. ;; Integer arithmetic instructions.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment