diff options
Diffstat (limited to 'gcc-4.4.3/gcc/config')
-rw-r--r-- | gcc-4.4.3/gcc/config/mips/mips.h | 7 | ||||
-rw-r--r-- | gcc-4.4.3/gcc/config/mips/mips.md | 6 |
2 files changed, 4 insertions, 9 deletions
diff --git a/gcc-4.4.3/gcc/config/mips/mips.h b/gcc-4.4.3/gcc/config/mips/mips.h index bf25448fa..88f5d832e 100644 --- a/gcc-4.4.3/gcc/config/mips/mips.h +++ b/gcc-4.4.3/gcc/config/mips/mips.h @@ -835,7 +835,7 @@ enum mips_code_readable_setting { FP madd and msub instructions, and the FP recip and recip sqrt instructions. */ #define ISA_HAS_FP4 ((ISA_MIPS4 \ - || (ISA_MIPS32R2 && TARGET_FLOAT64) \ + || ISA_MIPS32R2 \ || ISA_MIPS64 \ || ISA_MIPS64R2) \ && !TARGET_MIPS16) @@ -866,10 +866,7 @@ enum mips_code_readable_setting { /* ISA has floating-point nmadd and nmsub instructions 'd = -((a * b) [+-] c)'. */ #define ISA_HAS_NMADD4_NMSUB4(MODE) \ - ((ISA_MIPS4 \ - || (ISA_MIPS32R2 && (MODE) == V2SFmode) \ - || ISA_MIPS64 \ - || ISA_MIPS64R2) \ + (ISA_HAS_FP4 \ && (!TARGET_MIPS5400 || TARGET_MAD) \ && !TARGET_MIPS16) diff --git a/gcc-4.4.3/gcc/config/mips/mips.md b/gcc-4.4.3/gcc/config/mips/mips.md index 10572743e..4182aab80 100644 --- a/gcc-4.4.3/gcc/config/mips/mips.md +++ b/gcc-4.4.3/gcc/config/mips/mips.md @@ -774,12 +774,10 @@ [(SF "!ISA_MIPS1") (DF "!ISA_MIPS1") (V2SF "TARGET_SB1")]) ;; This attribute gives the conditions under which RECIP.fmt and RSQRT.fmt -;; instructions can be used. The MIPS32 and MIPS64 ISAs say that RECIP.D -;; and RSQRT.D are unpredictable when doubles are stored in pairs of FPRs, -;; so for safety's sake, we apply this restriction to all targets. +;; instructions can be used. (define_mode_attr recip_condition [(SF "ISA_HAS_FP4") - (DF "ISA_HAS_FP4 && TARGET_FLOAT64") + (DF "ISA_HAS_FP4") (V2SF "TARGET_SB1")]) ;; This code iterator allows all branch instructions to be generated from |