lightning
[Top][All Lists]
Advanced

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

Re: [Lightning] sse instructions and gcc warnings


From: Paolo Bonzini
Subject: Re: [Lightning] sse instructions and gcc warnings
Date: Mon, 26 Jul 2010 09:13:58 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100621 Fedora/3.0.5-1.fc13 Lightning/1.0b2pre Thunderbird/3.0.5

On 07/26/2010 08:45 AM, Paulo César Pereira de Andrade wrote:
   Hi,

   I did some more extra work in the lightning jit code generation
in my language
http://code.google.com/p/exl/source/browse/trunk/lib/elightning.c

   It is still basically using lightning only to glue calls to C
functions, but I added some extra code for statically typed objects
yesterday and today...

   But about @subject:
elightning.c:1664: warning: left-hand operand of comma expression has no
effect
elightning.c:1664: warning: value computed is not used

any code using the float registers shows those.

These are harmless and kind of inevitable.

 There are some others
on x86_64 that cannot be masked, due to mixing int32 and void*.

Do you have a small testcase for this?

A strange one is:
elightning.c:1616: warning: implicit declaration of function ‘jit_replace’
elightning.c:1616: warning: nested extern declaration of ‘jit_replace’

that probably is harmless, as it links and works.

It links only because the particular combination involving jit_replace was optimized out by the compiler. I committed a fix, too bad I don't really have the time to write a test case too. :(

   Also about @subject, I needed to add a global function to check
if a double is zero, because apparently the i387 goes nonsense if
a function using vector instructions was called.

Argument passing in i387 was buggy, it is kind of impossible to get it right due to the stack-like registers. :(

I think I'm going to change it to use SSE always except for argument passing. Would this be a problem?

Paolo



reply via email to

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