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]

Re: Specify memory alignment in ARM instructions for "assembler-with-cpp"


On Tue, 2010-09-28 at 07:57 +0800, Shervin Emami wrote:
> Hi Richard,
> 
> I tried but it still doesn't work and I've tried every keyboard symbol
> there is in instead of the @ symbol and I've tried different parts of
> the instruction but none of them seem to work.
> 
> For example:
> 
> vld1.8        {q0}, [r0:64]
> 

Well that's correct syntax.  Note this is not the compiler that's
getting it wrong, it's the assembler -- that's part of binutils.

I've just realized that older binutils are buggy and don't parse this
correctly.  It will be fixed in the up-coming binutils 2.21 release, or
you can download the latest sources from www.sourceware.org.

Sorry for the confusion.

R.

> -------------------------------------------------------------------------
> Command line:
> -------------------------------------------------------------------------
> CompileC build/Test.build/Release-iphoneos/Test.build/Objects-normal/armv7/libASM.o
> Classes/libASM.s normal armv7 assembler-with-cpp
> com.apple.compilers.gcc.4_2
> 
> cd /Users/shervinemami/Documents/Test
> 
> setenv LANG en_US.US-ASCII
> setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
> 
> /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -x
> assembler-with-cpp -arch armv7 -fmessage-length=0 -pipe -Wno-trigraphs
> -fpascal-strings -O3 -mdynamic-no-pic -Wreturn-type -Wunused-variable
> -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk
> -funroll-loops -ffast-math -fstrict-aliasing -fvisibility=hidden
> -gdwarf-2 -mthumb -miphoneos-version-min=4.0 -iquote
> ./build/Test.build/Release-iphoneos/Test.build/Test-generated-files.hmap
> -I./build/Test.build/Release-iphoneos/Test.build/Test-own-target-headers.hmap
> -I./build/Test.build/Release-iphoneos/Test.build/Test-all-target-headers.hmap
> -iquote ./build/Test.build/Release-iphoneos/Test.build/Test-project-headers.hmap
> -F./build/Release-iphoneos -I./build/Release-iphoneos/include
> -I./opencv_device/include
> -I./build/Test.build/Release-iphoneos/Test.build/DerivedSources/armv7
> -I./build/Test.build/Release-iphoneos/Test.build/DerivedSources -c
> ./Classes/libASM.s -o
> ./build/Test.build/Release-iphoneos/Test.build/Objects-normal/armv7/libASM.o
> 
> -------------------------------------------------------------------------
> GCC error message:
> -------------------------------------------------------------------------
> libASM.s:355:']' expected -- `vld1.8 {q0},[r0:64]'
> Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2
> failed with exit code 1
> 
> 
> I have tried with both GCC-4.2 and LLVM-GCC-4.2 (using XCode3.2) and
> they both give the same error. I don't suppose you have any ideas?
> 
> Cheers,
> Shervin Emami.
> http://www.shervinemami.co.cc/
> 
> 
> 
> On Tue, Sep 28, 2010 at 12:33 AM, Richard Earnshaw <rearnsha@arm.com> wrote:
> >
> > On Tue, 2010-09-28 at 00:00 +0800, Shervin Emami wrote:
> >> Hi,
> >>
> >> I am using gcc-4.2 to "compile" my ARMv7 assembly language .s file as
> >> part of an XCode3.2 project on Mac OSX 10.6. I am using ARM NEON
> >> assembly language instructions, but gcc doesn't allow me to set the
> >> memory alignment for ARM NEON loads. For example, the following
> >> assembly language instruction should tell the ARM NEON coprocessor
> >> that it should load a chunk of memory from memory that is aligned to
> >> 64 bytes:
> >>
> >> vld1.8 {q0}, [r0@64]
> >>
> >> This should run execute faster than the instruction for unknown memory
> >> alignment:
> >>
> >> vld1.8 {q0}, [r0]
> >>
> >> Unfortunately, gcc-4.2 gives me an error when it sees the @ symbol. Is
> >> there any way to specify the memory alignment in assembly code (for
> >> NEON load and store instructions)?
> >
> > Use a colon (:) in place of the @ sign (in GAS @ is the comment
> > character).
> >
> > R.
> >
> >


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