[RFC PATCH, i386]: ICE: in final_scan_insn due to late split
Uros Bizjak
ubizjak@gmail.com
Thu Mar 24 20:50:00 GMT 2011
On Thu, Mar 24, 2011 at 8:59 PM, Rainer Orth
<ro@cebitec.uni-bielefeld.de> wrote:
> Uros Bizjak <ubizjak@gmail.com> writes:
>
>> 2011-03-23 Uros Bizjak <ubizjak@gmail.com>
>>
>> PR target/48237
>> * config/i386/i386.md (*movdf_internal_rex64): Do not split
>> alternatives that can be handled with movq or movabsq insn.
>> (*movdf_internal): Disable for !TARGET_64BIT.
>> (*movdf_internal_nointeger): Ditto.
>> * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
>
> This patch broke Solaris/x86 bootstrap:
>
> /vol/gcc/src/hg/trunk/local/gcc/config/i386/i386.c: In function 'ix86_print_operand':
> /vol/gcc/src/hg/trunk/local/gcc/config/i386/i386.c:14416:2: error: format '%lld' expects argument of type 'long long int', but argument 3 has type 'long int' [-Werror=format]
Fixed by attached patch that removes all fancy conditional handling.
2011-03-24 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (ix86_print_operand): Output DFmode const_double
correctly.
Tested on x86_64-pc-linux-gnu, committed to mainline.
Uros.
>
> Rainer
>
> --
> -----------------------------------------------------------------------------
> Rainer Orth, Center for Biotechnology, Bielefeld University
>
-------------- next part --------------
Index: config/i386/i386.c
===================================================================
--- config/i386/i386.c (revision 171422)
+++ config/i386/i386.c (working copy)
@@ -14408,12 +14408,7 @@ ix86_print_operand (FILE *file, rtx x, i
if (ASSEMBLER_DIALECT == ASM_ATT)
putc ('$', file);
- /* We can use %d if the number is <32 bits and positive. */
- if (l[1] || l[0] < 0)
- fprintf (file, "0x%lx%08lx",
- (unsigned long) l[1], (unsigned long) l[0]);
- else
- fprintf (file, HOST_WIDE_INT_PRINT_DEC, l[0]);
+ fprintf (file, "0x%lx%08lx", l[1] & 0xffffffff, l[0] & 0xffffffff);
}
/* These float cases don't actually occur as immediate operands. */
More information about the Gcc-patches
mailing list