+2019-11-20 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR testsuite/92366
+ * doc/sourcebuild.texi (vect_char_add): Document.
+
2019-11-20 Alexandre Oliva <oliva@adacore.com>
* function.h (CALLEE_FROM_CGRAPH_P): Remove.
@item vect_no_bitwise
Target does not support vector bitwise instructions.
+@item vect_char_add
+Target supports addition of @code{char} vectors for at least one
+vector length.
+
@item vect_char_mult
Target supports @code{vector char} multiplication.
+2019-11-20 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR testsuite/92366
+ * lib/target-supports.exp (check_effective_target_vect_char_add):
+ New proc.
+ * gcc.dg/vect/bb-slp-40.c: Require vect_char_add instead of vect_int.
+
2019-11-20 Richard Sandiford <richard.sandiford@arm.com>
PR testsuite/92527
/* { dg-do compile } */
/* { dg-additional-options "-fvect-cost-model=dynamic" } */
-/* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target vect_char_add } */
char g_d[1024], g_s1[1024], g_s2[1024];
void foo(void)
|| [istarget amdgcn-*-*] }}]
}
+# Return 1 if the target supports addition of char vectors for at least
+# one vector length.
+
+proc check_effective_target_vect_char_add { } {
+ return [check_cached_effective_target_indexed vect_int {
+ expr {
+ [istarget i?86-*-*] || [istarget x86_64-*-*]
+ || ([istarget powerpc*-*-*]
+ && ![istarget powerpc-*-linux*paired*])
+ || [istarget amdgcn-*-*]
+ || [istarget ia64-*-*]
+ || [istarget aarch64*-*-*]
+ || [is-effective-target arm_neon]
+ || ([istarget mips*-*-*]
+ && ([et-is-effective-target mips_loongson_mmi]
+ || [et-is-effective-target mips_msa]))
+ || ([istarget s390*-*-*]
+ && [check_effective_target_s390_vx])
+ }}]
+}
+
# Return 1 if the target supports hardware vector shift operation for char.
proc check_effective_target_vect_shift_char { } {