summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-24 22:25:18 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-24 22:25:18 +0000
commiteb7cb9b6832bb9ed02489ae188967df6110700af (patch)
tree234bcc9dca69c1a00033bcd6ee200229f06782e4
parentac990d9ac3ee3c291d3db797fd2cf42943d24744 (diff)
downloadgcc-eb7cb9b6832bb9ed02489ae188967df6110700af.tar.gz
Purge FIXUNS_TRUNC_LIKE_FIX_TRUNC
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189826 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog16
-rw-r--r--gcc/config/cris/cris.h2
-rw-r--r--gcc/config/h8300/h8300.h4
-rw-r--r--gcc/config/mn10300/mn10300.h4
-rw-r--r--gcc/config/rs6000/rs6000.h5
-rw-r--r--gcc/config/v850/v850.h4
-rw-r--r--gcc/config/v850/v850.md14
-rw-r--r--gcc/config/vax/vax.h4
-rw-r--r--gcc/config/vax/vax.md7
-rw-r--r--gcc/doc/tm.texi6
-rw-r--r--gcc/doc/tm.texi.in6
-rw-r--r--gcc/system.h2
12 files changed, 35 insertions, 39 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ee809e01157..afc2b69d7e1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,21 @@
2012-07-24 Richard Henderson <rth@redhat.com>
+ * system.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Poison.
+ * config/cris/cris.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/h8300/h8300.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/mn10300/mn10300.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/rs6000/rs6000.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove
+ comment reference.
+ * config/v850/v850.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/v850/v850.md (fixuns_truncsfsi2, fixuns_truncdfsi2): New.
+ (fix_truncsfsi2, fix_truncdfsi2): Avoid double FIX.
+ * config/vax/vax.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/vax/vax.md (fixuns_trunc<VAXfp><VAXint>): New.
+ * doc/tm.texi.in (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * doc/tm.texi: Rebuild.
+
+2012-07-24 Richard Henderson <rth@redhat.com>
+
* optabs.def: New file.
* Makefile.in (OPTABS_H): Add insn-opinit.h.
(MOSTLYCLEANFILES): Likewise.
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 0ed4ced31a3..646ba90b4b9 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -1055,8 +1055,6 @@ enum cris_pic_symbol_type
/* FIXME: Investigate CASE_VECTOR_SHORTEN_MODE to make sure HImode is not
used when broken-.word could possibly fail (plus testcase). */
-#define FIXUNS_TRUNC_LIKE_FIX_TRUNC
-
/* This is the number of bytes that can be moved in one
reasonably fast instruction sequence. For CRIS, this is two
instructions: mem => reg, reg => mem. */
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 82e55f6628b..61e0dd2f846 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -566,10 +566,6 @@ struct cum_arg
are unsigned. */
#define DEFAULT_SIGNED_CHAR 0
-/* This flag, if defined, says the same insns that convert to a signed fixnum
- also convert validly to an unsigned one. */
-#define FIXUNS_TRUNC_LIKE_FIX_TRUNC
-
/* Max number of bytes we can move from memory to memory
in one reasonably fast instruction. */
#define MOVE_MAX (TARGET_H8300H || TARGET_H8300S ? 4 : 2)
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 79b20f5a4d8..eb4f2f9f42f 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -703,10 +703,6 @@ do { \
#define LOAD_EXTEND_OP(MODE) ZERO_EXTEND
-/* This flag, if defined, says the same insns that convert to a signed fixnum
- also convert validly to an unsigned one. */
-#define FIXUNS_TRUNC_LIKE_FIX_TRUNC
-
/* Max number of bytes we can move from memory to memory
in one reasonably fast instruction. */
#define MOVE_MAX 4
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 97d551c2b29..2c8a7dda1f6 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1821,11 +1821,6 @@ do { \
/* Define this as 1 if `char' should by default be signed; else as 0. */
#define DEFAULT_SIGNED_CHAR 0
-/* This flag, if defined, says the same insns that convert to a signed fixnum
- also convert validly to an unsigned one. */
-
-/* #define FIXUNS_TRUNC_LIKE_FIX_TRUNC */
-
/* An integer expression for the size in bits of the largest integer machine
mode that should actually be used. */
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index f5b64deab2b..10ddd7b13a6 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -812,10 +812,6 @@ typedef enum
/* Byte and short loads sign extend the value to a word. */
#define LOAD_EXTEND_OP(MODE) SIGN_EXTEND
-/* This flag, if defined, says the same insns that convert to a signed fixnum
- also convert validly to an unsigned one. */
-#define FIXUNS_TRUNC_LIKE_FIX_TRUNC
-
/* Max number of bytes we can move from memory to memory
in one reasonably fast instruction. */
#define MOVE_MAX 4
diff --git a/gcc/config/v850/v850.md b/gcc/config/v850/v850.md
index 4ac565383cd..f479ff6322e 100644
--- a/gcc/config/v850/v850.md
+++ b/gcc/config/v850/v850.md
@@ -1938,7 +1938,7 @@
;; float -> int
(define_insn "fix_truncsfsi2"
[(set (match_operand:SI 0 "register_operand" "=r")
- (fix:SI (fix:SF (match_operand:SF 1 "register_operand" "r"))))]
+ (fix:SI (match_operand:SF 1 "register_operand" "r")))]
"TARGET_V850E2V3"
"trncf.sw %1,%0"
[(set_attr "length" "4")
@@ -1947,13 +1947,23 @@
(define_insn "fix_truncdfsi2"
[(set (match_operand:SI 0 "register_operand" "=r")
- (fix:SI (fix:DF (match_operand:DF 1 "even_reg_operand" "r"))))]
+ (fix:SI (match_operand:DF 1 "even_reg_operand" "r")))]
"TARGET_V850E2V3"
"trncf.dw %1,%0"
[(set_attr "length" "4")
(set_attr "cc" "none_0hit")
(set_attr "type" "fpu")])
+(define_expand "fixuns_truncsfsi2"
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (fix:SI (match_operand:SF 1 "register_operand" "r")))]
+ "TARGET_V850E2V3")
+
+(define_expand "fixuns_truncdfsi2"
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (fix:SI (match_operand:DF 1 "even_reg_operand" "r")))]
+ "TARGET_V850E2V3")
+
;; int -> float
(define_insn "floatsisf2"
[(set (match_operand:SF 0 "register_operand" "=r")
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 37e3d108f3f..9d23fd058f5 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -455,10 +455,6 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
/* Define this as 1 if `char' should by default be signed; else as 0. */
#define DEFAULT_SIGNED_CHAR 1
-/* This flag, if defined, says the same insns that convert to a signed fixnum
- also convert validly to an unsigned one. */
-#define FIXUNS_TRUNC_LIKE_FIX_TRUNC
-
/* Max number of bytes we can move from memory to memory
in one reasonably fast instruction. */
#define MOVE_MAX 8
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index 32f50fd3367..afc31293d6d 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -318,9 +318,14 @@
(define_insn "fix_trunc<VAXfp:mode><VAXint:mode>2"
[(set (match_operand:VAXint 0 "nonimmediate_operand" "=g")
- (fix:VAXint (fix:VAXfp (match_operand:VAXfp 1 "general_operand" "gF"))))]
+ (fix:VAXint (match_operand:VAXfp 1 "general_operand" "gF")))]
""
"cvt<VAXfp:fsfx><VAXint:isfx> %1,%0")
+
+(define_expand "fixuns_trunc<VAXfp:mode><VAXint:mode>2"
+ [(set (match_operand:VAXint 0 "nonimmediate_operand" "")
+ (fix:VAXint (match_operand:VAXfp 1 "general_operand")))]
+ "")
;;- All kinds of add instructions.
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 9f6b5dd0ff1..ff743c8f19c 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -10339,12 +10339,6 @@ Define this macro if loading short immediate values into registers sign
extends.
@end defmac
-@defmac FIXUNS_TRUNC_LIKE_FIX_TRUNC
-Define this macro if the same instructions that convert a floating
-point number to a signed fixed point number also convert validly to an
-unsigned one.
-@end defmac
-
@deftypefn {Target Hook} {unsigned int} TARGET_MIN_DIVISIONS_FOR_RECIP_MUL (enum machine_mode @var{mode})
When @option{-ffast-math} is in effect, GCC tries to optimize
divisions by the same divisor, by turning them into multiplications by
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index df597c2a207..85d9d1de057 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -10205,12 +10205,6 @@ Define this macro if loading short immediate values into registers sign
extends.
@end defmac
-@defmac FIXUNS_TRUNC_LIKE_FIX_TRUNC
-Define this macro if the same instructions that convert a floating
-point number to a signed fixed point number also convert validly to an
-unsigned one.
-@end defmac
-
@hook TARGET_MIN_DIVISIONS_FOR_RECIP_MUL
When @option{-ffast-math} is in effect, GCC tries to optimize
divisions by the same divisor, by turning them into multiplications by
diff --git a/gcc/system.h b/gcc/system.h
index 572271c3c70..e3a72887e06 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -888,7 +888,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
IDENT_ASM_OP UNALIGNED_SHORT_ASM_OP UNALIGNED_INT_ASM_OP \
UNALIGNED_LONG_ASM_OP UNALIGNED_DOUBLE_INT_ASM_OP \
USE_COMMON_FOR_ONE_ONLY IFCVT_EXTRA_FIELDS IFCVT_INIT_EXTRA_FIELDS \
- CASE_USE_BIT_TESTS
+ CASE_USE_BIT_TESTS FIXUNS_TRUNC_LIKE_FIX_TRUNC
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \