Hi Suwa-san,
On Sun, Mar 29, 2026 at 1:10 AM Takayuki 'January June' Suwa
<[email protected]> wrote:
>
> The predicate functions called from within the definitions of the memory
> constraints (both smalloffset_mem_p and constantpool_mem_p) will return
> false if the passed RTX is not MEM, so there is no need to check before-
> hand with '(match_code "mem")'.
>
> gcc/ChangeLog:
>
> * config/xtensa/constraints.md (R, T, U):
> Remove '(match_code "mem")' from the definitions.
> ---
> gcc/config/xtensa/constraints.md | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
This change results in a few new ICEs that look like this:
during RTL pass: final
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/20000717-1.c:
In function 'inner_product':
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/20000717-1.c:11:1:
internal compiler error: output_operand: invalid %v value
0x1d3d9dd internal_error(char const*, ...)
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/diagnostic-global-context.cc:787
0xbb6fd6 output_operand_lossage(char const*, ...)
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/final.cc:3206
0xbb7150 output_operand(rtx_def*, int)
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/final.cc:3663
0xbb7c76 output_asm_insn(char const*, rtx_def**)
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/final.cc:3552
0xbbaef2 output_asm_insn(char const*, rtx_def**)
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/final.cc:3441
0xbbaef2 final_scan_insn_1
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/final.cc:2856
0xbbb35b final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/final.cc:2902
0xbbb446 final_1
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/final.cc:1984
0xbbbfd2 rest_of_handle_final
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/final.cc:4272
0xbbbfd2 execute
/home/jcmvbkbc/ws/tensilica/gcc/gcc/gcc/final.cc:4350
--
Thanks.
-- Max