Hi! On Tue, Mar 30, 2021 at 02:38:32PM -0500, Pat Haugen wrote: > Update prefixed attribute for Power10. > > This patch creates a new attribute, "maybe_prefixed", which is used to mark > those instructions that may have a prefixed form. The existing "prefixed" > attribute is now used to mark all instructions that are prefixed form.
It doesn't yet set maybe_prefixed on most insns that will need it? What does that mean for say movsi that can be plwz? > +;; Whether this insn has a prefixed form and a non-prefixed form. > +(define_attr "maybe_prefixed" "no,yes" > + (if_then_else (eq_attr "type" "load,fpload,vecload,store,fpstore,vecstore, > + integer,add") > + (const_string "yes") > + (const_string "no"))) Ah. Okay :-) It probably is better to set the maybe_prefixed attribute explicitly, but this will do for now. Status quo and all that. I don't see how the "add" and "integer" cases can work... > (define_attr "prefixed" "no,yes" > (cond [(ior (match_test "!TARGET_PREFIXED") > - (match_test "!NONJUMP_INSN_P (insn)")) > + (match_test "!NONJUMP_INSN_P (insn)") > + (eq_attr "maybe_prefixed" "no")) > (const_string "no") It's a cond, so you can have separate cases instead of ior, if that reads better (the generated compiler code will be equivalent). It can help if you want to place some comments, for example ;-) Okay for trunk. Thank you! Segher