RE: RE: [arm-gnu] Assembler error for Inline Assembly (cortex-A8 processor)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: RE: [arm-gnu] Assembler error for Inline Assembly (cortex-A8 processor)




Regards,
Santosh Shilimkar


________________________________
From: Joshi Akshay [mailto:akshay.joshi@xxxxxxxxxxx]
Sent: Friday, November 21, 2008 11:06 AM
To: Shilimkar, Santosh
Cc: arm-gnu@xxxxxxxxxxxxxxxx
Subject: Re: RE: [arm-gnu] Assembler error for Inline Assembly (cortex-A8 processor)


>>>> I have tried instructions like 'vadd,vmov,vzip,vqmovn' using NEON registers without
>>>> any problems in inline assembly.



Can you attach a code snippet containing these instructions? maybe there's a problem with the syntax i've used...



Infact I tried your instruction and it also compiled for me. I used the compile option  '-march=armv7a -mfpu=neon -mfloat-abi=softfp'

I don't see any issue with your syntax. Just for ur reference, here is the example.

void func( )

{

 __asm__ __volatile__(

"        vadd.s32      d0, d0\n"

"        vld1.32       d0[], [r7]!\n"

"        vadd.s32      d0, d0\n"
"        vzip.s32      d8, d8\n");

}




 - Santosh


------- Original Message -------
Sender : Shilimkar, Santosh<santosh.shilimkar@xxxxxx>
Date : Nov 21, 2008 10:22 (GMT+05:00)
Title : RE: [arm-gnu] Assembler error for Inline Assembly (cortex-A8 processor)



> -----Original Message-----
> From: Akshay Joshi [mailto:akshay.joshi@xxxxxxxxxxx]
> Sent: Friday, November 21, 2008 9:39 AM
> To: Laurent Desnogues
> Cc: arm-gnu@xxxxxxxxxxxxxxxx
> Subject: RE: [arm-gnu] Assembler error for Inline Assembly
> (cortex-A8 processor)
>
> >>>> Try adding -mfloat-abi=softfp.
>
> >>>>> Laurent
>
> tried this option but with no luck.
>
>
> >>>>Can you try adding this option as well. '-march=armv7a'
>
> >>>>-Santosh
>
> added -march=armv7-a too. no luck here either...
>
> Has anyone tried using NEON regs in inline assembly w/o
> facing any problems?
> I'm using the latest toolchain (2008q3)...

I have tried instructions like 'vadd,vmov,vzip,vqmovn' using NEON registers without
any problems in inline assembly.



>
>
> -----Original Message-----
> From: Laurent Desnogues [mailto:laurent.desnogues@xxxxxxxxx]
> Sent: Thursday, November 20, 2008 2:20 PM
> To: akshay.joshi@xxxxxxxxxxx
> Cc: arm-gnu@xxxxxxxxxxxxxxxx
> Subject: Re: [arm-gnu] Assembler error for Inline Assembly (cortex-A8
> processor)
>
>
> On Wed, Nov 19, 2008 at 4:15 PM, Akshay Joshi
> <akshay.joshi@xxxxxxxxxxx>
> wrote:
> >
> > For example:
> >         /tmp/cc4wfCkh.s:169: Error: bad instruction
> `vld1.32 d0[],[r7]!'
> > The syntax used for the above instruction in the ".c" file
> was as follows:
> >
> >      asm ("vld1.32 d0[], [r7]!");
> > But, if I use the same instruction in a ".s" file, the
> error does not
> occur.
> >          vld1.32 d0[], [r7]!
> > Is there any option that I need to pass to the assembler /
> compiler? Or,
> is
> > my inline assembly syntax incorrect?
> >
> > Currently, I am using the following options while compiling
> the code:
> >
> >          -mcpu=cortex-a8 -mfpu=neon -O3  -fpack-struct
> -funroll-loops
> > -freorder-blocks-and-partition -lm -lc -lgcc
>
> Try adding -mfloat-abi=softfp.
>
>
> Laurent
>
>
>