aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2004-07-25 04:03:42 +0000
committerZack Weinberg <zack@gcc.gnu.org>2004-07-25 04:03:42 +0000
commit78d8e0f9d867bb8d53ab4ad98873e2e8ab342c8f (patch)
treec68a6795ba355ed9c059d3fb2334e3850142f83f /gcc
parentc5e36c09e5df095a140f98e064d14759a09e1108 (diff)
downloadgcc-78d8e0f9d867bb8d53ab4ad98873e2e8ab342c8f.zip
gcc-78d8e0f9d867bb8d53ab4ad98873e2e8ab342c8f.tar.gz
gcc-78d8e0f9d867bb8d53ab4ad98873e2e8ab342c8f.tar.bz2
[multiple changes]
2004-07-24 Zack Weinberg <zack@codesourcery.com> * 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. 2004-07-24 Alexander Kabaev <kan@freebsd.org> * config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing. (EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS. From-SVN: r85141
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/config/ia64/ia64.c20
-rw-r--r--gcc/config/ia64/ia64.h9
-rw-r--r--gcc/config/ia64/ia64.md4
4 files changed, 21 insertions, 25 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 05d3615..2af48d1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+2004-07-24 Zack Weinberg <zack@codesourcery.com>
+
+ * 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.
+
+2004-07-24 Alexander Kabaev <kan@freebsd.org>
+
+ * config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
+ (EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
+
2004-07-24 Alexander Kabaev <kan@freebsd.org>
Zack Weinberg <zack@codesourcery.com
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index cb156b9..d88b8e7d 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -955,26 +955,6 @@ ar_pfs_reg_operand (register rtx op, enum machine_mode mode)
&& 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
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index d2a9ca3..00d35ea 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -44,8 +44,13 @@ do { \
builtin_define("__BIG_ENDIAN__"); \
} while (0)
+#ifndef SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS
+#endif
+
#define EXTRA_SPECS \
- { "asm_extra", ASM_EXTRA_SPEC },
+ { "asm_extra", ASM_EXTRA_SPEC }, \
+ SUBTARGET_EXTRA_SPECS
#define CC1_SPEC "%(cc1_cpu) "
@@ -2179,8 +2184,6 @@ do { \
{ "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}},
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 08a6d6c..04eda40 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -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