On Thu, Oct 31, 2019 at 06:02:02PM +0000, Andre Vieira (lists) wrote: > When I debug the vect_analyze_loop calls loop->simdlen is 0 everywhere, with > or without epilogue vectorization turned on. However, I also noticed that > excluding -fopenmp and -fopenmp-simd will yield the generation of vmovaps > even without epilogue vectorization. So maybe its worth understanding why > this vmovaps is geneated. I will be honest, I don't even know what the > instruction does right now...
vmovaps is a vector register move instruction (or load or store if used with memory operand). Not really sure it is worth spending much time on it, the PR for which this testcase was created was a register allocation issue, so if the IL in GIMPLE is changed massively, it can be expected that the RA will also change significantly. So I'd say just disable epilogue vectorization for it, perhaps change -fopenmp to -fopenmp-simd and be done with this. Jakub