[PATCH] Fix for FAIL gcc.c-torture/compile/20050622-1.c
Kazuhiro Inaoka
inaoka.kazuhiro@renesas.com
Fri Jul 8 06:04:00 GMT 2005
Hi Nick,
I'm sorry.
I sent a miss patch.
This is a patch for the following problem.
Regards,
Kazuhiro Inaoka
Kazuhiro Inaoka wrote:
> Hi Nick,
>
> This is a patch to fix the following FAIL.
> Please commit it.
>
> Executing on host: /home4/src/gcc/build.elf-4.1/gcc/xgcc
> -B/home4/src/gcc/build.elf-4.1/gcc/ -O0 -w -fno-show-column -c -o
> 20050622-1.o /home4/src/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/20050622-1.c
> (timeout = 300)
> spawn /home5/src/gcc/build.elf-4.1/gcc/xgcc -B/home4/src/gcc/build.elf-4.1/gcc/
> -O0 -w -fno-show-column -c -o 20050622-1.o
> /home4/src/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/20050622-1.c
> /tmp/ccBcoMHF.s: Assembler messages:
> /tmp/ccBcoMHF.s:26: Error: bad instruction `ld24 r4,#75497472'
> compiler exited with status 1
> output is:
> /tmp/ccBcoMHF.s: Assembler messages:
> /tmp/ccBcoMHF.s:27: Error: bad instruction `ld24 r4,#75497472'
>
> FAIL: gcc.c-torture/compile/20050622-1.c (test for excess errors)
> Excess errors:
> /tmp/ccBcoMHF.s:26: Error: bad instruction `ld24 r4,#75497472'
>
> gcc/ChangeLog
>
> 2005-07-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
>
> * config/m32r/m32r.c (m32r_output_function_epilogue): Care for
> a large stack frame at epilogue.
>
> Regards,
>
> Kazuhiro Inaoka
>
>
> ------------------------------------------------------------------------
>
> --- m32r.c.orig 2005-07-08 12:47:12.000000000 +0900
> +++ m32r.c.new 2005-07-08 12:48:44.000000000 +0900
> @@ -1532,11 +1532,20 @@
> else if (reg_offset < 32768)
> fprintf (file, "\tadd3 %s,%s,%s%d\n",
> sp_str, sp_str, IMMEDIATE_PREFIX, reg_offset);
> - else
> + else if (reg_offset < (1 << 24))
> fprintf (file, "\tld24 %s,%s%d\n\tadd %s,%s\n",
> reg_names[PROLOGUE_TMP_REGNUM],
> IMMEDIATE_PREFIX, reg_offset,
> sp_str, reg_names[PROLOGUE_TMP_REGNUM]);
> + else
> + fprintf (file, "\tseth %s,high(%s%d)\n\tor3 %s,%s,low(%s%d)\n" \
> + "\tadd %s,%s\n",
> + reg_names[PROLOGUE_TMP_REGNUM],
> + IMMEDIATE_PREFIX, reg_offset,
> + reg_names[PROLOGUE_TMP_REGNUM],
> + reg_names[PROLOGUE_TMP_REGNUM],
> + IMMEDIATE_PREFIX, reg_offset,
> + sp_str, reg_names[PROLOGUE_TMP_REGNUM]);
> }
> else if (frame_pointer_needed)
> {
> @@ -1547,11 +1556,20 @@
> else if (reg_offset < 32768)
> fprintf (file, "\tadd3 %s,%s,%s%d\n",
> sp_str, fp_str, IMMEDIATE_PREFIX, reg_offset);
> - else
> + else if (reg_offset < (1 << 24))
> fprintf (file, "\tld24 %s,%s%d\n\tadd %s,%s\n",
> reg_names[PROLOGUE_TMP_REGNUM],
> IMMEDIATE_PREFIX, reg_offset,
> sp_str, reg_names[PROLOGUE_TMP_REGNUM]);
> + else
> + fprintf (file, "\tseth %s,high(%s%d)\n\tor3 %s,%s,low(%s%d)\n" \
> + "\tadd %s,%s\n",
> + reg_names[PROLOGUE_TMP_REGNUM],
> + IMMEDIATE_PREFIX, reg_offset,
> + reg_names[PROLOGUE_TMP_REGNUM],
> + reg_names[PROLOGUE_TMP_REGNUM],
> + IMMEDIATE_PREFIX, reg_offset,
> + sp_str, reg_names[PROLOGUE_TMP_REGNUM]);
> }
> else
> gcc_unreachable ();
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: epilog.patch2
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20050708/65435d63/attachment.ksh>
More information about the Gcc-patches
mailing list