On Thu, Jul 28, 2011 at 8:30 AM, Uros Bizjak <ubiz...@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...@intel.com>
>>
>>        PR target/47364
>>        * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
>
> OK.

Please also backport this fix to release branches.

Thanks,
Uros.

Reply via email to