> + (VNx16QI "TARGET_MIN_VLEN <= 128") > + (VNx32QI "TARGET_MIN_VLEN <= 256") > + (VNx64QI "TARGET_MIN_VLEN >= 64 && TARGET_MIN_VLEN <= 512") > + (VNx128QI "TARGET_MIN_VLEN >= 128 && TARGET_MIN_VLEN <= 1024") > > This not correct, we always use VNx16QI as LMUL = m1 for min_vlen >= 128. > Requirement of TARGET_MIN_VLEN <= 128 is incorrect for VNx16QI. > VNx32QI,...etc likewise.
Please elaborate. What happens with a VNx16QI on a target with min_vlen == 256? Is it a full 256-bit vector with only the first half populated? If so, this need documentation either here or somewhere else (but with a reference here). Either you can pick my testcase and amend your patch (plus streamline formatting as well adding a proper comment) or I change mine. Your call. Regards Robin