rs6000: Delete HAVE_AS_LWSYNC and TARGET_LWSYNC_INSTRUCTION
authorSegher Boessenkool <segher@kernel.crashing.org>
Fri, 28 Sep 2018 21:50:34 +0000 (23:50 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Fri, 28 Sep 2018 21:50:34 +0000 (23:50 +0200)
All supported assemblers know lwsync, so we never need to generate this
instruction using the .long escape hatch.

* config.in (HAVE_AS_LWSYNC): Delete.
* config/powerpcspe/powerpcspe.h (TARGET_LWSYNC_INSTRUCTION): Delete.
* config/powerpcspe/sync.md (*lwsync): Always generate lwsync, never
do it as a .long .
* config/rs6000/rs6000.h (TARGET_LWSYNC_INSTRUCTION): Delete.
* config/rs6000/sync.md (*lwsync): Always generate lwsync, never do it
as a .long .
* configure.ac: Delete HAVE_AS_LWSYNC.
* configure: Regenerate.

From-SVN: r264702

gcc/ChangeLog
gcc/config.in
gcc/config/powerpcspe/powerpcspe.h
gcc/config/powerpcspe/sync.md
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/sync.md
gcc/configure
gcc/configure.ac

index 96baa7d48e2f8c154f0b9f8830759ff0afc5fb42..cf52864503cecb46e8584eb4ec0e9f7b2c29e129 100644 (file)
@@ -1,3 +1,15 @@
+2018-09-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config.in (HAVE_AS_LWSYNC): Delete.
+       * config/powerpcspe/powerpcspe.h (TARGET_LWSYNC_INSTRUCTION): Delete.
+       * config/powerpcspe/sync.md (*lwsync): Always generate lwsync, never
+       do it as a .long .
+       * config/rs6000/rs6000.h (TARGET_LWSYNC_INSTRUCTION): Delete.
+       * config/rs6000/sync.md (*lwsync): Always generate lwsync, never do it
+       as a .long .
+       * configure.ac: Delete HAVE_AS_LWSYNC.
+       * configure: Regenerate.
+
 2018-09-28  Eric Botcazou  <ebotcazou@adacore.com>
             Pierre-Marie de Rodat  <derodat@adacore.com>
 
index 48dfd23e9d68e99089f0a6225d2e27200d14e379..1242326ad98dbb174057adf940f283ed37d4011b 100644 (file)
 #endif
 
 
-/* Define if your assembler supports LWSYNC instructions. */
-#ifndef USED_FOR_TARGET
-#undef HAVE_AS_LWSYNC
-#endif
-
-
 /* Define if your assembler supports the -mabi option. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_MABI_OPTION
index a30fe34dbc0f9e763d23f05d3944f4b0f242b6ed..2bb32c7f7acf6a521f67cf0a6efed7ab406a3cff 100644 (file)
@@ -216,14 +216,6 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define TARGET_MFCRF 0
 #endif
 
-/* Define TARGET_LWSYNC_INSTRUCTION if the assembler knows about lwsync.  If
-   not, generate the lwsync code as an integer constant.  */
-#ifdef HAVE_AS_LWSYNC
-#define TARGET_LWSYNC_INSTRUCTION 1
-#else
-#define TARGET_LWSYNC_INSTRUCTION 0
-#endif
-
 /* Define TARGET_TLS_MARKERS if the target assembler does not support
    arg markers for __tls_get_addr calls.  */
 #ifndef HAVE_AS_TLS_MARKERS
index f4f7bc2151df49a533a7f9b06432b085fc31f8be..dff3932e63a50a5be7a31aecffab14b524f72346 100644 (file)
        (unspec:BLK [(match_dup 0)] UNSPEC_LWSYNC))]
   ""
 {
-  /* Some AIX assemblers don't accept lwsync, so we use a .long.  */
   if (TARGET_NO_LWSYNC)
     return "sync";
-  else if (TARGET_LWSYNC_INSTRUCTION)
-    return "lwsync";
   else
-    return ".long 0x7c2004ac";
+    return "lwsync";
 }
   [(set_attr "type" "sync")])
 
index 232d442864cea25c1092bb1999e2f5687bf4b323..d2fe795fd8aac7527a8485419fd50add0fe1c014 100644 (file)
@@ -219,14 +219,6 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 #define TARGET_MFCRF 0
 #endif
 
-/* Define TARGET_LWSYNC_INSTRUCTION if the assembler knows about lwsync.  If
-   not, generate the lwsync code as an integer constant.  */
-#ifdef HAVE_AS_LWSYNC
-#define TARGET_LWSYNC_INSTRUCTION 1
-#else
-#define TARGET_LWSYNC_INSTRUCTION 0
-#endif
-
 /* Define TARGET_TLS_MARKERS if the target assembler does not support
    arg markers for __tls_get_addr calls.  */
 #ifndef HAVE_AS_TLS_MARKERS
index ee98049cdd81dc1a6fd90853e0ed1abc7fe48b05..f18b6b77280148f9bed0fc9183367070949785fa 100644 (file)
        (unspec:BLK [(match_dup 0)] UNSPEC_LWSYNC))]
   ""
 {
-  /* Some AIX assemblers don't accept lwsync, so we use a .long.  */
   if (TARGET_NO_LWSYNC)
     return "sync";
-  else if (TARGET_LWSYNC_INSTRUCTION)
-    return "lwsync";
   else
-    return ".long 0x7c2004ac";
+    return "lwsync";
 }
   [(set_attr "type" "sync")])
 
index f2d5a6f2f62e367cf428637b8d4f6392b26d60ad..5d2fd184a2361e943f853793783b8b78e190f6a6 100755 (executable)
@@ -26719,49 +26719,6 @@ if test $gcc_cv_as_powerpc_vsx = yes; then
 
 $as_echo "#define HAVE_AS_VSX 1" >>confdefs.h
 
-fi
-
-
-    case $target in
-      *-*-aix*) conftest_s='   .csect .text[PR]
-       lwsync';;
-      *) conftest_s='  .text
-       lwsync';;
-    esac
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for lwsync support" >&5
-$as_echo_n "checking assembler for lwsync support... " >&6; }
-if test "${gcc_cv_as_powerpc_lwsync+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  gcc_cv_as_powerpc_lwsync=no
-    if test $in_tree_gas = yes; then
-    if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 19 \) \* 1000 + 2`
-  then gcc_cv_as_powerpc_lwsync=yes
-fi
-  elif test x$gcc_cv_as != x; then
-    $as_echo "$conftest_s" > conftest.s
-    if { ac_try='$gcc_cv_as $gcc_cv_as_flags -a32 -o conftest.o conftest.s >&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }
-    then
-       gcc_cv_as_powerpc_lwsync=yes
-    else
-      echo "configure: failed program was" >&5
-      cat conftest.s >&5
-    fi
-    rm -f conftest.o conftest.s
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_powerpc_lwsync" >&5
-$as_echo "$gcc_cv_as_powerpc_lwsync" >&6; }
-if test $gcc_cv_as_powerpc_lwsync = yes; then
-
-$as_echo "#define HAVE_AS_LWSYNC 1" >>confdefs.h
-
 fi
 
 
index 470fde644f7b24f0030a775ad47f8979768843dc..3c1e0ad27c34fc24f7bbc3f287f8289099eecc64 100644 (file)
@@ -4557,19 +4557,6 @@ LCF0:
       [AC_DEFINE(HAVE_AS_VSX, 1,
          [Define if your assembler supports VSX instructions.])])
 
-    case $target in
-      *-*-aix*) conftest_s='   .csect .text[[PR]]
-       lwsync';;
-      *) conftest_s='  .text
-       lwsync';;
-    esac
-
-    gcc_GAS_CHECK_FEATURE([lwsync support],
-      gcc_cv_as_powerpc_lwsync, [2,19,2], -a32,
-      [$conftest_s],,
-      [AC_DEFINE(HAVE_AS_LWSYNC, 1,
-         [Define if your assembler supports LWSYNC instructions.])])
-
     case $target in
       *-*-aix*) conftest_s='   .machine "476"
        .csect .text[[PR]]