Hello,
Sorry I cannot find a bugzilla. One issue detected during compilation of ffmpeg, it looks like gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/home/ldm/misc/tc/suite/cases/ffmpeg/ffmpeg" -O3 -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -fomit-frame-pointer -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -c -o libavcodec/dsputil.o libavcodec/dsputil.c /tmp/ccK6jdSP.s: Assembler messages: /tmp/ccK6jdSP.s:34764: Error: VFP/Neon double precision register expected -- `vmovl.s16 q3,s12' /tmp/ccK6jdSP.s:34781: Error: VFP/Neon double precision register expected -- `vmovl.s16 q2,s8' /tmp/ccK6jdSP.s:34798: Error: VFP/Neon double precision register expected -- `vmovl.s16 q1,s4' /tmp/ccK6jdSP.s:34800: Error: VFP/Neon double precision register expected -- `vmovl.s16 q0,s0' /tmp/ccK6jdSP.s:34820: Error: VFP/Neon double precision register expected -- `vmovl.s16 q8,s8'
The sources, assembler and test case are attached.
With best wishes, Leonid
Hey!
On Tue, Oct 19, 2010, leonid.moiseichuk@nokia.com wrote:
Sorry I cannot find a bugzilla.
Linaro GCC uses Launchpad; visit bugs.launchpad.net/gcc-linaro to report gcc-linaro bugs.
Sorry I cannot find a bugzilla. One issue detected during compilation of ffmpeg, it looks like gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/home/ldm/misc/tc/suite/cases/ffmpeg/ffmpeg" -O3 -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -fomit-frame-pointer -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -c -o libavcodec/dsputil.o libavcodec/dsputil.c /tmp/ccK6jdSP.s: Assembler messages: /tmp/ccK6jdSP.s:34764: Error: VFP/Neon double precision register expected -- `vmovl.s16 q3,s12'
Looks like you need -mfpu=neon; I see it's mentioned in your .spec file, but it doesn't appear above. If this is a ffmpeg build, you probably want to pass --extra-cflags= to configure to pass extra CFLAGS. You probably want to --enable-neon and --cpu=cortex-a8 too.
Cheers,
Hi,
Thanks for hint. I think the fpu=neon is passed correct because assembler source has the following attributes .arch armv7-a .eabi_attribute 27, 3 .eabi_attribute 28, 1 .fpu neon And neon code actually generated.
--enable-neon is ffmpeg switch to use neon code and idea of toolchain testing is to disable it to see how autovectorization works.
With best wishes, Leonid
-----Original Message----- From: ext Loïc Minier [mailto:loic.minier@linaro.org] Sent: 19 October, 2010 13:39 To: Moiseichuk Leonid (Nokia-MS/Helsinki) Cc: linaro-toolchain@lists.linaro.org Subject: Re: finding in 4.5.2 20101003 (Linaro) [release 4.5-2010.10-0]
Hey!
On Tue, Oct 19, 2010, leonid.moiseichuk@nokia.com wrote:
Sorry I cannot find a bugzilla.
Linaro GCC uses Launchpad; visit bugs.launchpad.net/gcc-linaro to report gcc-linaro bugs.
Sorry I cannot find a bugzilla. One issue detected during compilation of ffmpeg, it looks like gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/home/ldm/misc/tc/suite/cases/ffmpeg/ffmpeg" -O3 -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -fomit-frame-pointer -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -c -o libavcodec/dsputil.o libavcodec/dsputil.c /tmp/ccK6jdSP.s: Assembler messages: /tmp/ccK6jdSP.s:34764: Error: VFP/Neon double precision register expected -- `vmovl.s16 q3,s12'
Looks like you need -mfpu=neon; I see it's mentioned in your .spec file, but it doesn't appear above. If this is a ffmpeg build, you probably want to pass --extra-cflags= to configure to pass extra CFLAGS. You probably want to --enable-neon and --cpu=cortex-a8 too.
Cheers,
Hi Leonid,
You do indeed have a compiler bug here!
We now have a fix for it, and the Linaro GCC sources should be updated in the next few days.
If you don't want to wait for that, you can find the patch here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45805
Apologies for the inconvenience.
Andrew
On 19/10/10 10:51, leonid.moiseichuk@nokia.com wrote:
Hello,
Sorry I cannot find a bugzilla. One issue detected during compilation of ffmpeg, it looks like
gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/home/ldm/misc/tc/suite/cases/ffmpeg/ffmpeg" -O3 -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -fomit-frame-pointer -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -c -o libavcodec/dsputil.o libavcodec/dsputil.c
/tmp/ccK6jdSP.s: Assembler messages:
/tmp/ccK6jdSP.s:34764: Error: VFP/Neon double precision register expected -- `vmovl.s16 q3,s12'
/tmp/ccK6jdSP.s:34781: Error: VFP/Neon double precision register expected -- `vmovl.s16 q2,s8'
/tmp/ccK6jdSP.s:34798: Error: VFP/Neon double precision register expected -- `vmovl.s16 q1,s4'
/tmp/ccK6jdSP.s:34800: Error: VFP/Neon double precision register expected -- `vmovl.s16 q0,s0'
/tmp/ccK6jdSP.s:34820: Error: VFP/Neon double precision register expected -- `vmovl.s16 q8,s8'
The sources, assembler and test case are attached.
With best wishes,
Leonid
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Thanks for help a lot.
Bug seems resolved and we are cooking new toolchain (by re-applying fixes to 2010.10 or will get it from Linaro's git, doesn't matter). I will retest it soon.
With best wishes, Leonid
-----Original Message----- From: ext Andrew Stubbs [mailto:ams@codesourcery.com] Sent: 21 October, 2010 11:30 To: Moiseichuk Leonid (Nokia-MS/Helsinki) Cc: linaro-toolchain@lists.linaro.org Subject: Re: finding in 4.5.2 20101003 (Linaro) [release 4.5-2010.10-0]
Hi Leonid,
You do indeed have a compiler bug here!
We now have a fix for it, and the Linaro GCC sources should be updated in the next few days.
If you don't want to wait for that, you can find the patch here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45805
Apologies for the inconvenience.
Andrew
On 19/10/10 10:51, leonid.moiseichuk@nokia.com wrote:
Hello,
Sorry I cannot find a bugzilla. One issue detected during compilation of ffmpeg, it looks like
gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/home/ldm/misc/tc/suite/cases/ffmpeg/ffmpeg" -O3 -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -fomit-frame-pointer -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -c -o libavcodec/dsputil.o libavcodec/dsputil.c
/tmp/ccK6jdSP.s: Assembler messages:
/tmp/ccK6jdSP.s:34764: Error: VFP/Neon double precision register expected -- `vmovl.s16 q3,s12'
/tmp/ccK6jdSP.s:34781: Error: VFP/Neon double precision register expected -- `vmovl.s16 q2,s8'
/tmp/ccK6jdSP.s:34798: Error: VFP/Neon double precision register expected -- `vmovl.s16 q1,s4'
/tmp/ccK6jdSP.s:34800: Error: VFP/Neon double precision register expected -- `vmovl.s16 q0,s0'
/tmp/ccK6jdSP.s:34820: Error: VFP/Neon double precision register expected -- `vmovl.s16 q8,s8'
The sources, assembler and test case are attached.
With best wishes,
Leonid
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
linaro-toolchain@lists.linaro.org