This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]