This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ia64: get rid of general_xfmode_operand anddestination_xfmode_operand


This was buried in the giant patch that I sent yesterday to overhaul
the handling of predicates.  I don't want to lose it in case that
patch doesn't go anywhere, so I'm testing and applying it separately.
It's pretty obvious - with the removal of ADDRESSOF, these functions
no longer do anything different from general_operand and
destination_operand respectively.

zw

        * config/ia64/ia64.c (general_xfmode_operand)
        (destination_xfmode_operand): Delete.
        * config/ia64/ia64.h (PREDICATE_CODES): Remove them.
        * config/ia64/ia64.md (*movxf_internal): Use general_operand
        and destination_operand.

===================================================================
Index: config/ia64/ia64.c
--- config/ia64/ia64.c	20 Jul 2004 07:27:08 -0000	1.309
+++ config/ia64/ia64.c	24 Jul 2004 19:33:58 -0000
@@ -955,26 +955,6 @@ ar_pfs_reg_operand (register rtx op, enu
 	  && REGNO (op) == AR_PFS_REGNUM);
 }
 
-/* Like general_operand, but don't allow (mem (addressof)).  */
-
-int
-general_xfmode_operand (rtx op, enum machine_mode mode)
-{
-  if (! general_operand (op, mode))
-    return 0;
-  return 1;
-}
-
-/* Similarly.  */
-
-int
-destination_xfmode_operand (rtx op, enum machine_mode mode)
-{
-  if (! destination_operand (op, mode))
-    return 0;
-  return 1;
-}
-
 /* Similarly.  */
 
 int
===================================================================
Index: config/ia64/ia64.h
--- config/ia64/ia64.h	16 Jul 2004 23:25:45 -0000	1.182
+++ config/ia64/ia64.h	24 Jul 2004 19:33:58 -0000
@@ -2179,8 +2179,6 @@
 { "ar_lc_reg_operand", {REG}},						\
 { "ar_ccv_reg_operand", {REG}},						\
 { "ar_pfs_reg_operand", {REG}},						\
-{ "general_xfmode_operand", {SUBREG, REG, CONST_DOUBLE, MEM}},		\
-{ "destination_xfmode_operand", {SUBREG, REG, MEM}},			\
 { "xfreg_or_fp01_operand", {REG, CONST_DOUBLE}},			\
 { "basereg_operand", {SUBREG, REG}},
 
===================================================================
Index: config/ia64/ia64.md
--- config/ia64/ia64.md	4 Jul 2004 03:03:00 -0000	1.131
+++ config/ia64/ia64.md	24 Jul 2004 19:33:58 -0000
@@ -773,8 +773,8 @@
 ;; ??? There's no easy way to mind volatile acquire/release semantics.
 
 (define_insn "*movxf_internal"
-  [(set (match_operand:XF 0 "destination_xfmode_operand" "=f,f, m")
-	(match_operand:XF 1 "general_xfmode_operand"     "fG,m,fG"))]
+  [(set (match_operand:XF 0 "destination_operand" "=f,f, m")
+	(match_operand:XF 1 "general_operand"     "fG,m,fG"))]
   "ia64_move_ok (operands[0], operands[1])"
   "@
    mov %0 = %F1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]