Hi Mike,

Sorry I missed this patch :-(

On Thu, Jun 27, 2019 at 04:18:00PM -0400, Michael Meissner wrote:
> As we discussed off-line earlier, I changed all of the "4" lengths to be "*",
> even for instruction alternatives that would not be subject to being changed 
> to
> be a prefixed instruction (i.e. the sign extend instruction "extsw"'s length 
> is
> set to "*", even though it would not be a prefixed instruction).

"*" means "use the default for this attribute", which often is nicer to
see than "4".  For example, "8" stands out more in a sea of "*"s.

Usually "*" is the insns defined as "normal" alternatives, and "8" or
"12" etc. are split.

> @@ -7231,7 +7231,7 @@ (define_insn "*movcc_internal1"
>        (const_string "mtjmpr")
>        (const_string "load")
>        (const_string "store")])
> -   (set_attr "length" "4,4,12,4,4,8,4,4,4,4,4,4")])
> +   (set_attr "length" "*,*,12,*,*,8,*,*,*,*,*,*")])

In this case, the "12" and "8" are actually defined as one insn in the
template, with some "\;".  Luckily there aren't many of those.

> @@ -7385,8 +7385,8 @@ (define_insn "*mov<mode>_softfloat"
>           *,          *,         *,         *")
>  
>     (set_attr "length"
> -     "4,          4,         4,         4,         4,         4,
> -         4,          4,         8,         4")])
> +     "*,          *,         *,         *,         *,         *,
> +         *,          *,         8,         *")])

[ That last line should start with a tab as well. ]

The entry before the 8 is split as well.  Maybe that should be "4", to
stand out?  I don't know what works better; your choice.

> @@ -7696,8 +7696,8 @@ (define_insn "*mov<mode>_softfloat64"
>               *,       *,      *")
>  
>     (set_attr "length"
> -            "4,       4,      4,      4,      4,      8,
> -             12,      16,     4")])
> +            "*,       *,      *,      *,      *,      8,
> +             12,      16,     *")])

Same for the last entry here.

> @@ -8760,10 +8760,10 @@ (define_insn "*movdi_internal32"
>            vecsimple")
>     (set_attr "size" "64")
>     (set_attr "length"
> -         "8,         8,         8,         4,         4,         4,
> -          16,        4,         4,         4,         4,         4,
> -          4,         4,         4,         4,         4,         8,
> -          4")
> +         "8,         8,         8,         *,         *,         *,
> +          16,        *,         *,         *,         *,         *,
> +          *,         *,         *,         *,         *,         8,
> +          *")

And the last here.

> @@ -8853,11 +8853,11 @@ (define_insn "*movdi_internal64"
>                  mftgpr,    mffgpr")
>     (set_attr "size" "64")
>     (set_attr "length"
> -               "4,         4,         4,         4,         4,          20,
> -                4,         4,         4,         4,         4,          4,
> -                4,         4,         4,         4,         4,          4,
> -                4,         8,         4,         4,         4,          4,
> -                4,         4")
> +               "*,         *,         *,         *,         *,          20,
> +                *,         *,         *,         *,         *,          *,
> +                *,         *,         *,         *,         *,          *,
> +                *,         8,         *,         *,         *,          *,
> +                *,         *")

And two of the entries here.

> @@ -1150,9 +1150,9 @@ (define_insn "vsx_mov<mode>_64bit"
>                  store,     load,      store,     *,         vecsimple, 
> vecsimple,
>                  vecsimple, *,         *,         vecstore,  vecload")
>     (set_attr "length"
> -               "4,         4,         4,         8,         4,         8,
> -                8,         8,         8,         8,         4,         4,
> -                4,         20,        8,         4,         4")
> +               "*,         *,         *,         8,         *,         8,
> +                8,         8,         8,         8,         *,         *,
> +                *,         20,        8,         *,         *")

No idea which ones are split here :-)  None of the * and all other would
be nice, but who knows :-)


Okay for trunk, maybe with some "4" if you agree that has value.  Thanks!
And again, sorry I missed this patch.


Segher

Reply via email to