Hi all, We're now moving onto various simple ternary instructions, including some lane forms. These include intrinsics that map down to mla, mls, fma, aba, bsl instructions. Tests are added for lane 0 and lane 1 as for some of these instructions the lane 0 variants use separate simpler patterns that need a separate annotation.
Bootstrapped and tested on aarch64-none-linux-gnu. Pushing to trunk. Thanks, Kyrill gcc/ChangeLog: PR target/99195 * config/aarch64/aarch64-simd.md (aarch64_<su>aba<mode>): Rename to... (aarch64_<su>aba<mode><vczle><vczbe>): ... This. (aarch64_mla<mode>): Rename to... (aarch64_mla<mode><vczle><vczbe>): ... This. (*aarch64_mla_elt<mode>): Rename to... (*aarch64_mla_elt<mode><vczle><vczbe>): ... This. (*aarch64_mla_elt_<vswap_width_name><mode>): Rename to... (*aarch64_mla_elt_<vswap_width_name><mode><vczle><vczbe>): ... This. (aarch64_mla_n<mode>): Rename to... (aarch64_mla_n<mode><vczle><vczbe>): ... This. (aarch64_mls<mode>): Rename to... (aarch64_mls<mode><vczle><vczbe>): ... This. (*aarch64_mls_elt<mode>): Rename to... (*aarch64_mls_elt<mode><vczle><vczbe>): ... This. (*aarch64_mls_elt_<vswap_width_name><mode>): Rename to... (*aarch64_mls_elt_<vswap_width_name><mode><vczle><vczbe>): ... This. (aarch64_mls_n<mode>): Rename to... (aarch64_mls_n<mode><vczle><vczbe>): ... This. (fma<mode>4): Rename to... (fma<mode>4<vczle><vczbe>): ... This. (*aarch64_fma4_elt<mode>): Rename to... (*aarch64_fma4_elt<mode><vczle><vczbe>): ... This. (*aarch64_fma4_elt_<vswap_width_name><mode>): Rename to... (*aarch64_fma4_elt_<vswap_width_name><mode><vczle><vczbe>): ... This. (*aarch64_fma4_elt_from_dup<mode>): Rename to... (*aarch64_fma4_elt_from_dup<mode><vczle><vczbe>): ... This. (fnma<mode>4): Rename to... (fnma<mode>4<vczle><vczbe>): ... This. (*aarch64_fnma4_elt<mode>): Rename to... (*aarch64_fnma4_elt<mode><vczle><vczbe>): ... This. (*aarch64_fnma4_elt_<vswap_width_name><mode>): Rename to... (*aarch64_fnma4_elt_<vswap_width_name><mode><vczle><vczbe>): ... This. (*aarch64_fnma4_elt_from_dup<mode>): Rename to... (*aarch64_fnma4_elt_from_dup<mode><vczle><vczbe>): ... This. (aarch64_simd_bsl<mode>_internal): Rename to... (aarch64_simd_bsl<mode>_internal<vczle><vczbe>): ... This. (*aarch64_simd_bsl<mode>_alt): Rename to... (*aarch64_simd_bsl<mode>_alt<vczle><vczbe>): ... This. gcc/testsuite/ChangeLog: PR target/99195 * gcc.target/aarch64/simd/pr99195_3.c: New test.
vtern.patch
Description: vtern.patch