Hi Michael,

Not a review of the full patch, just a comment about the patterns:

Michael Collison <michael.colli...@arm.com> writes:
> +(define_expand "aarch64_fml<f16mac1>l_lane_lowv2sf"
> +  [(set (match_operand:V2SF 0 "register_operand" "")
> +     (unspec:V2SF [(match_operand:V2SF 1 "register_operand" "")
> +                        (match_operand:V4HF 2 "register_operand" "")
> +                        (match_operand:V4HF 3 "register_operand" "")
> +                        (match_operand:SI 4 "aarch64_imm2" "")]
> +      VFMLA16_LOW))]
> +  "TARGET_F16FML"
> +{
> +    rtx p1 = aarch64_simd_vect_par_cnst_half (V4HFmode,
> +                                           GET_MODE_NUNITS (V4HFmode),
> +                                           false);
> +    rtx lane = GEN_INT (ENDIAN_LANE_N (GET_MODE_NUNITS (SImode), INTVAL 
> (operands[4])));

Please use the newly-introduced aarch64_endian_lane_rtx for this.

GET_MODE_NUNITS (SImode) doesn't seem right though, since that's always 1.
Should it be using V4HFmode instead?

Same for the other patterns.

Thanks,
Richard

Reply via email to