diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2021-02-01 21:21:38 +0000 |
---|---|---|
committer | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2021-02-02 12:14:39 +0000 |
commit | 5cebc818213c1281d54f3d1d1676674f995241fa (patch) | |
tree | 8bcdc80b341eaae51eda6a7e7cf9220990671203 /gcc | |
parent | 7bcd5e09fb3f80c4598c24633532b25b490e2f2c (diff) |
aarch64: Relax some builtins to AUTO_FP
This patch relaxes the flags for some builtins to AUTO_FP. These
builtins do permutes and similar, so they shouldn't get the FP flags
when operating on floating-point modes as they don't care about
FPCR/FPSR and exceptions.
gcc/ChangeLog:
* config/aarch64/aarch64-simd-builtins.def (combine, zip1, zip2,
uzp1, uzp2, trn1, trn2, simd_bsl): Use AUTO_FP flags.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/aarch64/aarch64-simd-builtins.def | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aarch64/aarch64-simd-builtins.def index 224cff33e35..45573c2f537 100644 --- a/gcc/config/aarch64/aarch64-simd-builtins.def +++ b/gcc/config/aarch64/aarch64-simd-builtins.def @@ -43,8 +43,8 @@ help describe the attributes (for example, pure) for the intrinsic function. */ - BUILTIN_VDC (COMBINE, combine, 0, ALL) - VAR1 (COMBINEP, combine, 0, ALL, di) + BUILTIN_VDC (COMBINE, combine, 0, AUTO_FP) + VAR1 (COMBINEP, combine, 0, NONE, di) BUILTIN_VB (BINOP, pmul, 0, NONE) BUILTIN_VHSDF_HSDF (BINOP, fmulx, 0, FP) BUILTIN_VHSDF_DF (UNOP, sqrt, 2, FP) @@ -556,12 +556,12 @@ /* Implemented by aarch64_<PERMUTE:perm_insn><mode>. */ - BUILTIN_VALL (BINOP, zip1, 0, ALL) - BUILTIN_VALL (BINOP, zip2, 0, ALL) - BUILTIN_VALL (BINOP, uzp1, 0, ALL) - BUILTIN_VALL (BINOP, uzp2, 0, ALL) - BUILTIN_VALL (BINOP, trn1, 0, ALL) - BUILTIN_VALL (BINOP, trn2, 0, ALL) + BUILTIN_VALL (BINOP, zip1, 0, AUTO_FP) + BUILTIN_VALL (BINOP, zip2, 0, AUTO_FP) + BUILTIN_VALL (BINOP, uzp1, 0, AUTO_FP) + BUILTIN_VALL (BINOP, uzp2, 0, AUTO_FP) + BUILTIN_VALL (BINOP, trn1, 0, AUTO_FP) + BUILTIN_VALL (BINOP, trn2, 0, AUTO_FP) BUILTIN_GPF_F16 (UNOP, frecpe, 0, FP) BUILTIN_GPF_F16 (UNOP, frecpx, 0, FP) @@ -619,7 +619,7 @@ BUILTIN_VDQQH (BSL_P, simd_bsl, 0, NONE) VAR2 (BSL_P, simd_bsl,0, NONE, di, v2di) BUILTIN_VSDQ_I_DI (BSL_U, simd_bsl, 0, NONE) - BUILTIN_VALLDIF (BSL_S, simd_bsl, 0, ALL) + BUILTIN_VALLDIF (BSL_S, simd_bsl, 0, AUTO_FP) /* Implemented by aarch64_crypto_aes<op><mode>. */ VAR1 (BINOPU, crypto_aese, 0, NONE, v16qi) |