h8300.md (call, call_value): Drop mode from operand containing number of bytes pushed.
authorJeff Law <law@redhat.com>
Sun, 2 Dec 2018 18:31:44 +0000 (11:31 -0700)
committerJeff Law <law@gcc.gnu.org>
Sun, 2 Dec 2018 18:31:44 +0000 (11:31 -0700)
* config/h8300/h8300.md (call, call_value): Drop mode from
operand containing number of bytes pushed.
(call_insn, call_value_insn): Use mode iterator for number
of bytes pushed operand.  Make pattern name vary appropriately.

From-SVN: r266727

gcc/ChangeLog
gcc/config/h8300/h8300.md

index c143ee13a486a0228fc30bdda2d9c68ce449bd2f..204a9fa27c0762d7554894fb3eadf4ad68360572 100644 (file)
@@ -1,3 +1,10 @@
+2018-12-02  Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.md (call, call_value): Drop mode from 
+       operand containing number of bytes pushed.
+       (call_insn, call_value_insn): Use mode iterator for number
+       of bytes pushed operand.  Make pattern name vary appropriately.
+
 2018-12-02  Jan Hubicka  <jh@suse.cz>
 
        * bb-reorer.c (find_rarely_executed_basic_blocks_and_crossin_edges):
index 0686f25d71de857dc46a426de6463850f29382fd..b3ba7e0f7190ccc519399ed69ca142327cc3e8c6 100644 (file)
 
 (define_expand "call"
   [(call (match_operand:QI 0 "call_expander_operand" "")
-        (match_operand:HI 1 "general_operand" ""))]
+        (match_operand 1 "general_operand" ""))]
   ""
   {
     if (!register_operand (XEXP (operands[0], 0), Pmode)
       XEXP (operands[0], 0) = force_reg (Pmode, XEXP (operands[0], 0));
   })
 
-(define_insn "call_insn"
+(define_insn "call_insn_<mode>"
   [(call (mem:QI (match_operand 0 "call_insn_operand" "Cr"))
-                (match_operand:HI 1 "general_operand" "g"))]
+                (match_operand:P 1 "general_operand" "g"))]
   ""
 {
   rtx xoperands[1];
 (define_expand "call_value"
   [(set (match_operand 0 "" "")
        (call (match_operand:QI 1 "call_expander_operand" "")
-             (match_operand:HI 2 "general_operand" "")))]
+             (match_operand 2 "general_operand" "")))]
   ""
   {
     if (!register_operand (XEXP (operands[1], 0), Pmode)
       XEXP (operands[1], 0) = force_reg (Pmode, XEXP (operands[1], 0));
   })
 
-(define_insn "call_value_insn"
+(define_insn "call_value_insn_<mode>"
   [(set (match_operand 0 "" "=r")
        (call (mem:QI (match_operand 1 "call_insn_operand" "Cr"))
-                     (match_operand:HI 2 "general_operand" "g")))]
+                     (match_operand:P 2 "general_operand" "g")))]
   ""
 {
   rtx xoperands[2];