[ARC] Enable DBNZ for core3 and newer CPUs.
authorVineet Gupta <vgupta@synopsys.com>
Mon, 17 Sep 2018 08:52:22 +0000 (08:52 +0000)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Mon, 17 Sep 2018 08:52:22 +0000 (10:52 +0200)
2018-09-17  Vineet Gupta  <vgupta@synopsys.com>

* config/arc/arc.c: Object attributes for core4 not reflected
correctly.
* config/arc/arc.h: Don't restrict DBNZ to core3 (core4 includes
core3).

From-SVN: r264362

gcc/ChangeLog
gcc/config/arc/arc.c
gcc/config/arc/arc.h

index 30796de19b029654ceabb335d0913df6d0297fcb..44700f532425b04bc087568bb364889d821b6528 100644 (file)
@@ -1,3 +1,10 @@
+2018-09-17  Vineet Gupta  <vgupta@synopsys.com>
+
+       * config/arc/arc.c: Object attributes for core4 not reflected
+       correctly.
+       * config/arc/arc.h: Don't restrict DBNZ to core3 (core4 includes
+       core3).
+
 2018-09-17  Alexey Brodkin  <abrodkin@synopsys.com>
 
        * config/arc/linux.h (LINK_EH_SPEC): Add missing space.
index c186e02e0f183e8c1d8a6a4939ee5ce148702604..5443cdd8b3d905f7fab507210243df5cd1dc11ee 100644 (file)
@@ -5181,7 +5181,8 @@ static void arc_file_start (void)
               TARGET_OPTFPE ? 1 : 0);
   if (TARGET_V2)
     asm_fprintf (asm_out_file, "\t.arc_attribute Tag_ARC_CPU_variation, %d\n",
-                arc_tune == ARC_TUNE_CORE_3 ? 3 : 2);
+                (arc_tune < ARC_TUNE_CORE_3) ? 2 :
+                (arc_tune == ARC_TUNE_CORE_3 ? 3 : 4));
 }
 
 /* Implement `TARGET_ASM_FILE_END'.  */
index de09b6b2f09eca2c68e7224f53d3a16f545f56a2..98fa92800fb1b163fc1d0c67064dd6112c9a6472 100644 (file)
@@ -1635,7 +1635,7 @@ enum
 /* Custom FP instructions used by QuarkSE EM cpu.  */
 #define TARGET_FPX_QUARK    (TARGET_EM && TARGET_SPFP          \
                             && (arc_fpu_build == FPX_QK))
-/* DBNZ support is available for ARCv2 core3 cpus.  */
-#define TARGET_DBNZ (TARGET_V2 && (arc_tune == ARC_TUNE_CORE_3))
+/* DBNZ support is available for ARCv2 core3 and newer cpus.  */
+#define TARGET_DBNZ (TARGET_V2 && (arc_tune >= ARC_TUNE_CORE_3))
 
 #endif /* GCC_ARC_H */