https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89049
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC|segher at gcc dot gnu.org | --- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- From a quick look rtx_cost should end up recursing to the MEM. Oh. targetm.rtx_costs is expected to handle sub-costs but does case VEC_SELECT: case VEC_CONCAT: case VEC_DUPLICATE: /* ??? Assume all of these vector manipulation patterns are recognizable. In which case they all pretty much have the same cost. */ *total = cost->sse_op; return true; which is of course bogus for patterns involving MEMs (new possibility with AVX). Not combines issue.