https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90597
--- Comment #2 from John David Anglin <danglin at gcc dot gnu.org> ---
/* However, if the underlying mode requires a bigger alignment than
what the target hook provides, we cannot use the mode. For now,
simply reject that case. */
gcc_assert (TYPE_ALIGN (type)
>= GET_MODE_ALIGNMENT (TYPE_MODE (type)));
Breakpoint 1, layout_type (type=0x800003fffde98930)
at ../../gcc/gcc/stor-layout.c:2401
2401 gcc_assert (TYPE_ALIGN (type)
(gdb) p debug_tree(type)
<vector_type 800003fffde98930
type <integer_type 800003fffddd33f0 char public string-flag QI
size <integer_cst 800003fffddc5a08 constant 8>
unit-size <integer_cst 800003fffddc5a20 constant 1>
align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
800003fffddd33f0 precision:8 min <integer_cst 800003fffddc5a50 -128> max
<integer_cst 800003fffddc5a80 127>
pointer_to_this <pointer_type 800003fffdde13f0>>
BLK
size <integer_cst 800003fffdeb7378 type <integer_type 800003fffddd30a8
bitsizetype> constant 1073741824>
unit-size <integer_cst 800003fffdeb7348 type <integer_type 800003fffddd3000
sizetype> constant 134217728>
align:32768 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
800003fffde98930 nunits:134217728>
$1 = void
(gdb) bt
#0 layout_type (type=0x800003fffde98930) at ../../gcc/gcc/stor-layout.c:2401
#1 0x4000000000bee0ac in make_vector_type (innertype=0x7e000000, nunits=...,
mode=E_VOIDmode) at ../../gcc/gcc/tree.c:10154
#2 0x4000000000bee354 in build_vector_type (innertype=<optimized out>,
nunits=...) at ../../gcc/gcc/tree.c:11074
#3 0x400000000042c750 in handle_vector_size_attribute (
node=0x800003fffde98930, name=<optimized out>, args=<optimized out>,
flags=<optimized out>, no_add_attrs=<optimized out>)
at ../../gcc/gcc/poly-int.h:671
#4 0x400000000033ae40 in decl_attributes (node=0x0,
attributes=<optimized out>, flags=<optimized out>, last_decl=0x0)
at ../../gcc/gcc/attribs.c:718
#5 0x4000000000345bcc in c_decl_attributes (node=0x800003fffde98930,
attributes=0x7e000000, flags=0) at ../../gcc/gcc/c/c-decl.c:4837
#6 0x4000000000358fac in start_decl (declarator=0x800003fffddd33f0,
declspecs=0x800003fffddc5a20, initialized=<optimized out>,
attributes=<optimized out>) at ../../gcc/gcc/c/c-decl.c:4976
#7 0x40000000003afed8 in c_parser_declaration_or_fndef (
parser=0x800003fffdec5000, fndef_ok=false,
static_assert_ok=<optimized out>, empty_ok=<optimized out>,
nested=<optimized out>, start_attr_ok=<optimized out>,
objc_foreach_object_declaration=<optimized out>,
omp_declare_simd_clauses=..., oacc_routine_data=<optimized out>,
---Type <return> to continue, or q <return> to quit---
fallthru_attr_p=<optimized out>) at ../../gcc/gcc/c/c-parser.c:2154
#8 0x40000000003b9388 in c_parser_external_declaration (
parser=0x800003fffde98930) at ../../gcc/gcc/c/c-parser.c:1653
#9 0x40000000003ba170 in c_parser_translation_unit (parser=<optimized out>)
at ../../gcc/gcc/c/c-parser.c:1534
#10 c_parse_file () at ../../gcc/gcc/c/c-parser.c:19871
#11 0x4000000000412274 in c_common_parse_file ()
at ../../gcc/gcc/c-family/c-opts.c:1160
#12 0x4000000000927c44 in compile_file () at ../../gcc/gcc/toplev.c:456
#13 0x0000000000000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)