aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-08-14 09:14:31 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-08-14 09:14:31 +0000
commit75079ddf9cb867576bbef66f3e8370d9fdeea3b8 (patch)
tree9fd5984d3d9057fefa484370ff0d627d1f18bca5 /gcc/builtins.c
parentf8c22a8bbaf3ef4260f7d8beea22ed151ca4b726 (diff)
downloadgcc-75079ddf9cb867576bbef66f3e8370d9fdeea3b8.zip
gcc-75079ddf9cb867576bbef66f3e8370d9fdeea3b8.tar.gz
gcc-75079ddf9cb867576bbef66f3e8370d9fdeea3b8.tar.bz2
[AArch64] Add support for SVE F{MAX,MIN}NM immediate
This patch uses the immediate forms of FMAXNM and FMINNM for unconditional arithmetic. The same rules apply to FMAX and FMIN, but we only generate those via the ACLE. 2019-08-14 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/predicates.md (aarch64_sve_float_maxmin_immediate) (aarch64_sve_float_maxmin_operand): New predicates. * config/aarch64/constraints.md (vsB): New constraint. (vsM): Fix typo. * config/aarch64/iterators.md (sve_pred_fp_rhs2_operand): Use aarch64_sve_float_maxmin_operand for UNSPEC_COND_FMAXNM and UNSPEC_COND_FMINNM. * config/aarch64/aarch64-sve.md (<maxmin_uns><SVE_F:mode>3): Use aarch64_sve_float_maxmin_operand for operand 2. (*<SVE_COND_FP_MAXMIN_PUBLIC:optab><SVE_F:mode>3): Likewise. Add alternatives for the constant forms. gcc/testsuite/ * gcc.target/aarch64/sve/fmaxnm_1.c: New test. * gcc.target/aarch64/sve/fminnm_1.c: Likewise. From-SVN: r274440
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions