On Wed, 2021-03-17 at 15:49 -0500, Pat Haugen via Gcc-patches wrote:
> Update prefixed attribute for Power10.
> 
> This patch creates a new attribute, prepend_prefixed_insn, which is
> used to mark
> those instructions that are prefixed and need to have a 'p' prepended
> to their
> mnemonic at asm emit time. The existing "prefix" attribute is now
> used to mark
> all instructions that are prefixed form.
> 
> Bootstrap/regtest on powerpc64le (Power10) and powerpc64 (Power8
> 32/64) with no
> new regressions. Ok for trunk?
> 
> -Pat
> 
> 
> 2021-03-17  Pat Haugen  <pthau...@linux.ibm.com>
> 
> gcc/
>       PR target/99133
>       * config/rs6000/altivec.md (xxspltiw_v4si, xxspltiw_v4sf_inst,
>       xxspltidp_v2df_inst, xxsplti32dx_v4si_inst,
> xxsplti32dx_v4sf_inst,
>       xxblend_<mode>, xxpermx_inst, xxeval): Mark prefixed.
>       * config/rs6000/mma.md (mma_<vvi4i4i8>, mma_<avvi4i4i8>,
>       mma_<vvi4i4i2>, mma_<avvi4i4i2>, mma_<vvi4i4>, mma_<avvi4i4>,
>       mma_<pvi4i2>, mma_<apvi4i2>, mma_<vvi4i4i4>, mma_<avvi4i4i4>):
>       Likewise.
>       * config/rs6000/pcrel-opt.md: Adjust attribute name.
>       * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Adjust
> test. 
>       * config/rs6000/rs6000.md (define_attr
> "prepend_prefixed_insn"): New.
>       (define_attr "prefixed"): Update initializer.
>       (*tls_gd_pcrel<bits>, *tls_ld_pcrel<bits>, tls_dtprel_<bits>,
>       tls_tprel_<bits>, *tls_got_tprel_pcrel_<bits>,
> *pcrel_local_addr,
>       *pcrel_extern_addr, stack_protect_setdi, stack_protect_testdi):
>       Adjust attribute name.
>       * config/rs6000/sync.md (load_quadpti, store_quadpti):
> Likewise.
> 
> 


Changelog matches patch contents.  (ok!) :-)

Per this change:

+;; Whether an insn is a prefixed insn.  A prefixed instruction has a prefix
+;; instruction word that conveys additional information such as a larger
+;; immediate, additional operands, etc., in addition to the normal instruction
+;; word.  The default "length" attribute will also be adjusted by default to
+;; be 12 bytes.
+(define_attr "prefixed" "no,yes"
+  (if_then_else (eq_attr "prepend_prefixed_insn" "yes")
+               (const_string "yes")
+               (const_string "no")))


.. it looks like at least most of the users of the "prefixed" attribute have
been switched over to use "prepend_prefixed_insn" instead.   Are there still
users of the "prefixed" attribute remaining ?  I'm guessing so, given context,
but can't tell for certain.

(Just a question, not a specific request for a change)

lgtm

thanks
-Will





Reply via email to