Questions tagged [neon]

NEON is a vector-processing instruction set for ARM processors. Please use this tag together with [arm] if asking about the AArch32 version of NEON (to run on 32-bit ARM processors), or [arm64] for AArch64. See also the [simd] tag.

NEON is a vector-processing instruction set for ARM processors. It's also known as Advanced SIMD (Single Instruction Multiple Data).

NEON can be used on either 32-bit or 64-bit ARM processors, as part of the AArch32 or AArch64 architectures respectively. However, there are significant differences between the AArch32 and AArch64 versions of NEON (register usage, instruction mnemonics, instruction availability), so please use this tag together with either for AArch32, or for AArch64.

The tag may also be appropriate, especially for questions about SIMD algorithms that may be implemented with NEON.

Don't forget to include a tag for the programming language you are coding in, perhaps , or . In the latter cases, consider the tags or for how you access the instructions.

More information at

  1. Neon page in ARM website
  2. Wikipedia article on ARM
885 questions
0
votes
3 answers

Windows Phone 8 emulator with ARM NEON

When developing an application for Windows Phone 8 on ARM, is there a way to simulate or emulate the app if it has ARM NEON assembly? I.e., is the code compiled for x86 and run natively, or is it there a way to actually emulate an ARM NEON machine?
Anthony Blake
  • 5,328
  • 2
  • 25
  • 24
0
votes
4 answers

How to create a 1/255 f32 vector using neon?

When I calculate alpha blending, I need to convert 8bit alpha to float, which would be alpha/255. Because NEON doesn't have divide, I want to alpha * 1/255. So how can I generate 1/255 vector in q1? vmov.f32 q1, #0.003921569 always reports an…
0
votes
1 answer

Selecting a Windows Compact 7 compiler with VFP/Neon support

Possible Duplicate: Using VFP/Neon for a Visual Studio 2008 application I have built a Windows Compact 7 OS image and SDK with the Platform Builder plugin for Visual Studio 2008. I know that Visual Studio 2008 supports neither VFP nor NEON. So,…
0
votes
1 answer

Using VFP/Neon for a Visual Studio 2008 application

I'm trying to specify the benchmarks of an ARM Cortex-A8 running Windows Compact 7. I want to compare the performance using the VFP, the NEON and none of them. I've seen the "-mfpu=xxx" option for GCC compilers but, What are the required…
0
votes
1 answer

How effectively load the vertical line datas from memory into neon registers

I want to read a vertical line of data from an image block, ie: I want to get the first data of every line (line length equal the block width). I think the following code is not good. Is there a better implementation? (the data address in r5, the…
0
votes
1 answer

xcode 4.4 neon assembly error

I get compilation errors when compiling neon assembly in Xcode 4.4, those error wasn't in xCode 4.3, the errors are for those commands type: error: invalid operand for instruction vld1 q5.u8, [r12], r2 error: invalid operand for…
0
votes
1 answer

ARM-NEON for video format conversion

I am trying to accelerate some video frame conversion using the NEON of an ARM-based embedded system (Gumstix Overo). Source is monochrome (Y12 or Y10) and destination is RGB565, RGB888 or RGB32. Are there some specific techniques/tricks for one to…
bhamadicharef
  • 360
  • 1
  • 11
0
votes
1 answer

Image thresholding using NEON instructions

I'm working on some image processing app for an iOS and thresholding is really a huge bottleneck. So I'm trying to optimize it using NEON. Here is the C version of function. Is there any way to rewrite this using NEON (unfortunately I have…
givi
  • 1,883
  • 4
  • 22
  • 32
0
votes
1 answer

ARM NEON how can i change value with a index

unsigned char changeValue(unsigned char pArray[256],unsigned char value) { return pArray[value]; } how can I change this function with neon with about uint8x8_t?? thanks for your help!!
aidy22
  • 1
0
votes
1 answer

Is conversion of neon register of 1 form into another possible

I am working on SIMD architecture by using arm neon code. Now the problem is that in one pass of my function, I am using all the registers available in neon , so I am getting following error while compiling. nw2.c: In function 'bit_24': nw2.c:123:…
Prachi Chouksey
  • 153
  • 1
  • 1
  • 7
0
votes
1 answer

Implementation in NEON of non uniform address jumps

I need to implement the following loop in Neon. int jump=4,c[8],i; //c[8] may be declared here int *src,sum=0; //**EDIT:** src points to a 256 element array for (i = 0; i < 4; i++) { sum = src[ i + 0 * jump] * c[0];//1 sum += src[ i + 1 *…
rnjai
  • 1,065
  • 2
  • 17
  • 32
0
votes
2 answers

Vectorized floating point rounding using NEON

I've got a NEON register filled with float32. I'd like to round them to the nearest integer without having to transfer back to the main CPU. The NEON instructions to convert float32 to uint32 simply truncate, so e.g. 39.7 becomes 39, not 40. I don't…
Josh Bleecher Snyder
  • 8,262
  • 3
  • 35
  • 37
-1
votes
1 answer

Invalid symbol redefinition for arm inline assembly

I'm trying to implement RGB image to Gray image conversion, using C++ and arm neon especially inline assembly. I write a run-ok-but-not-that-fast version with inline assembly. It compiles OK and run OK. For each pixel line processing, it can be…
ChrisZZ
  • 1,521
  • 2
  • 17
  • 24
-1
votes
1 answer

Store instruction in NEON armv8 assembly

I am learning how to program in armv8 assembly using neon. This code compiles, but it freezes at running time. The first part is where the variables are created (array1), the second part (Main) is where the code starts, like the…
MustSee
  • 121
  • 2
  • 7
-1
votes
1 answer

error: operand must be a register in range [d0, d15]

recently I have some issues when I try to optimize a conv operation, the error is: operand must be a register in range [d0, d15] "vmla.s32 q8, q12, %f18[0] \n" k0_0123,k0_4567.. are all int32x4_t vectors, I just have no…
1 2 3
58
59