https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94726
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- After r12-3278-g823685221de986a, the ICE moved slightly: t.c:13:8: error: conflicting types for ‘a’; have ‘void *[]’ 13 | void * a [ ] = { } ; | ^ t.c:5:6: note: previous declaration of ‘a’ with type ‘type’ {aka ‘__vector(2) unsigned int’} 5 | type a , b; | ^ t.c: In function ‘foo’: t.c:9:13: internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in create_tmp_from_val, at gimplify.c:568 9 | b = __builtin_shuffle ( a , var ) ; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0x6a9973 tree_class_check_failed(tree_node const*, tree_code_class, char const*, int, char const*) /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/tree.c:8739 0xa9548f tree_class_check(tree_node*, tree_code_class, char const*, int, char const*) /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/tree.h:3546 0xa9548f create_tmp_from_val /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/gimplify.c:568 0xa9548f lookup_tmp_var /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/gimplify.c:601 0xa9548f internal_get_tmp_var /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/gimplify.c:640 0xa98b83 get_initialized_tmp_var(tree_node*, gimple**, gimple**, bool) /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/gimplify.c:679 0xa98b83 gimplify_save_expr /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/gimplify.c:6251 0xa8f2ff gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/gimplify.c:14857 0xa8e39b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/gimplify.c:15335