From b340d2b8de4571dce424c3c53e8bcca26277fc13 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 27 Apr 2000 15:49:20 +0000 Subject: [PATCH] mn10300.md (movhi): Simplify. * config/mn10300/mn10300.md (movhi): Simplify. Prefer data registers. From-SVN: r33489 --- gcc/ChangeLog | 5 +++++ gcc/config/mn10300/mn10300.md | 38 +++++++++++++---------------------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e309f7eea63..d33cd55e893 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Apr 27 12:47:00 2000 Alexandre Oliva + + * config/mn10300/mn10300.md (movhi): Simplify. Prefer data + registers. + Thu Apr 27 17:33:05 MET DST 2000 Jan Hubicka * function.c (epilogue_done): Pass whole insn to record_insns. diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md index 12e809fdb86..c3a7d9c0b05 100644 --- a/gcc/config/mn10300/mn10300.md +++ b/gcc/config/mn10300/mn10300.md @@ -146,8 +146,8 @@ }") (define_insn "" - [(set (match_operand:HI 0 "general_operand" "=dx,a,dx,a,dx,a,dx,a,dxa,m") - (match_operand:HI 1 "general_operand" "0,0,I,I,a,dx,dxi,ia,m,dxa"))] + [(set (match_operand:HI 0 "general_operand" "=d*x*a,d*x,d*x*a,d*x*a,m") + (match_operand:HI 1 "general_operand" "0,I,d*x*ai,m,d*x*a"))] "TARGET_AM33 && (register_operand (operands[0], HImode) || register_operand (operands[1], HImode))" @@ -156,15 +156,10 @@ switch (which_alternative) { case 0: - case 1: return \"nop\"; - case 2: + case 1: return \"clr %0\"; - case 3: - case 4: - case 5: - case 6: - case 7: + case 2: if (GET_CODE (operands[1]) == CONST_DOUBLE) { rtx xoperands[2]; @@ -184,18 +179,18 @@ return \"movu %1,%0\"; } return \"mov %1,%0\"; - case 8: - case 9: + case 3: + case 4: return \"movhu %1,%0\"; default: abort (); } }" - [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")]) + [(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit")]) (define_insn "" - [(set (match_operand:HI 0 "general_operand" "=dx,*a,dx,*a,dx,*a,dx,*a,dx,m") - (match_operand:HI 1 "general_operand" "0,0,I,I,a,dx,dxi,ia,m,dx"))] + [(set (match_operand:HI 0 "general_operand" "=d*a,d,d*a,d,m") + (match_operand:HI 1 "general_operand" "0,I,dai,m,d"))] "register_operand (operands[0], HImode) || register_operand (operands[1], HImode)" "* @@ -203,15 +198,10 @@ switch (which_alternative) { case 0: - case 1: return \"nop\"; - case 2: + case 1: return \"clr %0\"; - case 3: - case 4: - case 5: - case 6: - case 7: + case 2: if (GET_CODE (operands[1]) == CONST_DOUBLE) { rtx xoperands[2]; @@ -221,14 +211,14 @@ return \"\"; } return \"mov %1,%0\"; - case 8: - case 9: + case 3: + case 4: return \"movhu %1,%0\"; default: abort (); } }" - [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")]) + [(set_attr "cc" "none,clobber,none_0hit,none_0hit,none_0hit")]) ;; movsi and helpers