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.

Reply via email to