This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
ia64: get rid of general_xfmode_operand anddestination_xfmode_operand
- From: Zack Weinberg <zack at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sat, 24 Jul 2004 12:36:17 -0700
- Subject: 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