Displaying 3 results from an estimated 3 matches for "vadd_u32".
Did you mean:
vadd_s32
2010 Sep 28
0
[LLVMdev] Vectors in structures
...ith GCC? And that
> by using structures in Clang you made it work with armcc?
>
> Is it just a source code compatibility issue?
Yes, there are multiple issues but they all involve source compatibility.
Here is an example:
#include <arm_neon.h>
uint32x2_t test(int32x2_t x) { return vadd_u32(x, x); }
This works fine with GCC because int32x2_t and uint32x2_t are built-in vector types and can be implicitly converted. It is not valid if those types are defined as structs, because C/C++ do not allow distinct struct types to be implicitly converted just because they happen to have the sam...
2010 Sep 28
2
[LLVMdev] Vectors in structures
On 27 September 2010 23:45, Bob Wilson <bob.wilson at apple.com> wrote:
> An implementation, such as in GCC, that does not use structures is compatible with ARM's specification in only one direction. GCC will accept any code written for RVCT, but not the other way around. And, as Al pointed out, there are also compatibility issues with how you can initialize vectors. (In fact, if
2010 Sep 28
2
[LLVMdev] Vectors in structures
...bob.wilson at apple.com> wrote:
> Yes, there are multiple issues but they all involve source compatibility.
Hi Bob, than this is a completely different matter altogether.
> I do not have access to ARM's compiler(s) but I'm assuming that the first example will not compile because vadd_u32 expects arguments of type uint32x2_t. Using structs in llvm does not "fix" a compatibility problem, but it helps our users write NEON code that will work with ARM's compiler.
Indeed, the types are different, you will get an incompatible parameter error.
> I am getting requests...