re PR middle-end/68134 (float64x1_t comparison ICE on aarch64-none-elf)
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
This commit is contained in:
parent
f17b0ebc79
commit
df94599f0b
4 changed files with 32 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
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
|
||||
|
|
|
@ -1093,8 +1093,8 @@ default_get_mask_mode (unsigned nunits, unsigned vector_size)
|
|||
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;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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
|
||||
|
|
19
gcc/testsuite/gcc.dg/pr68134.c
Normal file
19
gcc/testsuite/gcc.dg/pr68134.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/* { 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 ();
|
||||
}
|
Loading…
Add table
Reference in a new issue