diff options
author | Saurabh Jha <saurabh.jha@arm.com> | 2024-09-30 10:37:16 +0000 |
---|---|---|
committer | Saurabh Jha <saurabh.jha@arm.com> | 2024-10-01 16:44:12 +0000 |
commit | ac4cdf5cb43c0b09e81760e2a1902ceebcf1a135 (patch) | |
tree | a9cfb4d00601b8f1d531a175fea221f8eb029f4b /libcpp | |
parent | 9dd9a06940a37e82d13ccd2be0c4ef68bca29750 (diff) | |
download | gcc-ac4cdf5cb43c0b09e81760e2a1902ceebcf1a135.zip gcc-ac4cdf5cb43c0b09e81760e2a1902ceebcf1a135.tar.gz gcc-ac4cdf5cb43c0b09e81760e2a1902ceebcf1a135.tar.bz2 |
aarch64: Introduce new unspecs for smax/smin
Introduce two new unspecs, UNSPEC_COND_SMAX and UNSPEC_COND_SMIN,
corresponding to rtl operators smax and smin. UNSPEC_COND_SMAX is used
to generate fmaxnm instruction and UNSPEC_COND_SMIN is used to generate
fminnm instruction.
With these new unspecs, we can generate SVE2 max/min instructions using
existing generic unpredicated and predicated instruction patterns that
use optab attribute. Thus, we have removed specialised instruction
patterns for max/min instructions that were using
SVE_COND_FP_MAXMIN_PUBLIC iterator.
No new test cases as the existing test cases should be enough to test
this refactoring.
gcc/ChangeLog:
* config/aarch64/aarch64-sve.md
(<fmaxmin><mode>3): Remove this instruction pattern.
(cond_<fmaxmin><mode>): Remove this instruction pattern.
* config/aarch64/iterators.md: New unspecs and changes to
iterators and attrs to use the new unspecs
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions