https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69764
--- Comment #8 from Andreas Schwab <sch...@linux-m68k.org> --- Not fixed on aarch64. ../../gcc/gcc/testsuite/c-c++-common/pr69764.c: In function ‘fn1’: ../../gcc/gcc/testsuite/c-c++-common/pr69764.c:7:12: warning: right shift count is negative [-Wshift-count-negative] return a >> ~6; /* { dg-warning "right shift count is negative" } */ ^~ ../../gcc/gcc/testsuite/c-c++-common/pr69764.c: In function ‘fn2’: ../../gcc/gcc/testsuite/c-c++-common/pr69764.c:13:12: warning: right shift count is negative [-Wshift-count-negative] return a >> ~6; /* { dg-warning "right shift count is negative" } */ ^~ ../../gcc/gcc/testsuite/c-c++-common/pr69764.c: In function ‘fn3’: ../../gcc/gcc/testsuite/c-c++-common/pr69764.c:19:12: warning: right shift count is negative [-Wshift-count-negative] return a >> ~6; /* { dg-warning "right shift count is negative" } */ ^~ ../../gcc/gcc/testsuite/c-c++-common/pr69764.c: In function ‘fn4’: ../../gcc/gcc/testsuite/c-c++-common/pr69764.c:25:12: warning: right shift count >= width of type [-Wshift-count-overflow] return a >> 0xff03; /* { dg-warning "right shift count >= width of type" } */ ^~ ../../gcc/gcc/testsuite/c-c++-common/pr69764.c: In function ‘fn5’: ../../gcc/gcc/testsuite/c-c++-common/pr69764.c:31:12: warning: right shift count >= width of type [-Wshift-count-overflow] return a >> 0xff03; /* { dg-warning "right shift count >= width of type" } */ ^~ ../../gcc/gcc/testsuite/c-c++-common/pr69764.c: In function ‘fn6’: ../../gcc/gcc/testsuite/c-c++-common/pr69764.c:37:12: warning: right shift count >= width of type [-Wshift-count-overflow] return a >> 0xff03; /* { dg-warning "right shift count >= width of type" } */ ^~ ../../gcc/gcc/testsuite/c-c++-common/pr69764.c: In function ‘fn1’: ../../gcc/gcc/testsuite/c-c++-common/pr69764.c:7:12: internal compiler error: in decompose, at rtl.h:2107 return a >> ~6; /* { dg-warning "right shift count is negative" } */ ~~^~~~~ 0x821de3 wi::int_traits<std::pair<rtx_def*, machine_mode> >::decompose(long*, unsigned int, std::pair<rtx_def*, machine_mode> const&) ../../gcc/rtl.h:2105 0x821de3 wide_int_ref_storage<false>::wide_int_ref_storage<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) ../../gcc/wide-int.h:936 0x821de3 generic_wide_int<wide_int_ref_storage<false> >::generic_wide_int<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) ../../gcc/wide-int.h:714 0x821de3 convert_modes(machine_mode, machine_mode, rtx_def*, int) ../../gcc/expr.c:697 0xa480bf expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) ../../gcc/optabs.c:1280 0x8076af expand_shift_1 ../../gcc/expmed.c:2458 0x82f6f7 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) ../../gcc/expr.c:9029 0x720887 expand_gimple_stmt_1 ../../gcc/cfgexpand.c:3642 0x720887 expand_gimple_stmt ../../gcc/cfgexpand.c:3702 0x725a83 expand_gimple_basic_block ../../gcc/cfgexpand.c:5708 0x7284b7 execute ../../gcc/cfgexpand.c:6323