configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether the configured assembler supports the sahf mnemonic.

* configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether
        the configured assembler supports the sahf mnemonic.
        * configure: Regenerate.
        * config.in: Regenerate.

        * config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF,
        emit "sahf" or ".byte\t0x9e" as asm template.

From-SVN: r122931
This commit is contained in:
Uros Bizjak 2007-03-14 22:03:59 +01:00 committed by Uros Bizjak
parent e9f646295d
commit 38ca376525
5 changed files with 56 additions and 1 deletions

View File

@ -1,3 +1,13 @@
2007-03-14 Uros Bizjak <ubizjak@gmail.com>
* configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether
the configured assembler supports the sahf mnemonic.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF,
emit "sahf" or ".byte\t0x9e" as asm template.
2007-03-14 Michael Meissner <michael.meissner@amd.com>
PR 31018

View File

@ -228,6 +228,12 @@
#endif
/* Define if your assembler supports the sahf mnemonic. */
#ifndef USED_FOR_TARGET
#undef HAVE_AS_IX86_SAHF
#endif
/* Define if your assembler supports the lituse_jsrdirect relocation. */
#ifndef USED_FOR_TARGET
#undef HAVE_AS_JSRDIRECT_RELOCS

View File

@ -988,7 +988,7 @@
(unspec:CC [(match_operand:HI 0 "register_operand" "a")]
UNSPEC_SAHF))]
"TARGET_SAHF"
"sahf"
"* return HAVE_AS_IX86_SAHF ? \"sahf\" : \".byte\t0x9e\";"
[(set_attr "length" "1")
(set_attr "athlon_decode" "vector")
(set_attr "amdfam10_decode" "direct")

33
gcc/configure vendored
View File

@ -15235,6 +15235,39 @@ cat >>confdefs.h <<\_ACEOF
#define HAVE_AS_IX86_FFREEP 1
_ACEOF
fi
echo "$as_me:$LINENO: checking assembler for sahf mnemonic" >&5
echo $ECHO_N "checking assembler for sahf mnemonic... $ECHO_C" >&6
if test "${gcc_cv_as_ix86_sahf+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
gcc_cv_as_ix86_sahf=no
if test x$gcc_cv_as != x; then
echo 'sahf' > conftest.s
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }
then
gcc_cv_as_ix86_sahf=yes
else
echo "configure: failed program was" >&5
cat conftest.s >&5
fi
rm -f conftest.o conftest.s
fi
fi
echo "$as_me:$LINENO: result: $gcc_cv_as_ix86_sahf" >&5
echo "${ECHO_T}$gcc_cv_as_ix86_sahf" >&6
if test $gcc_cv_as_ix86_sahf = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_AS_IX86_SAHF 1
_ACEOF
fi
echo "$as_me:$LINENO: checking assembler for different section symbol subtraction" >&5

View File

@ -2808,6 +2808,12 @@ foo: nop
[AC_DEFINE(HAVE_AS_IX86_FFREEP, 1,
[Define if your assembler supports the ffreep mnemonic.])])
gcc_GAS_CHECK_FEATURE([sahf mnemonic],
gcc_cv_as_ix86_sahf,,,
[sahf],,
[AC_DEFINE(HAVE_AS_IX86_SAHF, 1,
[Define if your assembler supports the sahf mnemonic.])])
gcc_GAS_CHECK_FEATURE([different section symbol subtraction],
gcc_cv_as_ix86_diff_sect_delta,,,
[.section .rodata