public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "mpolacek at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/100241] New: internal compiler error: in curr_insn_transform, at lra-constraints.c:4133 Date: Fri, 23 Apr 2021 22:27:31 +0000 [thread overview] Message-ID: <bug-100241-4@http.gcc.gnu.org/bugzilla/> (raw) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100241 Bug ID: 100241 Summary: internal compiler error: in curr_insn_transform, at lra-constraints.c:4133 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: mpolacek at gcc dot gnu.org Target Milestone: --- Currently I only have one test which contains UB: # cat vp9_blockd.c extern char num_4x4_blocks_high_lookup, num_4x4_blocks_wide_lookup; typedef struct { char tx_size; } MODE_INFO; struct macroblockd_plane { int subsampling_y; }; typedef struct { struct macroblockd_plane plane[3]; MODE_INFO *mi; int mb_to_right_edge; } MACROBLOCKD; typedef void foreach_transformed_block_visitor(); int vp9_foreach_transformed_block_in_plane_i; foreach_transformed_block_visitor vp9_foreach_transformed_block_in_plane_visit; #pragma GCC visibility push(internal) void vp9_foreach_transformed_block_in_plane(MACROBLOCKD *xd) { struct macroblockd_plane pd = xd->plane[0]; MODE_INFO mi = xd->mi[0]; char tx_size = mi.tx_size, plane_bsize = pd.subsampling_y; int num_4x4_w = num_4x4_blocks_wide_lookup, num_4x4_h = num_4x4_blocks_high_lookup, r, c, max_blocks_wide = num_4x4_w + xd->mb_to_right_edge, max_blocks_high = num_4x4_h, extra_step = max_blocks_wide >> 1; for (r = 0; r < max_blocks_high; r += tx_size) { for (c = 0; c < max_blocks_wide; c += 1 << tx_size) vp9_foreach_transformed_block_in_plane_visit(plane_bsize); vp9_foreach_transformed_block_in_plane_i += extra_step; } } void vp9_encode_sby_pass1(MACROBLOCKD *x) { vp9_foreach_transformed_block_in_plane(x); } #pragma GCC visibility pop struct vpx_codec_iface { int i; int get_glob_hdrs; void (*fp)(); }; void vp9_first_pass (); void vp9_get_compressed_data() { vp9_first_pass(); } void encoder_encode() { vp9_get_compressed_data(); } struct vpx_codec_iface vpx_codec_vp9_cx_algo = {1, 0, encoder_encode }; void first_pass_worker_hook() { vp9_first_pass_encode_tile_mb_row(); } # cat vp9_firstpass.c typedef long int64_t; void vp9_encode_sby_pass1(); typedef struct { int64_t coded_error; int64_t sr_coded_error; int64_t frame_noise_energy; int64_t intra_error; } FIRSTPASS_DATA; typedef struct { FIRSTPASS_DATA fp_data; } TileDataEnc; void vp9_first_pass_encode_tile_mb_row(int td, FIRSTPASS_DATA *fp_acc_data, TileDataEnc *tile_data) { vp9_encode_sby_pass1(td); FIRSTPASS_DATA __trans_tmp_1 = *fp_acc_data; TileDataEnc *this_tile = tile_data; this_tile->fp_data.coded_error += this_tile->fp_data.sr_coded_error += __trans_tmp_1.sr_coded_error; this_tile->fp_data.frame_noise_energy += __trans_tmp_1.frame_noise_energy; this_tile->fp_data.intra_error += __trans_tmp_1.intra_error; } void launch_enc_workers(); void first_pass_worker_hook(); void vp9_encode_fp_row_mt() { launch_enc_workers(first_pass_worker_hook); } void vp9_first_pass() { vp9_encode_fp_row_mt(); } # gcc -flto=auto -ffat-lto-objects -march=armv8-a -fPIC -O3 -Wall -W vp9_blockd.c vp9_firstpass.c -shared vp9_blockd.c: In function ‘first_pass_worker_hook’: vp9_blockd.c:50:3: warning: implicit declaration of function ‘vp9_first_pass_encode_tile_mb_row’ [-Wimplicit-function-declaration] 50 | vp9_first_pass_encode_tile_mb_row(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vp9_firstpass.c: In function ‘vp9_first_pass_encode_tile_mb_row’: vp9_firstpass.c:21:1: error: unable to generate reloads for: 21 | } | ^ (insn 65 68 69 8 (set (reg:V2DI 138) (vec_concat:V2DI (mem:DI (plus:DI (reg/v/f:DI 153 [orig:122 fp_acc_data ] [122]) (const_int 16 [0x10])) [4 fp_acc_data_12(D)->frame_noise_energy+0 S8 A64]) (mem:DI (plus:DI (reg/v/f:DI 153 [orig:122 fp_acc_data ] [122]) (const_int 24 [0x18])) [4 fp_acc_data_12(D)->intra_error+0 S8 A64]))) "vp9_firstpass.c":17:34 2473 {load_pair_lanesdi} (expr_list:REG_DEAD (reg/v/f:DI 122 [ fp_acc_data ]) (nil))) during RTL pass: reload vp9_firstpass.c:21:1: internal compiler error: in curr_insn_transform, at lra-constraints.c:4133 0x14881df diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, std::__va_list*, diagnostic_t) ???:0 0xc8b7db internal_error(char const*, ...) ???:0 0xc8b8cf fancy_abort(char const*, int, char const*) ???:0 0x783fab _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ???:0 0xe152a7 curr_insn_transform(bool) ???:0 0xe102d7 lra_constraints(bool) ???:0 0x127407b lra(_IO_FILE*) ???:0 0x1267e3f (anonymous namespace)::pass_reload::execute(function*) ???:0 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://bugzilla.redhat.com/bugzilla> for instructions. make: *** [/tmp/cc1Xqmvm.mk:2: /tmp/ccQcOjSl.ltrans0.ltrans.o] Error 1
next reply other threads:[~2021-04-23 22:27 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-23 22:27 mpolacek at gcc dot gnu.org [this message] 2021-04-23 22:30 ` [Bug target/100241] " mpolacek at gcc dot gnu.org 2021-04-23 22:33 ` mpolacek at gcc dot gnu.org 2021-04-24 13:59 ` mpolacek at gcc dot gnu.org 2021-04-24 14:46 ` mpolacek at gcc dot gnu.org 2021-04-24 14:55 ` mpolacek at gcc dot gnu.org 2021-04-24 19:39 ` mpolacek at gcc dot gnu.org 2021-04-24 20:26 ` pinskia at gcc dot gnu.org 2022-01-01 8:10 ` pinskia at gcc dot gnu.org 2022-01-01 8:48 ` cvs-commit at gcc dot gnu.org 2022-01-01 8:48 ` pinskia at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-100241-4@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).