unrecognized insn: subreg of 64-bit register on 32-bit linux

Michael Bond mdbond@cs.uiuc.edu
Sun Dec 15 22:46:00 GMT 2002


I'm getting the following error (see below) under 32-bit x86 Linux with
GCC 3.2.  This error occurs because GCC has been modified to compile UPC,
a parallel variant of C (http://www.interpid.com/upc).  UPC uses 64-bit
pointers for shared data, where 32 bits are for the virtual address and 32
bits are for other data that UPC needs.  This works fine on the SGI Origin
2000, GCC UPC's target machine.  I'm trying to port it to Linux, but the
i386.md file doesn't include patterns for taking a 32-bit portion of a
64-bit value.  Any ideas for how to make this work?

Thanks a lot,


src/test00.upc: In function `main':
src/test00.upc:13: unrecognizable insn:
(insn 53 16 55 (set (mem:SI (reg/f:SI 7 esp) [0 S4 A8])
        (subreg:SI (symbol_ref:DI ("b")) 0)) -1 (nil)
src/test00.upc:13: Internal compiler error in extract_insn, at
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

More information about the Gcc-help mailing list