The new gcc.dg/torture/pr58670.c testcase FAILs on Solaris 9/x86 with
the Sun assembler:

FAIL: gcc.dg/torture/pr58670.c  -O0  (test for excess errors)
Excess errors:
Assembler: pr58670.c
        "/var/tmp//cceOnFp7.s", line 18 : Illegal mnemonic
        "/var/tmp//cceOnFp7.s", line 18 : Syntax error
        "/var/tmp//cceOnFp7.s", line 45 : Illegal mnemonic
        "/var/tmp//cceOnFp7.s", line 45 : Syntax error

as doesn't grok the unadorned bts, but requires btsl instead.  The
following patch doest just that; tested with the appropriate runtest
invocation on i386-pc-solaris2.9 with either as or gas 2.23.2 and
checking that with gas the generated insn stays the same.  I guess this
is obvious?

Thanks.
        Rainer


2013-10-14  Rainer Orth  <r...@cebitec.uni-bielefeld.de>

        * gcc.dg/torture/pr58670.c (ASM_STR) [__i386__ || __x86_64__]: Use
        btsl.

# HG changeset patch
# Parent 439bff21626bdf77e8264901c6c6607bb3a90741
Fix gcc.dg/torture/pr58670.c for Solaris 9/x86 assembler

diff --git a/gcc/testsuite/gcc.dg/torture/pr58670.c b/gcc/testsuite/gcc.dg/torture/pr58670.c
--- a/gcc/testsuite/gcc.dg/torture/pr58670.c
+++ b/gcc/testsuite/gcc.dg/torture/pr58670.c
@@ -2,7 +2,7 @@
 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
 
 #if defined (__i386__) || defined (__x86_64__)
-#define ASM_STR "bts $1, %0; jc %l[lab]"
+#define ASM_STR "btsl $1, %0; jc %l[lab]"
 #endif
 
 __attribute__((noinline, noclone)) int
-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to