Commit 2660fecc by Segher Boessenkool Committed by Segher Boessenkool

rs6000: Delete HAVE_AS_LWSYNC and TARGET_LWSYNC_INSTRUCTION

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
parent 44662f68
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>
......
......@@ -528,12 +528,6 @@
#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
......
......@@ -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
......
......@@ -91,13 +91,10 @@
(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")])
......
......@@ -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
......
......@@ -91,13 +91,10 @@
(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")])
......
......@@ -26723,49 +26723,6 @@ 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
case $target in
*-*-aix*) conftest_s=' .machine "476"
.csect .text[PR]
dci 0';;
......
......@@ -4558,19 +4558,6 @@ LCF0:
[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]]
dci 0';;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment