diff options
author | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-09-04 22:05:43 +0000 |
---|---|---|
committer | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-09-04 22:05:43 +0000 |
commit | b6009807db690b551409b23d43adb3ae4195d6ed (patch) | |
tree | 03c2dde36475ffebea3bd3b71fdad38c3c98a2ab /gcc/config | |
parent | 9125d8bed8c87bea0984841382bd55af13e5c2a7 (diff) | |
download | gcc-b6009807db690b551409b23d43adb3ae4195d6ed.tar.gz |
* pa.md (setccfp0, setccfp1): New patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56814 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/pa/pa.md | 20 |
1 files changed, 20 insertions, 0 deletions
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" |