diff options
author | John David Anglin <dave@hiauly1.hia.nrc.ca> | 2002-09-04 22:05:43 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2002-09-04 22:05:43 +0000 |
commit | 8d46398edf4ebc906649a4d1a3658e5d6166129c (patch) | |
tree | 03c2dde36475ffebea3bd3b71fdad38c3c98a2ab | |
parent | 14966b9462e5f6d52e27d86238a36b59ef5d5089 (diff) | |
download | gcc-8d46398edf4ebc906649a4d1a3658e5d6166129c.tar.gz |
* pa.md (setccfp0, setccfp1): New patterns.
From-SVN: r56814
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/pa/pa.md | 20 |
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" |