I see. Thank you, will have a try soon. Pan
-----Original Message----- From: Jeff Law <jeffreya...@gmail.com> Sent: Sunday, May 7, 2023 11:24 PM To: Li, Pan2 <pan2...@intel.com>; Kito Cheng <kito.ch...@gmail.com> Cc: juzhe.zh...@rivai.ai; rguenther <rguent...@suse.de>; richard.sandiford <richard.sandif...@arm.com>; gcc-patches <gcc-patches@gcc.gnu.org>; palmer <pal...@dabbelt.com>; jakub <ja...@redhat.com> Subject: Re: [PATCH] machine_mode type size: Extend enum size from 8-bit to 16-bit On 5/6/23 19:55, Li, Pan2 wrote: > It looks like we cannot simply swap the code and mode in rtx_def, the code > may have to be the same bits as the tree_code in tree_base. Or we will meet > ICE like below. > > rtx_def code 16 => 8 bits. > rtx_def mode 8 => 16 bits. > > static inline decl_or_value > dv_from_value (rtx value) > { > decl_or_value dv; > dv = value; > gcc_checking_assert (dv_is_value_p (dv)); <= ICE > return dv; Ugh. We really just need to fix this code. It assumes particular structure layouts and that's just wrong/dumb. So I think think the first step is to fix up this crap code in var-tracking. That should be a patch unto itself. Then we'd have the structure changes as a separate change. Jeff