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