https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124448
--- Comment #2 from Zicong Wang <wangzicong at masscore dot cn> --- With zvl, src in legitimize_move is (subreg:RVVMF2HI (reg:DI 181) 0), trying to transform a DI into RVVMF2HI. That's unnecessary to treat a vector mode as a scalar mode in the same size during extraction from tuple vector. I believe it is not about current expand_vector_subreg_extract as VECTOR_MODE_P (GET_MODE (SUBREG_REG (src))) returns false. I find (vector(4) unsigned short) has been transformed into DI before VIEW_CONVERT_EXPR is recognized. So maybe we can restore DI to a VLA mode according to the mode of dest during legitimize_move? Then it should be RVVMF2HI , instead of DI, to be extracted from RVVMF2x4HI.
