Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for ARMv8 #11

Open
ghost opened this issue Jun 27, 2016 · 6 comments
Open

Support for ARMv8 #11

ghost opened this issue Jun 27, 2016 · 6 comments

Comments

@ghost
Copy link

ghost commented Jun 27, 2016

Looks like some of the ASM changed, I tried fixing but have never done any ASM, let alone ARM.

/tmp/ccyqVRJR.s: Assembler messages:
/tmp/ccyqVRJR.s:1390: Error: unknown mnemonic vmov.f32' --vmov.f32 q4,#0.0'
/tmp/ccyqVRJR.s:1391: Error: unknown mnemonic vmov.f32' --vmov.f32 q5,#0.0'
/tmp/ccyqVRJR.s:1392: Error: unknown mnemonic vld2.32' --vld2.32 {q0-q1},[x6]!'
/tmp/ccyqVRJR.s:1393: Error: unknown mnemonic vld1.32' --vld1.32 {q2},[x7]!'
/tmp/ccyqVRJR.s:1394: Error: unknown mnemonic vmla.f32' --vmla.f32 q4,q0,q2'
/tmp/ccyqVRJR.s:1395: Error: unknown mnemonic vmla.f32' --vmla.f32 q5,q1,q2'
/tmp/ccyqVRJR.s:1398: Error: unknown mnemonic vst1.32' --vst1.32 {q4},[x10]'
/tmp/ccyqVRJR.s:1399: Error: unknown mnemonic vst1.32' --vst1.32 {q5},[x11]'
Makefile:47: recipe for target 'all' failed

Build is on a pine64 with A64 (cortex-a53) on ubuntu 16.04.

@morcant
Copy link

morcant commented Dec 21, 2016

Having same issue, looks like the issue is the custom ASM assumes vfp support in the ARM CPU, which pine64 does not have.

@morcant
Copy link

morcant commented Dec 21, 2016

Less than ideal probably, but you can change remove the -DNEON_OPT in the Makefile which will cause it to fall back to C optimizations instead of ASM. This allows it to complile at least.

PARAMS_NEON = -O3 -mcpu=cortex-a53 -march=armv8-a+crc+crypto -fomit-frame-pointer -funroll-loops -Wformat=0

@morcant
Copy link

morcant commented Dec 21, 2016

Confirming this works, running through openwebrx has CPU sitting at 6%

@itdaniher
Copy link

Bumping this, would be very interested to see neon / simd optimisations for aarch64 hardware. I can provide testing / ssh access to anyone interested in working on this.

@FeatherGrass2019
Copy link

Can anyone tell me how to make on Raspberry Pi 4? Thank you.

@MichalLeonBorsuk
Copy link

MichalLeonBorsuk commented May 21, 2020

As morcant wrote, in Makefile replace PARAMS_NEON with this line:

PARAMS_NEON = -mcpu=cortex-a53 -march=armv8-a+crc+crypto -fomit-frame-pointer -funroll-loops -Wformat=0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants