Skip to content
Snippets Groups Projects
Commit ac4cdf5c authored by Saurabh Jha's avatar Saurabh Jha
Browse files

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
parent 9dd9a069
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment