patch to permit more one bypasses for insn pairs

Ye, Joey
Fri Jan 9 08:01:00 GMT 2009

It works well.

Thanks - Joey 

-----Original Message-----
From: Vladimir Makarov [] 
Sent: 2009年1月9日 4:51
To: gcc-patches
Cc: Ye, Joey; Maxim Kuvyrkov
Subject: patch to permit more one bypasses for insn pairs

Here the patch extending semantics for define_bypass.  If we have

(define_bypass 1 "foo" "bar" "cond1")
(define_bypass 2 "foo" "bar")
(define_bypass 3 "foo" "bar" "cond2")

The latency time for pair of insns foo->bar will be 1 if cond1 returns 
true, otherwise 3 if cond2 returns true, otherwise 2.

I've not decided yet to commit the patch to trunk now or wait for the 
stage1.  The patch should be safe because more one define_bypass were 
prohibited and therefore no one existing automata should be affected by 
the patch.

2009-01-07  Vladimir Makarov  <>

    * genautomata.c: Add a new year to the copyright.  Add a new
    (struct insn_reserv_decl): Add comments for member bypass_list.
    (find_bypass): Remove.
    (insert_bypass): New.
    (process_decls): Use insert_bypass.
    (output_internal_insn_latency_func): Output all bypasses with the
    same input insn in one switch case.

    * rtl.def (define_bypass): Describe bypass choice.
    * doc/md.texi (define_bypass): Ditto.

More information about the Gcc-patches mailing list