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