https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78824
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Works for me on aarch64-linux-gnu with GCC 5.4 and above: main: adrp x1, nvx8 adrp x2, y mov w0, 0 ldrb w1, [x1, #:lo12:nvx8] lsl w1, w1, 4 strh w1, [x2, #:lo12:y] ret