Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-18 Thread Jordi Soucheiron
Hello guys, I was the one that built that toolchain. I basically took the svn code with the msp430x patches, built everything and packed it along with tinyos. I didn't change a single line of code. I only added some modifiers to the tinyos makefiles to be able to use it, because otherwise functions

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-15 Thread Peter Bigot
Lest anybody be misled: On Fri, Apr 15, 2011 at 11:51 AM, Eric Decker wrote: > Anyway Peter is doing the uniarch stuff which looks pretty good so far and > thinks he will get to the 20 bit support in a month or so. No, what I said was "I'll be doing it, but probably not for at least a month." I

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-15 Thread Peter Bigot
95% of what goes into asm statements in mspgcc is not specific to the MSP430. See: http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html "i" simply means an immediate integer value. See http://gcc.gnu.org/onlinedocs/gccint/Simple-Constraints.html#Simple-Constraints. It does not imply 16-bit. T

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-15 Thread Eric Decker
thanks. appreciated. On Fri, Apr 15, 2011 at 7:12 AM, JMGross wrote: > - Ursprüngliche Nachricht - > Von: Eric Decker > Gesendet am: 15 Apr 2011 05:38:43 > > > I know uniarch currently doesn't support 20 bit. That is why I'm > > using 3.2.3 with the z1 mods. > > This supports some msp

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-15 Thread JMGross
- Ursprüngliche Nachricht - Von: Eric Decker Gesendet am: 15 Apr 2011 05:38:43 > I know uniarch currently doesn't support 20 bit. That is why I'm > using 3.2.3 with the z1 mods. > This supports some msp430X stuff correctly some not so much. I don't know about z1 mods, but I too use 3.2.3

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-15 Thread Peter Bigot
As BillW suggests, what you're missing is the significance of "gcc doesn't support 20-bit". Using -S as I recommended would show you that gcc is adding a truncation operator around the immediate in your asm statement, because it knows no instruction accepts an immediate larger than 16 bits. /* #A

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-14 Thread William "Chops" Westfield
On Apr 14, 2011, at 8:50 PM, Eric Decker wrote: >> And yes, if you did it in assembler, you could use a 20-bit >> immediate. > > >> Anyone know how to get 20 bit immediate in gcc extended asm? >> >> ie. >> >> __asm__ __volatile__ ("movx.a %1,%0":"=m" (DMA0SA):"i" (0xefefeUL)); > > Note the imm

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-14 Thread Eric Decker
On Thu, Apr 14, 2011 at 4:21 PM, Peter Bigot wrote: > And yes, if you did it in assembler, you could use a 20-bit immediate. > > Peter > > >> Can the msp430X instruction set even access a 20 bit immediate field? > This is kind of what I was getting at From my original post: > Anyone know

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-14 Thread Eric Decker
On Thu, Apr 14, 2011 at 4:20 PM, Peter Bigot wrote: > uniarch mspgcc does not support 20-bit operations, I know uniarch currently doesn't support 20 bit. That is why I'm using 3.2.3 with the z1 mods. This supports some msp430X stuff correctly some not so much. But I'm messing with gnu exten

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-14 Thread Peter Bigot
And yes, if you did it in assembler, you could use a 20-bit immediate. Peter >> Can the msp430X instruction set even access a 20 bit immediate field? -- Benefiting from Server Virtualization: Beyond Initial Workload Con

Re: [Mspgcc-users] How to get 20 bit immediate...

2011-04-14 Thread Peter Bigot
uniarch mspgcc does not support 20-bit operations, including generation of immediate values. You can fake it by putting a constant into the output template, but not a variable. Use -S to see what's really generated. Something like the following might work; it could certainly be improved. #inclu

[Mspgcc-users] How to get 20 bit immediate...

2011-04-14 Thread Eric Decker
Anyone know how to get 20 bit immediate in gcc extended asm? ie. __asm__ __volatile__ ("movx.a %1,%0":"=m" (DMA0SA):"i" (0xefefeUL)); which unfortunately generates... __asm__ __volatile__ ("movx.a %1,%0":"=m" (DMA0SA):"i" (0xefefeUL)); 3b12:00 18 f2 40 fe fe d2 01 movx.a