aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorJonathan Wright <jonathan.wright@arm.com>2021-05-14 17:18:34 +0100
committerJonathan Wright <jonathan.wright@arm.com>2021-05-19 14:44:39 +0100
commitddbdb9a384f53419d0e6fbcca2a4534a2668e5f8 (patch)
tree5d00891d47d407c5c7e88a8ea3e92c49a86e2ad1 /libcpp
parent778ac63fe244b63380bd3b2dee4d20ff27332bce (diff)
downloadgcc-ddbdb9a384f53419d0e6fbcca2a4534a2668e5f8.zip
gcc-ddbdb9a384f53419d0e6fbcca2a4534a2668e5f8.tar.gz
gcc-ddbdb9a384f53419d0e6fbcca2a4534a2668e5f8.tar.bz2
aarch64: Refactor aarch64_<sur>q<r>shr<u>n_n<mode> RTL pattern
Split the aarch64_<sur>q<r>shr<u>n_n<mode> pattern into separate scalar and vector variants. Further split the vector pattern into big/little endian variants that model the zero-high-half semantics of the underlying instruction - allowing for more combinations with the write-to-high-half variant (aarch64_<sur>q<r>shr<u>n2_n<mode>.) gcc/ChangeLog: 2021-05-14 Jonathan Wright <jonathan.wright@arm.com> * config/aarch64/aarch64-simd-builtins.def: Split builtin generation for aarch64_<sur>q<r>shr<u>n_n<mode> pattern into separate scalar and vector generators. * config/aarch64/aarch64-simd.md (aarch64_<sur>q<r>shr<u>n_n<mode>): Define as an expander and split into... (aarch64_<sur>q<r>shr<u>n_n<mode>_insn_le): This and... (aarch64_<sur>q<r>shr<u>n_n<mode>_insn_be): This. * config/aarch64/iterators.md: Define SD_HSDI iterator.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions