Hi Maciej

On Mon, 2024-11-18 at 02:59 +0000, Maciej W. Rozycki wrote:
>  This has come out of a discussion[1] around the removal of non-BWX Alpha 
> support from the Linux kernel due to data races affecting RCU algorithms. 
> (...)
>  Comments, questions, voices of concern or appreciation, all very welcome.

Thanks a lot for your work, much appreciated!

I gave this a try on gcc.git master with LRA enabled for both non-BWX and
BWX targets. BWX targets build fine with almost all languages enabled (I
didn't try Ada, Go and Rust), but non-BWX fails with:

during RTL pass: reload
../../../libgomp/team.c: In function 'gomp_team_start':
../../../libgomp/team.c:940:1: internal compiler error: in 
get_unaligned_address, at config/alpha/alpha.cc:1577
  940 | }
      | ^
mv -f .deps/bar.Tpo .deps/bar.Plo
none needed
checking whether /home/glaubitz/gcc.git/build/./gcc/xgcc 
-B/home/glaubitz/gcc.git/build/./gcc/ -B/usr/local/alpha-unknown-linux-gnu/bin/ 
-B/usr/local/alpha-unknown-linux-gnu/lib/ -isystem
/usr/local/alpha-unknown-linux-gnu/include -isystem 
/usr/local/alpha-unknown-linux-gnu/sys-include   -fno-checking understands -c 
and -o together... 0x1231f08d7 internal_error(char const*, ...)
        ../../gcc/diagnostic-global-context.cc:518
0x12319596b fancy_abort(char const*, int, char const*)
        ../../gcc/diagnostic.cc:1696
0x121e93827 get_unaligned_address(rtx_def*)
        ../../gcc/config/alpha/alpha.cc:1577
0x121e9691b alpha_expand_mov_nobwx(machine_mode, rtx_def**)
        ../../gcc/config/alpha/alpha.cc:2348
0x122bad4f3 gen_movqi(rtx_def*, rtx_def*)
        ../../gcc/config/alpha/alpha.md:4291
0x120bf3a7b rtx_insn* insn_gen_fn::operator()<rtx_def*, rtx_def*>(rtx_def*, 
rtx_def*) const
        ../../gcc/recog.h:442
0x120eb25a7 emit_move_insn_1(rtx_def*, rtx_def*)
        ../../gcc/expr.cc:4578
0x120eb345f emit_move_insn(rtx_def*, rtx_def*)
        ../../gcc/expr.cc:4748
0x12134230b lra_emit_move(rtx_def*, rtx_def*)
        ../../gcc/lra.cc:509
0x1213674ab curr_insn_transform
        ../../gcc/lra-constraints.cc:4751
0x12136aa53 lra_constraints(bool)
        ../../gcc/lra-constraints.cc:5497
0x12134960b lra(_IO_FILE*, int)
        ../../gcc/lra.cc:2445
0x1212c6a5f do_reload
        ../../gcc/ira.cc:5977
0x1212c72d3 execute
        ../../gcc/ira.cc:6165
Please submit a full bug report, with preprocessed source (by using 
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Do you have any plans for handling unaligned accesses for LRA as well?

Thanks,
adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

Reply via email to