On Thu, Jul 28, 2011 at 5:48 AM, H.J. Lu <hongjiu...@intel.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. Thanks, Uros.