Commit f6f5dff2 by Rainer Orth Committed by Rainer Orth

re PR target/12101 (i386 Solaris no longer works with GNU as?)

	* configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
	assembler supports Sun syntax for cmov.
	* configure: Regenerate.
	* config.in: Likewise.
	* config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
	HAVE_AS_IX86_CMOV_SUN_SYNTAX.
	* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
	Fixes PR target/12101.

From-SVN: r71089
parent 47ab33b2
2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
assembler supports Sun syntax for cmov.
* configure: Regenerate.
* config.in: Likewise.
* config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
HAVE_AS_IX86_CMOV_SUN_SYNTAX.
* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
Fixes PR target/12101.
2003-09-04 Matt Austern <austern@apple.com>
* c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
......
......@@ -480,6 +480,9 @@
/* Define if your assembler uses the new HImode fild and fist notation. */
#undef HAVE_GAS_FILDS_FISTS
/* Define if your assembler supports the Sun syntax for cmov. */
#undef HAVE_AS_IX86_CMOV_SUN_SYNTAX
/* Define true if the assembler supports '.long foo@GOTOFF'. */
#undef HAVE_AS_GOTOFF_IN_DATA
......
......@@ -7020,8 +7020,8 @@ get_some_local_dynamic_name_1 (rtx *px, void *data ATTRIBUTE_UNUSED)
C -- print opcode suffix for set/cmov insn.
c -- like C, but print reversed condition
F,f -- likewise, but for floating-point.
O -- if CMOV_SUN_AS_SYNTAX, expand to "w.", "l." or "q.", otherwise
nothing
O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.",
otherwise nothing
R -- print the prefix for register names.
z -- print the opcode suffix for the size of the current operand.
* -- print a star (in certain assembler syntax)
......@@ -7222,7 +7222,7 @@ print_operand (FILE *file, rtx x, int code)
}
return;
case 'O':
#ifdef CMOV_SUN_AS_SYNTAX
#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
if (ASSEMBLER_DIALECT == ASM_ATT)
{
switch (GET_MODE (x))
......@@ -7242,7 +7242,7 @@ print_operand (FILE *file, rtx x, int code)
put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 0, 0, file);
return;
case 'F':
#ifdef CMOV_SUN_AS_SYNTAX
#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
if (ASSEMBLER_DIALECT == ASM_ATT)
putc ('.', file);
#endif
......@@ -7261,7 +7261,7 @@ print_operand (FILE *file, rtx x, int code)
put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 1, 0, file);
return;
case 'f':
#ifdef CMOV_SUN_AS_SYNTAX
#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
if (ASSEMBLER_DIALECT == ASM_ATT)
putc ('.', file);
#endif
......
/* Target definitions for GNU compiler for Intel 80386 running Solaris 2
Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
Contributed by Fred Fish (fnf@cygnus.com).
......@@ -20,8 +20,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define CMOV_SUN_AS_SYNTAX 1
/* The Solaris 2.0 x86 linker botches alignment of code sections.
It tries to align to a 16 byte boundary by padding with 0x00000090
ints, rather than 0x90 bytes (nop). This generates trash in the
......
......@@ -2263,6 +2263,12 @@ changequote([,])dnl
[AC_DEFINE(HAVE_GAS_FILDS_FISTS, 1,
[Define if your assembler uses the new HImode fild and fist notation.])])
gcc_GAS_CHECK_FEATURE([cmov syntax],
gcc_cv_as_ix86_cmov_sun_syntax,,,
[cmovl.l %edx, %eax],,
[AC_DEFINE(HAVE_AS_IX86_CMOV_SUN_SYNTAX, 1,
[Define if your assembler supports the Sun syntax for cmov.])])
# This one is used unconditionally by i386.[ch]; it is to be defined
# to 1 if the feature is present, 0 otherwise.
gcc_GAS_CHECK_FEATURE([GOTOFF in data],
......
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