Hi all, Similar to the previous patch, we can reimplement the rshrn2 patterns using standard RTL codes for shift, truncate and plus with the appropriate constants. This allows us to get rid of UNSPEC_RSHRN entirely. Bootstrapped and tested on aarch64-none-linux-gnu. Pushing to trunk. Thanks, Kyrill gcc/ChangeLog: * config/aarch64/aarch64-simd.md (aarch64_rshrn2_insn_le): Reimplement using standard RTL codes instead of unspec. (aarch64_rshrn2_insn_be): Likewise. (aarch64_rshrn2): Adjust for the above. * config/aarch64/aarch64.md (UNSPEC_RSHRN): Delete.