https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112651
Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amylaar at gcc dot gnu.org --- Comment #2 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> --- We can have in fact vector code without the intervention of the autovectorizer, if the user uses GNU C to write explicitly vectorized code, which code generation will simply translate to target instructions if the modes are available. Where the mode is too wide for the hardware becaue it doesn't support LMUL > 1, we want the vector lowering to kick in. I think we should achieve this aim by disabling vector modes altogether that are too wide for the hardware. That is alone is not a full solution, though, since a number of vector modes can be obtained with more than one LMUL value. Often, the higher LMUL values appear to be more efficient when just counting instructions because they allow vsetivli to be used for larger vectors, thus reducing the need to load constants into general purpose registers first.