https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98792
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- We do produce shrn2 but not shrn now: .L2: ldp q0, q1, [x0] add x0, x0, 32 ushr v0.4s, v0.4s, 3 xtn v0.4h, v0.4s shrn2 v0.8h, v1.4s, 3 str q0, [x1], 16 cmp x0, x2 bne .L2