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