This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
unrecognized insn: subreg of 64-bit register on 32-bit linux
- From: Michael Bond <mdbond at cs dot uiuc dot edu>
- To: gcc-help at gcc dot gnu dot org
- Date: Sun, 15 Dec 2002 23:53:18 -0600 (CST)
- Subject: unrecognized insn: subreg of 64-bit register on 32-bit linux
Hi,
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,
Michael
----------------
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)
(nil))
src/test00.upc:13: Internal compiler error in extract_insn, at
recog.c:2148
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.