GCC Test Question

Uros Bizjak ubizjak@gmail.com
Sat Feb 16 07:23:00 GMT 2008


Hello!

> + I have failures on i386 because I am
>  running the tests on qemu configured
>  as an i386 w/FPU.  That means there is
>  no MMX or SSE support at all. I think
>  is the root of about 75% (~300) of the
>  executable failures.  What is the right
>  thing to do and how do I do it?

Does qemu return correct cpuid data for simulated processor?

In gcc.target/i386, supported features are detected using cpuid, i.e. 
sse in sse-check.h:

--cut here--
  if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
    return 0;

  /* Run SSE test only if host has SSE support.  */
  if (edx & bit_SSE)
    sse_test ();

  return 0;
--cut here--

In gcc.dg/vect, the support is checked by trapping SIGILL, if insn is 
not recignized (tree-vect.h):

--cut here--
#elif defined(__i386__) || defined(__x86_64__)
  /* SSE2 instruction: movsd %xmm0,%xmm0 */
--cut here--

(Although I think that for x86, we could implement feature check using 
cpuid here, too)


Since all profiling tests fails, you should disable profiling checks for 
rtems in testsuite/lib/target-supports.exp, function 
check_profiling_available.

Uros.



More information about the Gcc mailing list