This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: patch to permit more one bypasses for insn pairs
- From: "Ye, Joey" <joey dot ye at intel dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Cc: Maxim Kuvyrkov <maxim at codesourcery dot com>
- Date: Fri, 9 Jan 2009 09:53:13 +0800
- Subject: RE: patch to permit more one bypasses for insn pairs
- References: <4966671B.5040108@redhat.com>
It works well.
Thanks - Joey
-----Original Message-----
From: Vladimir Makarov [mailto:vmakarov@redhat.com]
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 <vmakarov@redhat.com>
* genautomata.c: Add a new year to the copyright. Add a new
reference.
(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.