[ARC] Use hardware support for double-precision compare instructions.
authorClaudiu Zissulescu <claziss@synopsys.com>
Thu, 12 Dec 2019 08:42:10 +0000 (09:42 +0100)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Thu, 12 Dec 2019 08:42:10 +0000 (09:42 +0100)
Allow the compiler to use the double-precision compare instructions.

xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE.
(cstoredi4): Use TARGET_HARD_FLOAT.

From-SVN: r279273

gcc/ChangeLog
gcc/config/arc/arc.md

index 99ba387..b0e8e39 100644 (file)
@@ -1,3 +1,8 @@
+2019-12-12  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE.
+       (cstoredi4): Use TARGET_HARD_FLOAT.
+
 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
 
        * opts.c (default_options_table): Move -ftree-loop-distribute-patterns
index 6b4ed0e..2cbb6ac 100644 (file)
@@ -3747,7 +3747,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
 })
 
 (define_mode_iterator SDF [(SF "TARGET_FP_SP_BASE || TARGET_OPTFPE")
-                          (DF "TARGET_OPTFPE")])
+                          (DF "TARGET_FP_DP_BASE || TARGET_OPTFPE")])
 
 (define_expand "cstore<mode>4"
   [(set (reg:CC CC_REG)
@@ -3757,7 +3757,7 @@ core_3, archs4x, archs4xd, archs4xd_slow"
        (match_operator:SI 1 "comparison_operator" [(reg CC_REG)
                                                    (const_int 0)]))]
 
-  "TARGET_FP_SP_BASE || TARGET_OPTFPE"
+  "TARGET_HARD_FLOAT || TARGET_OPTFPE"
 {
   gcc_assert (XEXP (operands[1], 0) == operands[2]);
   gcc_assert (XEXP (operands[1], 1) == operands[3]);