On Tue, Mar 2, 2010 at 10:55 AM, Andrew Haley <a...@redhat.com> wrote:
> On 03/02/2010 08:55 AM, Alain Ketterlin wrote:
>>
>> It looks like gcc sometimes produces "useless" conditional branches.
>> I've found code like this:
>>
>>   xor    %edx,%edx
>>   ; code with no effect on edx (see full code below)
>>   test   %edx,%edx
>>   jne    <somewhere else>
>>
>> The branch on the last line is never taken. Why does gcc generate such
>> code sequences? Is this patched at runtime, or something? Am I missing
>> something obvious here?
>
>> Let me know if more detail is needed.
>
> We really need a test case, with source, that illustrates the problem.
> When we have that, we can treat is as a missed-optimization bug.

I can't reproduce it with 4.3 nor 4.5 but indeed 4.4 has this interesting
code sequence.  It looks like a missed jump threading opportunity.

Richard.

> Andrew.
>

Reply via email to