On 8/23/21 4:40 PM, Segher Boessenkool wrote:
On Thu, Jul 29, 2021 at 08:30:55AM -0500, Bill Schmidt wrote:
2021-06-15  Bill Schmidt  <wschm...@linux.ibm.com>
        * config/rs6000/rs6000-builtin-new.def: Add power9-vector, power9,
        and power9-64 stanzas.
+; These things need some review to see whether they really require
+; MASK_POWERPC64.  For xsxexpdp, this seems to be fine for 32-bit,
+; because the result will always fit in 32 bits and the return
+; value is SImode; but the pattern currently requires TARGET_64BIT.
That is wrong then?  It should never have TARGET_64BIT if it isn't
addressing memory (or the like).  Did you just typo this?

Not a typo... I was referring to the condition in the following:

;; VSX Scalar Extract Exponent Double-Precision
(define_insn "xsxexpdp"
  [(set (match_operand:DI 0 "register_operand" "=r")
        (unspec:DI [(match_operand:DF 1 "vsx_register_operand" "wa")]
         UNSPEC_VSX_SXEXPDP))]
  "TARGET_P9_VECTOR && TARGET_64BIT"
  "xsxexpdp %0,%x1"
  [(set_attr "type" "integer")])

+; On the other hand, xsxsigdp has a result that doesn't fit in
+; 32 bits, and the return value is DImode, so it seems that
+; TARGET_64BIT (actually TARGET_POWERPC64) is justified.  TBD. ####
Because xsxsigdp needs it, it makes sense to have it for xsxexpdp as
well, or we would get a weird holey API.

OK.  Based on this, I think I will just remove the comments here.

Thanks very much for the review!

Bill


Okay for trunk (with the typo fixed if it is one).  Thanks!


Segher

Reply via email to