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