From: xiezhiheng Date: Thu, 27 Aug 2020 08:07:26 +0000 (+0100) Subject: AArch64: Add FLAG for min/max intrinsics [PR94442] X-Git-Tag: basepoints/gcc-12~5356 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d7738d4fde5b248b6814f5dd20617eecd33601df;p=thirdparty%2Fgcc.git AArch64: Add FLAG for min/max intrinsics [PR94442] 2020-08-27 Zhiheng Xie gcc/ChangeLog: * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG for min/max intrinsics. --- diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aarch64/aarch64-simd-builtins.def index 502b83cb27f9..a9b47e4ea1f9 100644 --- a/gcc/config/aarch64/aarch64-simd-builtins.def +++ b/gcc/config/aarch64/aarch64-simd-builtins.def @@ -300,36 +300,36 @@ BUILTIN_VALL (UNOP, reduc_plus_scal_, 10, ALL) /* Implemented by reduc__scal_ (producing scalar). */ - BUILTIN_VDQIF_F16 (UNOP, reduc_smax_scal_, 10, ALL) - BUILTIN_VDQIF_F16 (UNOP, reduc_smin_scal_, 10, ALL) - BUILTIN_VDQ_BHSI (UNOPU, reduc_umax_scal_, 10, ALL) - BUILTIN_VDQ_BHSI (UNOPU, reduc_umin_scal_, 10, ALL) - BUILTIN_VHSDF (UNOP, reduc_smax_nan_scal_, 10, ALL) - BUILTIN_VHSDF (UNOP, reduc_smin_nan_scal_, 10, ALL) + BUILTIN_VDQIF_F16 (UNOP, reduc_smax_scal_, 10, NONE) + BUILTIN_VDQIF_F16 (UNOP, reduc_smin_scal_, 10, NONE) + BUILTIN_VDQ_BHSI (UNOPU, reduc_umax_scal_, 10, NONE) + BUILTIN_VDQ_BHSI (UNOPU, reduc_umin_scal_, 10, NONE) + BUILTIN_VHSDF (UNOP, reduc_smax_nan_scal_, 10, NONE) + BUILTIN_VHSDF (UNOP, reduc_smin_nan_scal_, 10, NONE) /* Implemented by 3. smax variants map to fmaxnm, smax_nan variants map to fmax. */ - BUILTIN_VDQ_BHSI (BINOP, smax, 3, ALL) - BUILTIN_VDQ_BHSI (BINOP, smin, 3, ALL) - BUILTIN_VDQ_BHSI (BINOP, umax, 3, ALL) - BUILTIN_VDQ_BHSI (BINOP, umin, 3, ALL) - BUILTIN_VHSDF_DF (BINOP, smax_nan, 3, ALL) - BUILTIN_VHSDF_DF (BINOP, smin_nan, 3, ALL) + BUILTIN_VDQ_BHSI (BINOP, smax, 3, NONE) + BUILTIN_VDQ_BHSI (BINOP, smin, 3, NONE) + BUILTIN_VDQ_BHSI (BINOP, umax, 3, NONE) + BUILTIN_VDQ_BHSI (BINOP, umin, 3, NONE) + BUILTIN_VHSDF_DF (BINOP, smax_nan, 3, NONE) + BUILTIN_VHSDF_DF (BINOP, smin_nan, 3, NONE) /* Implemented by 3. */ - BUILTIN_VHSDF_HSDF (BINOP, fmax, 3, ALL) - BUILTIN_VHSDF_HSDF (BINOP, fmin, 3, ALL) + BUILTIN_VHSDF_HSDF (BINOP, fmax, 3, FP) + BUILTIN_VHSDF_HSDF (BINOP, fmin, 3, FP) /* Implemented by aarch64_p. */ - BUILTIN_VDQ_BHSI (BINOP, smaxp, 0, ALL) - BUILTIN_VDQ_BHSI (BINOP, sminp, 0, ALL) - BUILTIN_VDQ_BHSI (BINOP, umaxp, 0, ALL) - BUILTIN_VDQ_BHSI (BINOP, uminp, 0, ALL) - BUILTIN_VHSDF (BINOP, smaxp, 0, ALL) - BUILTIN_VHSDF (BINOP, sminp, 0, ALL) - BUILTIN_VHSDF (BINOP, smax_nanp, 0, ALL) - BUILTIN_VHSDF (BINOP, smin_nanp, 0, ALL) + BUILTIN_VDQ_BHSI (BINOP, smaxp, 0, NONE) + BUILTIN_VDQ_BHSI (BINOP, sminp, 0, NONE) + BUILTIN_VDQ_BHSI (BINOP, umaxp, 0, NONE) + BUILTIN_VDQ_BHSI (BINOP, uminp, 0, NONE) + BUILTIN_VHSDF (BINOP, smaxp, 0, NONE) + BUILTIN_VHSDF (BINOP, sminp, 0, NONE) + BUILTIN_VHSDF (BINOP, smax_nanp, 0, NONE) + BUILTIN_VHSDF (BINOP, smin_nanp, 0, NONE) /* Implemented by 2. */ BUILTIN_VHSDF (UNOP, btrunc, 2, ALL)