On Sat, Jul 23, 2011 at 2:38 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Fri, Jul 22, 2011 at 9:03 PM, H.J. Lu <hongjiu...@intel.com> wrote: > >> This patch adds x32 LEA insn support. The main issue is >> >> gen_lowpart (Pmode, operands[1]); >> >> doesn't work on symbol. This patch avoids it. >> >> Also we shouldn't generate 32bit store with x32 PIC source. >> >> Any comments? > > Can you please post some testcases to see the effect of the patch? > > Thanks, > Uros. >
Please see testcases in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47381 For example: [hjl@gnu-6 pr47381]$ cat y.i typedef unsigned long ulg; long block_start; typedef unsigned char uch; extern uch window[]; unsigned strstart; ulg flush_block (char *buf, ulg stored_len, int eof); ulg deflate() { return flush_block(block_start >= 0L ? (char*)&window[(unsigned)block_start] : (char*)((void *)0), (long)strstart - block_start, (1)); } [hjl@gnu-6 pr47381]$ make y.s /export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -S -o y.s -mx32 -O2 y.i y.i: In function \u2018deflate\u2019: y.i:10:1: internal compiler error: in gen_lowpart_general, at rtlhooks.c:59 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make: *** [y.s] Error 1 [hjl@gnu-6 pr47381]$ -- H.J.