* pa.md (setccfp0, setccfp1): New patterns.
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>
Wed, 4 Sep 2002 22:05:43 +0000 (22:05 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Wed, 4 Sep 2002 22:05:43 +0000 (22:05 +0000)
From-SVN: r56814

gcc/ChangeLog
gcc/config/pa/pa.md

index 9c952be5ab701ceb407dd24d0db763d613bc141d..7b8e319ab6fb9c076c5d8242f5e4011951f08031 100644 (file)
@@ -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,
index 7632beba83cf228f19c8fd5374b1ba4d127ea11e..29fe1c874e63f8c5ab3fcf66414bfa9c950ec6de 100644 (file)
   [(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"