This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, testsuite, i386] FMA3 testcases + typo fix in MD


On Thu, Oct 6, 2011 at 11:38 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:

> Thanks for review. I did all but one
>
>> you have disabled all tests on ia32 - unconditionally use "-O2 -mfma
>> -mfpmath=sse" for dg-options, and these instructions will magically
>> appear on all targets.
>
> I am enabling these tests to run on ia32, they all fail to scan-assembler,
> since assemler is completely different, here is instance:
> test_neg_sub_neg_sub:
> .LFB15:
> ? ? ? ?.cfi_startproc
> ? ? ? ?subl ? ?$12, %esp
> ? ? ? ?.cfi_def_cfa_offset 16
> ? ? ? ?vmovsd ?16(%esp), %xmm2
> ? ? ? ?vmovsd ?24(%esp), %xmm1
> ? ? ? ?vmovapd %xmm2, %xmm0
> ? ? ? ?vfnmsub213sd ? ?32(%esp), %xmm1, %xmm0
> ? ? ? ?vfnmsub132sd ? ?%xmm2, %xmm1, %xmm0
> ? ? ? ?vmovsd ?%xmm0, (%esp)
> ? ? ? ?fldl ? ?(%esp)
> ? ? ? ?addl ? ?$12, %esp
> ? ? ? ?.cfi_def_cfa_offset 4
> ? ? ? ?ret
> ? ? ? ?.cfi_endproc
>
> On ia32 params are passed completely different and therefore code differs.

You can add __attribute__((sseregparm)) to function declaration. This
will force arguments to/from function to SSE registers. The problem
is, that it will result in "warning: 'sseregparm' attribute ignored",
but this can be ignored using dg-prune-output dg directive. Please see
many examples in the testsuite.

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]