From e8bf0f3bacc5f3f4ae892f4df794cc23e41519b9 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 23 Aug 2004 08:25:56 +0000 Subject: [PATCH] mips.md (mfhilo_[sd]i): Redefine using :GPR. * config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode attribute. From-SVN: r86420 --- gcc/ChangeLog | 5 +++++ gcc/config/mips/mips.md | 22 +++++++--------------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ee5dde575ad..08c8713b170 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-08-23 Richard Sandiford + + * config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode + attribute. + 2004-08-23 Richard Sandiford * config/mips/mips.md (length): Don't use mips_fetch_insns for indexed diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index e42a607977f..2a8ca052a46 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -4087,23 +4087,15 @@ beq\t%2,%.,1b\;\ ;; We cope with this by making the mflo and mfhi patterns use both HI and LO. ;; Operand 1 is the register we want, operand 2 is the other one. -(define_insn "mfhilo_di" - [(set (match_operand:DI 0 "register_operand" "=d,d") - (unspec:DI [(match_operand:DI 1 "register_operand" "h,l") - (match_operand:DI 2 "register_operand" "l,h")] - UNSPEC_MFHILO))] - "TARGET_64BIT" - "mf%1\t%0" - [(set_attr "type" "mfhilo")]) - -(define_insn "mfhilo_si" - [(set (match_operand:SI 0 "register_operand" "=d,d") - (unspec:SI [(match_operand:SI 1 "register_operand" "h,l") - (match_operand:SI 2 "register_operand" "l,h")] - UNSPEC_MFHILO))] +(define_insn "mfhilo_" + [(set (match_operand:GPR 0 "register_operand" "=d,d") + (unspec:GPR [(match_operand:GPR 1 "register_operand" "h,l") + (match_operand:GPR 2 "register_operand" "l,h")] + UNSPEC_MFHILO))] "" "mf%1\t%0" - [(set_attr "type" "mfhilo")]) + [(set_attr "type" "mfhilo") + (set_attr "mode" "")]) ;; Patterns for loading or storing part of a paired floating point ;; register. We need them because odd-numbered floating-point registers