Resubmit/ping: peephole2 vs cond-exec vs df
Bernd Schmidt
bernds@codesourcery.com
Wed Jun 30 11:52:00 GMT 2010
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)))]
"")
and
(define_peephole2
[(match_scratch:SF 2 "x")
(set (match_operand:SSEMODEI24 0 "register_operand" "")
(fix:SSEMODEI24 (match_operand:SF 1 "memory_operand" "")))]
"TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ()"
[(set (match_dup 2) (match_dup 1))
(set (match_dup 0) (fix:SSEMODEI24 (match_dup 2)))]
"")
are a loop.
Bernd
More information about the Gcc-patches
mailing list