public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/44452]  New: gcc.target/i386/abi-2.c and gcc.target/i386/pr22076.c fail on 32-bit Solaris 10+/x86
@ 2010-06-07 17:13 ro at gcc dot gnu dot org
  0 siblings, 0 replies; only message in thread
From: ro at gcc dot gnu dot org @ 2010-06-07 17:13 UTC (permalink / raw)
  To: gcc-bugs

Investigating the few remaining testsuite failures on Solaris 11/x86, I came
across

FAIL: gcc.target/i386/abi-2.c scan-assembler-times ymm0 1

In the assembler output, ymm0 appears twice:

       vmovdqa .LC0, %ymm0
       vmovdqa %ymm0, (%eax)

FAIL: gcc.target/i386/pr22076.c scan-assembler-times movq 3

movq appears only twice:

        paddb   .LC0, %mm0
        movl    24(%esp), %eax
        movq    %mm0, 8(%esp)

FAIL: gcc.target/i386/pr22076.c scan-assembler-not movl

movl appears 5 times

The failures occur only for 32-bit.

Both failures seem to be due to i386.c (ix86_sol10_return_in_memory): unlike
return_in_memory_32, that function doesn't know about AVX yet.  It seems like
the testcase needs to take the differing Solaris 2/x86 ABI for MMX, though
it's unusual that the 32-bit ABI should have changed between Solaris 9 and 10.
Perhaps Richard can shed some light on this?

Given this divergence between the generic and sol10 function, it seems unwise
to leave them separate.  Instead, I'd rather have code (conditional on say
TARGET_SOLARIS or TARGET_SOLARIS10) in return_in_memory_32 to handle the
Solaris ABI requirements there.  The only problem with such an approach is
that i386/vx-common.h uses ix86_sol10_return_in_memory, too, but would probably
be interested in every possible code conditional on TARGET_SOLARIS.


-- 
           Summary: gcc.target/i386/abi-2.c and gcc.target/i386/pr22076.c
                    fail on 32-bit Solaris 10+/x86
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: i386-pc-solaris2.11
  GCC host triplet: i386-pc-solaris2.11
GCC target triplet: i386-pc-solaris2.11


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44452


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-06-07 17:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-07 17:13 [Bug target/44452] New: gcc.target/i386/abi-2.c and gcc.target/i386/pr22076.c fail on 32-bit Solaris 10+/x86 ro at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).