On Mon, Jun 27, 2016 at 04:46:00PM -0500, Pat Haugen wrote:
> On 06/22/2016 02:10 PM, Segher Boessenkool wrote:
> >> Index: config/rs6000/htm.md
> >> ===================================================================
> >> --- config/rs6000/htm.md   (revision 237621)
> >> +++ config/rs6000/htm.md   (working copy)
> >> @@ -72,7 +72,8 @@ (define_insn "*tabort"
> >>     (set (match_operand:BLK 2) (unspec:BLK [(match_dup 2)] 
> >> UNSPEC_HTM_FENCE))]
> >>    "TARGET_HTM"
> >>    "tabort. %0"
> >> -  [(set_attr "type" "htm")
> >> +  [(set_attr "type" "htmsimple")
> >> +   (set_attr "power9_alu2" "yes")
> >>     (set_attr "length" "4")])
> > 
> > What determines if an insn is htm or htmsimple?
> > 
> htm insns are cracked whereas htmsimple are not.

Sorry, I wasn't clear.  That is what is the difference on p9, sure.
But is there some pattern to this?  Some difference that does not depend
on a specific CPU implementation.

>         (rs6000_sched_init): Fix initialization of last_scheduled_insn.
>         Initialize divCnt/vec_load_pendulum.

You missed divCnt here :-)

> +(define_insn_reservation "power9-vecdiv" 32
> +  (and (eq_attr "type" "vecdiv")
> +       (eq_attr "size" "!128")
> +       (eq_attr "cpu" "power9"))
> +  "DU_super_power9,VSU_super_power9")

Does that work, the ! ?


This looks much better :-)

Okay for trunk; okay for 6 later.  Thanks,


Segher

Reply via email to