https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93235
Richard Earnshaw <rearnsha at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|target |rtl-optimization --- Comment #4 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- Looks to be generic expansion code that is running amok. #0 fancy_abort ( file=0x232c400 "/home/rearnsha/gnusrc/gcc-cross/master/gcc/emit-rtl.c", line=1021, function=0x232d608 <gen_rtx_SUBREG(machine_mode, rtx_def*, poly_int<2u, unsigned long>)::__FUNCTION__> "gen_rtx_SUBREG") at /home/rearnsha/gnusrc/gcc-cross/master/gcc/diagnostic.c:1768 #1 0x0000000000c7fc9f in gen_rtx_SUBREG (mode=E_SImode, reg=0x7ffff630bcc0, offset=...) at /home/rearnsha/gnusrc/gcc-cross/master/gcc/emit-rtl.c:1021 #2 0x0000000000cb3bcb in store_bit_field_using_insv (insv=0x7fffffffced0, op0=0x7ffff630bee8, op0_mode=..., bitsize=16, bitnum=0, value=0x7ffff630bed0, value_mode=...) at /home/rearnsha/gnusrc/gcc-cross/master/gcc/expmed.c:630 #3 0x0000000000cb6031 in store_integral_bit_field (op0=0x7ffff630bee8, op0_mode=..., bitsize=16, bitnum=0, bitregion_start=..., bitregion_end=..., fieldmode=E_HImode, value=0x7ffff630bed0, reverse=false, fallback_p=true) at /home/rearnsha/gnusrc/gcc-cross/master/gcc/expmed.c:1050 #4 0x0000000000cb5430 in store_bit_field_1 (str_rtx=0x7ffff630bcc0, bitsize=..., bitnum=..., bitregion_start=..., bitregion_end=..., fieldmode=E_HImode, value=0x7ffff630bed0, reverse=false, fallback_p=true) at /home/rearnsha/gnusrc/gcc-cross/master/gcc/expmed.c:870 #5 0x0000000000cb6a9a in store_bit_field (str_rtx=0x7ffff630bcc0, bitsize=..., bitnum=..., bitregion_start=..., bitregion_end=..., fieldmode=E_HImode, value=0x7ffff630bed0, reverse=false) at /home/rearnsha/gnusrc/gcc-cross/master/gcc/expmed.c:1177 #6 0x0000000000cea57a in store_field (target=0x7ffff630bcc0, bitsize=..., bitpos=..., bitregion_start=..., bitregion_end=..., mode=E_HImode, exp=0x7ffff64cab88, alias_set=0, nontemporal=false, reverse=false) at /home/rearnsha/gnusrc/gcc-cross/master/gcc/expr.c:7192 #7 0x0000000000ce1ba2 in expand_assignment (to=0x7ffff63090f0, from=0x7ffff64cab88, nontemporal=false) at /home/rearnsha/gnusrc/gcc-cross/master/gcc/expr.c:5369 #8 0x0000000000b552d8 in expand_gimple_stmt_1 (stmt=0x7ffff62df960) at /home/rearnsha/gnusrc/gcc-cross/master/gcc/cfgexpand.c:3749 #9 0x0000000000b556c7 in expand_gimple_stmt (stmt=0x7ffff62df960) at /home/rearnsha/gnusrc/gcc-cross/master/gcc/cfgexpand.c:3847 #10 0x0000000000b5e295 in expand_gimple_basic_block (bb=0x7ffff62cf138, disable_tail_calls=false) ... Also fails if __fp16 is changed to _Float16.