Joel Hutton <joel.hut...@arm.com> writes: >>> So emit a v4qi->v8qi gimple conversion >>> then a regular widen_lo/hi using the existing backend patterns/optabs? >> >>I was thinking of using a v8qi->v8hi convert on each operand followed >>by a normal v8hi subtraction. That's what we'd generate if the target >>didn't define the widening patterns. > > Is there a reason that conversion is preferred? If we use a widening subtract > then we don't need to rely on RTL fusing later.
Do you mean a v8qi->v8hi widening subtract or a v16qi->v8hi widening subtract? The problem with the latter is that we need to fill the extra unused elements with something and remove them later. And I don't think Richard liked the idea of having separate v8qi->v8hi and v16qi->v8hi widening subtracts. Relying on RTL fusing doesn't seem too bad TBH. Thanks, Richard