lightning
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lightning] Re: Update on testcase [was: sse instructions and gcc


From: Paulo César Pereira de Andrade
Subject: Re: [Lightning] Re: Update on testcase [was: sse instructions and gcc warnings]
Date: Tue, 10 Aug 2010 05:12:58 -0300
User-agent: SquirrelMail/1.4.19

Paulo César Pereira de Andrade wrote:

>   I just did some minor review in the lightning code in my vm to
> use latest git snapshot, and now I have split:
>
> #define JIT_FIXME             defined(__x86_64__)
>
> to an extra:
> #define JIT_ldf_std_WORKS     !defined(__x86_64__)
>
> and added the related extra load/store tests to lightning-test.c.
> The problem actually should be only ld*f/st*d (at least ld*d/st*f
> appears to not show any side effects in my language tests), and
> the test new cases show some noise because it does not set back
> "sensible" values to the etypes_t float fields before doing the
> second test.

  Actually I did not have problems with ld*d/st*f because I just
fallback to jit_prepare/.../jit_finish a C when there is a float32
as either source or destination...

  But anyway, I updated the test case a bit, but could not figure
a proper way to get the instruction pointer from the signal handler,
but running it under gdb should be good enough to get it.

  As I told you I was willing to actually come with a patch, but at
least was coming with a test case to prevent other problems.  But
good news now :-) I started studying the lightning macros, looking
at generated code, and actually the correction for i686 was not that
hard to figure. Now the test case passes all tests. Patch1 corrects
loading an immediate instead of register, and patch2 prevents using
register holding value as index (what was causing a crash).

  Tomorrow when I am at my x86_64 in Conectiva building I will try
to repeat the steps, and hopefully correct the x86_64 regressions
(may not be easy, possibly needing to learn SSE, etc).

  Then, I will probably make a test case for branches, ALU operations,
etc, to cover all combinations.

> Thanks,
> Paulo

Paulo

Attachment: lightning-test.c
Description: Text Data

Attachment: 0001-Correct-jit_replace-to-use-register-operation-MOVLrr.patch
Description: Binary data

Attachment: 0002-Correct-jit_stxr_c-to-not-use-register-holding-value.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]