how to build NE10 Project using llvm compiler

Hello,

I’m using NXP layerscape Arch (A53/A72), and I want to use NE 10 Project library , and llvm compiler 3.8.1.1

(https://projectne10.github.io/Ne10/)

When compiling the project file I get the following errors :

./NE10_abs.asm.s:59:9: error: unrecognized instruction mnemonic

vmov s2, r3

^

…/NE10_abs.asm.s:62:9: error: unrecognized instruction mnemonic

vldr s1, [r1]

^

…/NE10_abs.asm.s:63:13: error: invalid operand for instruction

add r1, r1, #4

can you advice , how to handle it?

Re,

Yehuda Marko

Yehuda.Marko@scaleil.com +972544373003

ScaleIL

image001.jpg

This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and contains information that is confidential and proprietary to ScaleIL. All unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.

Hi,

./NE10_abs.asm.s:59:9: error: unrecognized instruction mnemonic
        vmov s2, r3

Clang 3.8 is pretty old, but it should support all of these
instructions. But those instructions are for AArch32 and if you're
compiling for Cortex-A72 you'd naturally be using the new 64-bit
AArch64 instruction set.

So what I suspect is happening is that the project is choosing the old
ARMv7 assembly implementations, either because it doesn't have 64-bit
ones or because something strange in the configuration is taking it
down that path.

Either way, you probably need to contact people involved with NE10 to
sort out what's going on.

Cheers.

Tim.

Hi,

Does llvm compiler knows to support NEON capabilities?
How it support it? Is there a library (similar to NE10 project) , that
support it ? can you share it ?

Thx

Re,
Yehuda Marko

Yehuda.Marko@scaleil.com +972544373003
ScaleIL
This e-mail message, including any attachments, is for the sole use of the
intended recipient(s) and contains information that is confidential and
proprietary to ScaleIL. All unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies of the original
message.

Does llvm compiler knows to support NEON capabilities? How it support it?

Yes. The compiler supports both NEON intrinsics (as described in
https://static.docs.arm.com/101028/0006/Q1-ACLE_2018Q2_release-0006.pdf),
and will automatically vectorize some loops to produce NEON
instructions. Newer compilers will do a better job there.

Is there a library (similar to NE10 project) , that support it ? can you share it ?

That library claims to support ARMv8, which I assume means AArch64 and
NEON. There are so many matrix & FFT libraries that we can't really
recommend a single one though.

Cheers.

Tim.