gcc/
PR middle-end/68134
* targhooks.c (default_get_mask_mode): Filter out
scalar modes returned by mode_for_vector.
gcc/testsuite/
PR middle-end/68134
* gcc.dg/pr68134.c: New test.
From-SVN: r230463
+2015-11-17 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/68134
+ * targhooks.c (default_get_mask_mode): Filter out
+ scalar modes returned by mode_for_vector.
+
2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/68143
gcc_assert (elem_size * nunits == vector_size);
vector_mode = mode_for_vector (elem_mode, nunits);
- if (VECTOR_MODE_P (vector_mode)
- && !targetm.vector_mode_supported_p (vector_mode))
+ if (!VECTOR_MODE_P (vector_mode)
+ || !targetm.vector_mode_supported_p (vector_mode))
vector_mode = BLKmode;
return vector_mode;
+2015-11-17 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/68134
+ * gcc.dg/pr68134.c: New test.
+
2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/68143
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-std=c99" } */
+
+#include <stdint.h>
+
+typedef double float64x1_t __attribute__ ((vector_size (8)));
+typedef uint64_t uint64x1_t;
+
+void
+foo (void)
+{
+ float64x1_t arg1 = (float64x1_t) 0x3fedf9d4343c7c80;
+ float64x1_t arg2 = (float64x1_t) 0x3fcdc53742ea9c40;
+ uint64x1_t result = (uint64x1_t) (arg1 == arg2);
+ uint64_t got = result;
+ uint64_t exp = 0;
+ if (got != 0)
+ __builtin_abort ();
+}