There is a new HWCAP2 bit added to the AUXV here:

  http://patchwork.ozlabs.org/patch/824764/

This patch adds __builtin_cpu_supports() support for it.
This passed bootstrap and regtesting with no regressions?
Ok for trunk?

Ok to back port to the open releases too once testing to complete there?

Peter


gcc/
        * config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define.
        * config/rs6000/rs6000.c (cpu_supports_info): Use it.

gcc/testsuite/
        * gcc.target/powerpc/cpu-builtin-1.c (htm-no-suspend): Add test.

Index: gcc/config/rs6000/ppc-auxv.h
===================================================================
--- gcc/config/rs6000/ppc-auxv.h        (revision 254453)
+++ gcc/config/rs6000/ppc-auxv.h        (working copy)
@@ -91,6 +91,7 @@
 #define PPC_FEATURE2_HAS_IEEE128    0x00400000
 #define PPC_FEATURE2_DARN           0x00200000
 #define PPC_FEATURE2_SCV            0x00100000
+#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000
 
 
 /* Thread Control Block (TCB) offsets of the AT_PLATFORM, AT_HWCAP and
Index: gcc/config/rs6000/rs6000.c
===================================================================
--- gcc/config/rs6000/rs6000.c  (revision 254453)
+++ gcc/config/rs6000/rs6000.c  (working copy)
@@ -387,6 +387,7 @@ static const struct
   { "ebb",             PPC_FEATURE2_HAS_EBB,           1 },
   { "htm",             PPC_FEATURE2_HAS_HTM,           1 },
   { "htm-nosc",                PPC_FEATURE2_HTM_NOSC,          1 },
+  { "htm-no-suspend",  PPC_FEATURE2_HTM_NO_SUSPEND,    1 },
   { "isel",            PPC_FEATURE2_HAS_ISEL,          1 },
   { "tar",             PPC_FEATURE2_HAS_TAR,           1 },
   { "vcrypto",         PPC_FEATURE2_HAS_VEC_CRYPTO,    1 },
Index: gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c    (revision 254453)
+++ gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c    (working copy)
@@ -73,6 +73,7 @@ use_cpu_supports_builtins (unsigned int
   p[37] = __builtin_cpu_supports ("vsx");
   p[38] = __builtin_cpu_supports ("darn");
   p[39] = __builtin_cpu_supports ("scv");
+  p[40] = __builtin_cpu_supports ("htm-no-suspend");
 #else
   p[0] = 0;
 #endif

Reply via email to