https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61411
--- Comment #2 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- (In reply to bin.cheng from comment #1) > The patch can fix the issue, but problem is why GCC/lra generated > register-indexing ([reg+reg]) addressing mode for V8HImode in the first > place. Since without this patch, the address expression is illegal and > shouldn't be generated. I didn't look into LRA's code and am not very sure > whether this patch is covering the problem. LRA does a lot of RTL transformations during its work. One transformation can be rematerialization -- changing one reg (usually a spilled pseudo) on equivalent expression, e.g. sum of two regs or even more complex expression. That is how such address can occur during LRA work. But LRA should do all necessary transformations to get the right address after all.