https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120362
--- Comment #13 from Li Pan <pan2.li at intel dot com> --- Spec has two sentences about this: [1] These instructions are intended to be used to save and restore vector registers when the type or length of the current contents of the vector register is not known, or where modifying vl and vtype would be costly. [2] The instructions operate with an effective vector length, evl=NFIELDS*VLEN/EEW, regardless of current settings in vtype and vl. The usual property that no elements are written if vstart ≥ vl does not apply to these instructions. Instead, no elements are written if vstart ≥ evl. Does the second one indicates it will not be illegal no matter what vtype and vl are?