aboutsummaryrefslogtreecommitdiff
path: root/libcpp/directives.c
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@arm.com>2022-10-03 12:26:03 +0200
committerChristophe Lyon <christophe.lyon@arm.com>2022-10-03 15:13:10 +0200
commit06aa66af7d0dacc1b247d9e38175e789ef159191 (patch)
tree39b31f394cd4e06953f9043295a0148399b68c3c /libcpp/directives.c
parent53acc10ee81116536d4eb6fbba62a90f329b75ce (diff)
downloadgcc-06aa66af7d0dacc1b247d9e38175e789ef159191.zip
gcc-06aa66af7d0dacc1b247d9e38175e789ef159191.tar.gz
gcc-06aa66af7d0dacc1b247d9e38175e789ef159191.tar.bz2
arm: Add missing early clobber to MVE vrev64q_m patterns
Like the non-predicated vrev64q patterns, mve_vrev64q_m_<supf><mode> and mve_vrev64q_m_f<mode> need an early clobber constraint, otherwise we can generate an unpredictable instruction: Warning: 64-bit element size and same destination and source operands makes instruction UNPREDICTABLE when calling vrevq64_m* with the same first and second arguments. OK for trunk? Thanks, Christophe gcc/ChangeLog: * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early clobber. (mve_vrev64q_m_f<mode>): Likewise. gcc/testsuite/ChangeLog: * gcc.target/arm/mve/intrinsics/vrev64q_m_s16-clobber.c: New test.
Diffstat (limited to 'libcpp/directives.c')
0 files changed, 0 insertions, 0 deletions