Hi,

This is a short patch that enables PC-relative support by default, and provides 
a
test case to ensure that the correct .localentry name,1 directive is produced 
iff
PC-relative support is enabled.

Bootstrapped and tested on powerpc64le-unknown-linux-gnu.  Okay for trunk?

Thanks,
Bill


[gcc]

2019-05-23  Bill Schmidt  <wschm...@linux.ibm.com>
            Michael Meissner  <meiss...@linux.ibm.com>

        * config/rs6000/rs6000-cpus.def (OTHER_FUTURES_MASK): New #define.

[gcc/testsuite]

2019-05-23  Bill Schmidt  <wschm...@linux.ibm.com>

        * gcc.target/powerpc/pcrel-detect-1.c: New file.


diff --git a/gcc/config/rs6000/rs6000-cpus.def 
b/gcc/config/rs6000/rs6000-cpus.def
index 64292c923e6..5337382bdcf 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -77,6 +77,9 @@
                                 | OPTION_MASK_FUTURE                   \
                                 | OPTION_MASK_PCREL)
 
+/* Flags that need to be turned off if -mno-future.  */
+#define OTHER_FUTURE_MASKS     (OPTION_MASK_PCREL)
+
 /* Flags that need to be turned off if -mno-power9-vector.  */
 #define OTHER_P9_VECTOR_MASKS  (OPTION_MASK_FLOAT128_HW                \
                                 | OPTION_MASK_P9_MINMAX)
diff --git a/gcc/testsuite/gcc.target/powerpc/pcrel-detect-1.c 
b/gcc/testsuite/gcc.target/powerpc/pcrel-detect-1.c
new file mode 100644
index 00000000000..8e0e9053dc7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/pcrel-detect-1.c
@@ -0,0 +1,12 @@
+/* { dg-do compile { target { powerpc*-*-* } } } */
+/* { dg-require-effective-target powerpc_elfv2 } */
+/* { dg-options "-O3 -mdejagnu-cpu=future" } */
+
+
+int localentry1 () { return 5; }
+
+#pragma GCC target ("cpu=power9")
+int localentry2 () { return 5; }
+
+/* { dg-final { scan-assembler {\.localentry\tlocalentry1,1\M} } } */
+/* { dg-final { scan-assembler-not {\.localentry\tlocalentry2,1\M} } } */

Reply via email to