Hi!

On Wed, 2022-10-19 17:16:24 +0900, Takayuki 'January June' Suwa via Gcc-patches 
<gcc-patches@gcc.gnu.org> wrote:
>       * gcc/config/xtensa/xtensa.md: Add two new split patterns:
>         - splits DImode immediate load into two SImode ones
>         - puts out-of-constraint SImode constants into the constant pool

> --- a/gcc/config/xtensa/xtensa.md
> +++ b/gcc/config/xtensa/xtensa.md
> @@ -940,14 +940,9 @@
>        because of offering further optimization opportunities.  */
>        if (register_operand (operands[0], DImode))
>       {
> -       rtx lowpart, highpart;
> -
> -       if (TARGET_BIG_ENDIAN)
> -         split_double (operands[1], &highpart, &lowpart);
> -       else
> -         split_double (operands[1], &lowpart, &highpart);
> -       emit_insn (gen_movsi (gen_lowpart (SImode, operands[0]), lowpart));
> -       emit_insn (gen_movsi (gen_highpart (SImode, operands[0]), highpart));
> +       xtensa_split_DI_reg_imm (operands);
> +       emit_move_insn (operands[0], operands[1]);
> +       emit_move_insn (operands[2], operands[3]);

This results in a new warning for me:

[all 2022-10-25 16:04:19] g++  -fno-PIE -c   -g -O2   -DIN_GCC  
-DCROSS_DIRECTORY_STRUCTURE   -fno-exceptions -fno-rtti 
-fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings 
-Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic 
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common 
 -DHAVE_CONFIG_H -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. 
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include 
-I../../gcc/gcc/../libcody  -I../../gcc/gcc/../libdecnumber 
-I../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber 
-I../../gcc/gcc/../libbacktrace   -o insn-emit.o -MT insn-emit.o -MMD -MP -MF 
./.deps/insn-emit.TPo insn-emit.cc
[all 2022-10-25 16:04:22] ../../gcc/gcc/config/xtensa/xtensa.md: In function 
'rtx_def* gen_movdi(rtx, rtx)':
[all 2022-10-25 16:04:22] ../../gcc/gcc/config/xtensa/xtensa.md:945:26: error: 
array subscript 3 is above array bounds of 'rtx_def* [2]' [-Werror=array-bounds]
[all 2022-10-25 16:04:22]   945 |           emit_move_insn (operands[2], 
operands[3]);
[all 2022-10-25 16:04:22]       |           
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
[all 2022-10-25 16:04:22] ../../gcc/gcc/config/xtensa/xtensa.md:897:9: note: 
while referencing 'operands'
[all 2022-10-25 16:04:22]   897 |    (set_attr "mode"     "SF")
[all 2022-10-25 16:04:22]       |         ^~~~~~~~
[all 2022-10-25 16:04:22] ../../gcc/gcc/config/xtensa/xtensa.md:945:26: error: 
array subscript 2 is above array bounds of 'rtx_def* [2]' [-Werror=array-bounds]
[all 2022-10-25 16:04:22]   945 |           emit_move_insn (operands[2], 
operands[3]);
[all 2022-10-25 16:04:22]       |           
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
[all 2022-10-25 16:04:22] ../../gcc/gcc/config/xtensa/xtensa.md:897:9: note: 
while referencing 'operands'
[all 2022-10-25 16:04:22]   897 |    (set_attr "mode"     "SF")
[all 2022-10-25 16:04:22]       |         ^~~~~~~~

I didn't yet actually check the warning, it may be bogus.

Thanks,
  Jan-Benedict

-- 

Attachment: signature.asc
Description: PGP signature

Reply via email to