PATCH: PR target/47364: [x32] internal compiler error: in emit_move_insn, at expr.c:3355

H.J. Lu hjl.tools@gmail.com
Thu Jul 28 13:38:00 GMT 2011


On Thu, Jul 28, 2011 at 5:44 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Thu, Jul 28, 2011 at 8:30 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
>
>>> We should only expand strlen to Pmode.  Otherwise, we got
>>>
>>> [hjl@gnu-6 ilp32-38]$ cat x.i
>>> char one[50] = "ijk";
>>> int
>>> main (void)
>>> {
>>>  return __builtin_strlen (one) != 3;
>>> }
>>> [hjl@gnu-6 ilp32-38]$ /export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O2 x.i
>>> x.i: In function ‘main’:
>>> x.i:5:27: internal compiler error: in emit_move_insn, at expr.c:3333
>>> Please submit a full bug report,
>>> with preprocessed source if appropriate.
>>> See <http://gcc.gnu.org/bugs.html> for instructions.
>>>
>>> OK for trunk?
>>>
>>> 2011-07-27  H.J. Lu  <hongjiu.lu@intel.com>
>>>
>>>        PR target/47364
>>>        * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
>>
>> OK.
>
> Please also backport this fix to release branches.
>

I checked it into GCC 4.6. GCC 4.5 is very different and I didn't change it.

Thanks.


-- 
H.J.



More information about the Gcc-patches mailing list