aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Pinski <quic_apinski@quicinc.com>2024-11-21 10:51:38 -0800
committerAndrew Pinski <quic_apinski@quicinc.com>2024-11-29 12:09:10 -0800
commitb35f9c2535a34279898bf8795e748161fd1704ed (patch)
tree51424ce88b1e8a64d3e0aa41e2fa5bce23a542fc
parentaf974df94751195ce72e86d7b88e5d5444375b45 (diff)
downloadgcc-b35f9c2535a34279898bf8795e748161fd1704ed.zip
gcc-b35f9c2535a34279898bf8795e748161fd1704ed.tar.gz
gcc-b35f9c2535a34279898bf8795e748161fd1704ed.tar.bz2
aarch64: Fix up flags for vget_low_*, vget_high_* and vreinterpret intrinsics
These 3 intrinsics will not raise an fp exception, or read FPCR. These intrinsics, will be folded into VIEW_CONVERT_EXPR or a BIT_FIELD_REF which is already set to be const expressions too. Built and tested for aarch64-linux-gnu. gcc/ChangeLog: * config/aarch64/aarch64-builtins.cc (VREINTERPRET_BUILTIN): Use FLAG_NONE instead of FLAG_AUTO_FP. (VGET_LOW_BUILTIN): Likewise. (VGET_HIGH_BUILTIN): Likewise. Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
-rw-r--r--gcc/config/aarch64/aarch64-builtins.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc
index e26ee32..04ae16a 100644
--- a/gcc/config/aarch64/aarch64-builtins.cc
+++ b/gcc/config/aarch64/aarch64-builtins.cc
@@ -911,7 +911,7 @@ static aarch64_fcmla_laneq_builtin_datum aarch64_fcmla_lane_builtin_data[] = {
2, \
{ SIMD_INTR_MODE(A, L), SIMD_INTR_MODE(B, L) }, \
{ SIMD_INTR_QUAL(A), SIMD_INTR_QUAL(B) }, \
- FLAG_AUTO_FP, \
+ FLAG_NONE, \
SIMD_INTR_MODE(A, L) == SIMD_INTR_MODE(B, L) \
&& SIMD_INTR_QUAL(A) == SIMD_INTR_QUAL(B) \
},
@@ -923,7 +923,7 @@ static aarch64_fcmla_laneq_builtin_datum aarch64_fcmla_lane_builtin_data[] = {
2, \
{ SIMD_INTR_MODE(A, d), SIMD_INTR_MODE(A, q) }, \
{ SIMD_INTR_QUAL(A), SIMD_INTR_QUAL(A) }, \
- FLAG_AUTO_FP, \
+ FLAG_NONE, \
false \
},
@@ -934,7 +934,7 @@ static aarch64_fcmla_laneq_builtin_datum aarch64_fcmla_lane_builtin_data[] = {
2, \
{ SIMD_INTR_MODE(A, d), SIMD_INTR_MODE(A, q) }, \
{ SIMD_INTR_QUAL(A), SIMD_INTR_QUAL(A) }, \
- FLAG_AUTO_FP, \
+ FLAG_NONE, \
false \
},