aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arm/arm-mve-builtins.cc
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2023-07-12 17:27:23 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2023-07-14 21:28:56 +0000
commit49a2a63e6518cfa294d903f5f62ab1f922df438e (patch)
tree554b94360bc5185e590dc2b8a6da8adf8f97e408 /gcc/config/arm/arm-mve-builtins.cc
parent6ae2fba5602fe473c0f7584e0f29ca918fd863e6 (diff)
downloadgcc-49a2a63e6518cfa294d903f5f62ab1f922df438e.zip
gcc-49a2a63e6518cfa294d903f5f62ab1f922df438e.tar.gz
gcc-49a2a63e6518cfa294d903f5f62ab1f922df438e.tar.bz2
arm: [MVE intrinsics] rework vcmlaq
Implement vcmlaq using the new MVE builtins framework. 2023-07-13 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * config/arm/arm-mve-builtins-base.cc (vcmlaq, vcmlaq_rot90) (vcmlaq_rot180, vcmlaq_rot270): New. * config/arm/arm-mve-builtins-base.def (vcmlaq, vcmlaq_rot90) (vcmlaq_rot180, vcmlaq_rot270): New. * config/arm/arm-mve-builtins-base.h: (vcmlaq, vcmlaq_rot90) (vcmlaq_rot180, vcmlaq_rot270): New. * config/arm/arm-mve-builtins.cc (function_instance::has_inactive_argument): Handle vcmlaq, vcmlaq_rot90, vcmlaq_rot180, vcmlaq_rot270. * config/arm/arm_mve.h (vcmlaq): Delete. (vcmlaq_rot180): Delete. (vcmlaq_rot270): Delete. (vcmlaq_rot90): Delete. (vcmlaq_m): Delete. (vcmlaq_rot180_m): Delete. (vcmlaq_rot270_m): Delete. (vcmlaq_rot90_m): Delete. (vcmlaq_f16): Delete. (vcmlaq_rot180_f16): Delete. (vcmlaq_rot270_f16): Delete. (vcmlaq_rot90_f16): Delete. (vcmlaq_f32): Delete. (vcmlaq_rot180_f32): Delete. (vcmlaq_rot270_f32): Delete. (vcmlaq_rot90_f32): Delete. (vcmlaq_m_f32): Delete. (vcmlaq_m_f16): Delete. (vcmlaq_rot180_m_f32): Delete. (vcmlaq_rot180_m_f16): Delete. (vcmlaq_rot270_m_f32): Delete. (vcmlaq_rot270_m_f16): Delete. (vcmlaq_rot90_m_f32): Delete. (vcmlaq_rot90_m_f16): Delete. (__arm_vcmlaq_f16): Delete. (__arm_vcmlaq_rot180_f16): Delete. (__arm_vcmlaq_rot270_f16): Delete. (__arm_vcmlaq_rot90_f16): Delete. (__arm_vcmlaq_f32): Delete. (__arm_vcmlaq_rot180_f32): Delete. (__arm_vcmlaq_rot270_f32): Delete. (__arm_vcmlaq_rot90_f32): Delete. (__arm_vcmlaq_m_f32): Delete. (__arm_vcmlaq_m_f16): Delete. (__arm_vcmlaq_rot180_m_f32): Delete. (__arm_vcmlaq_rot180_m_f16): Delete. (__arm_vcmlaq_rot270_m_f32): Delete. (__arm_vcmlaq_rot270_m_f16): Delete. (__arm_vcmlaq_rot90_m_f32): Delete. (__arm_vcmlaq_rot90_m_f16): Delete. (__arm_vcmlaq): Delete. (__arm_vcmlaq_rot180): Delete. (__arm_vcmlaq_rot270): Delete. (__arm_vcmlaq_rot90): Delete. (__arm_vcmlaq_m): Delete. (__arm_vcmlaq_rot180_m): Delete. (__arm_vcmlaq_rot270_m): Delete. (__arm_vcmlaq_rot90_m): Delete.
Diffstat (limited to 'gcc/config/arm/arm-mve-builtins.cc')
-rw-r--r--gcc/config/arm/arm-mve-builtins.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc
index 413d810..7eec9d2 100644
--- a/gcc/config/arm/arm-mve-builtins.cc
+++ b/gcc/config/arm/arm-mve-builtins.cc
@@ -680,6 +680,10 @@ function_instance::has_inactive_argument () const
return false;
if (mode_suffix_id == MODE_r
+ || base == functions::vcmlaq
+ || base == functions::vcmlaq_rot90
+ || base == functions::vcmlaq_rot180
+ || base == functions::vcmlaq_rot270
|| base == functions::vcmpeqq
|| base == functions::vcmpneq
|| base == functions::vcmpgeq