summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>2002-09-04 22:05:43 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2002-09-04 22:05:43 +0000
commit8d46398edf4ebc906649a4d1a3658e5d6166129c (patch)
tree03c2dde36475ffebea3bd3b71fdad38c3c98a2ab
parent14966b9462e5f6d52e27d86238a36b59ef5d5089 (diff)
downloadgcc-8d46398edf4ebc906649a4d1a3658e5d6166129c.tar.gz
* pa.md (setccfp0, setccfp1): New patterns.
From-SVN: r56814
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/pa/pa.md20
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9c952be5ab7..7b8e319ab6f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.md (setccfp0, setccfp1): New patterns.
+
2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* frv-protos.h (frv_init_builtins, frv_expand_builtin,
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 7632beba83c..29fe1c874e6 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -628,6 +628,26 @@
[(set_attr "length" "4")
(set_attr "type" "fpcc")])
+;; The following two patterns are optimization placeholders. In almost
+;; all cases, the user of the condition code will be simplified and the
+;; original condition code setting insn should be eliminated.
+
+(define_insn "*setccfp0"
+ [(set (reg:CCFP 0)
+ (const_int 0))]
+ "! TARGET_SOFT_FLOAT"
+ "fcmp,dbl,!= %%fr0,%%fr0"
+ [(set_attr "length" "4")
+ (set_attr "type" "fpcc")])
+
+(define_insn "*setccfp1"
+ [(set (reg:CCFP 0)
+ (const_int 1))]
+ "! TARGET_SOFT_FLOAT"
+ "fcmp,dbl,= %%fr0,%%fr0"
+ [(set_attr "length" "4")
+ (set_attr "type" "fpcc")])
+
;; scc insns.
(define_expand "seq"