This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more infromation.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Ian Lance Taylor wrote: > > Date: Tue, 14 Dec 1999 20:58:16 -0800 > From: Peter Popov <ppopov@redcreek.com> > > I'm using a powerpc-eabi compiler which I built from > gcc-2.92.2 and binutils-2.9.1. The assembler chokes on > instructions like this one: > > li r5, 0xfffe > > initads.s:194: Error: operand out of range (65534 not between -32768 and 32767) > > It complains that the operand is out of range, when in fact, > if should just translate the 0xfffe t0 -2. Does anyone know if > this is an assembler bug, or is it a feature? > > It's a feature. You're asking the assembler to load 0xfffe into r5. > That can't be done in one li instruction. You can load 0xfffffffe, > but you can't load 0x0000fffe. > Did gcc generate that instruction? No, it's in an assembly file I got from Motorola's web site. The file was assembled with the Diab Data assembler; I tried that and it worked (the Diab Data assembler generates : "li r5,-2" from the "li r5, 0xfffe"), which is why I thought it was a bug. Thank you for the feedback. Pete ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |