Resubmit/ping: peephole2 vs cond-exec vs df

Bernd Schmidt bernds@codesourcery.com
Wed Jun 30 11:53:00 GMT 2010


On 06/30/2010 12:31 PM, Richard Guenther wrote:
> On Wed, Jun 30, 2010 at 12:19 PM, Bernd Schmidt <bernds@codesourcery.com> wrote:
>> On 06/30/2010 12:00 PM, Richard Guenther wrote:
>>
>>> We're peepholing in circles after your patch.  The peephole2
>>> dump isn't very informative - how can I see which peephole2s
>>> matched?
>>
>> Not easily.  Maybe breakpoints on all the gen_peephole2_ functions; we
>> should probably add that to the dumps.
>>
>> Seems to be something involving FIX insns, I suspect
>>
>> ;; Shorten x87->SSE reload sequences of fix_trunc?f?i_sse patterns.
>> (define_peephole2
>>  [(set (match_operand:MODEF 0 "register_operand" "")
>>        (match_operand:MODEF 1 "memory_operand" ""))
>>   (set (match_operand:SSEMODEI24 2 "register_operand" "")
>>        (fix:SSEMODEI24 (match_dup 0)))]
>>  "TARGET_SHORTEN_X87_SSE
>>   && peep2_reg_dead_p (2, operands[0])"
>>  [(set (match_dup 2) (fix:SSEMODEI24 (match_dup 1)))]
>>  "")
> 
> I suppose adding && !TARGET_AVOID_VECTOR_DECODE
> would fix it.  Testing that.

I just added "0 &&" to one of the patterns, it also fixed the Fortran
testcase.  Also running a bootstrap...

Do you want to take it from here with your version?


Bernd



More information about the Gcc-patches mailing list