This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, i386] RTM support
- From: Patrick Marlier <patrick dot marlier at gmail dot com>
- To: Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Cc: gcc-patches List <gcc-patches at gcc dot gnu dot org>, Uros Bizjak <ubizjak at gmail dot com>, Jakub Jelinek <jakub at redhat dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>, Andi Kleen <andi at firstfloor dot org>
- Date: Thu, 16 Feb 2012 11:26:53 -0500
- Subject: Re: [PATCH, i386] RTM support
- References: <CAGs3RftzMrnzFuDGv2RHvboA9utwncOuphB_G6ELDAFw-N3DNA@mail.gmail.com>
Hi,
On 02/16/2012 11:06 AM, Kirill Yukhin wrote:
> +(define_insn "xbegin_1"
> + [(set (match_operand:SI 0 "register_operand" "=a")
> + (unspec_volatile:SI [(match_dup 0)] UNSPECV_XBEGIN))
> + (set (match_operand:BLK 1 "" "")
> + (unspec_volatile:BLK [(match_dup 1)] UNSPECV_XBEGIN))]
> + "TARGET_RTM"
> + "xbegin\t.+6"
> + [(set_attr "type" "other")
> + (set_attr "length" "3")])
> +
Here you cannot specify your fallback instruction address. Since those
primitives provide high performance speculative code, I would prefer to
move my fallback code far away from the speculative code path to improve
the code locality.
Thanks for working on this.
--
Patrick