[Bug middle-end/91042] [7/8/9 Regression] ICE in convert_move, at expr.c:218
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 1 09:23:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91042
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|needs-reduction |
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:
$ cat pr91042.cc
typedef enum { Op_swap_rb, Op_matrix_3x3 } Op;
template <int N, typename T> struct A {
typedef T __attribute__((vector_size(N * sizeof(int)))) V;
};
template <int N, typename T> using Vec = typename A<N, T>::V;
using F = Vec<4, float>;
template <typename T, typename P> void store(P p1, T p2) {
__builtin_memcpy(p1, &p2, sizeof(p2));
}
Op a;
int b;
F c, d;
__attribute__((__vector_size__(4 * sizeof(int)))) unsigned e;
void exec_ops() {
while (true)
switch (a) {
case Op_swap_rb: {
F t = c;
c = d;
d = t;
}
case Op_matrix_3x3:
store(&b, e);
}
}
More information about the Gcc-bugs
mailing list