gcc/cp/
PR target/70290
* call.c (build_conditional_expr_1): Always use original
condition type for vector type checks and build.
gcc/testsuite/
PR target/70290
* g++.dg/ext/pr70290.C: New test.
From-SVN: r234399
+2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * call.c (build_conditional_expr_1): Always use original
+ condition type for vector type checks and build.
+
2016-03-22 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70096
if (VECTOR_INTEGER_TYPE_P (TREE_TYPE (arg1)))
{
+ tree arg1_type = TREE_TYPE (arg1);
+
/* If arg1 is another cond_expr choosing between -1 and 0,
then we can use its comparison. It may help to avoid
additional comparison, produce more accurate diagnostics
|| error_operand_p (arg3))
return error_mark_node;
- tree arg1_type = TREE_TYPE (arg1);
arg2_type = TREE_TYPE (arg2);
arg3_type = TREE_TYPE (arg3);
+2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * g++.dg/ext/pr70290.C: New test.
+
2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/70325
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-mavx512vl" { target { i?86-*-* x86_64-*-* } } } */
+
+typedef int vec __attribute__((vector_size(32)));
+
+vec
+test1 (vec x,vec y)
+{
+ return (x < y) ? 1 : 0;
+}
+
+vec
+test2 (vec x,vec y)
+{
+ vec zero = { };
+ vec one = zero + 1;
+ return (x < y) ? one : zero;
+}