Displaying 2 results from an estimated 2 matches for "vreinterpret_u32_s32".
2010 Sep 28
0
[LLVMdev] Vectors in structures
..., because C/C++ do not allow distinct struct types to be implicitly converted just because they happen to have the same size. To get this to compile when the NEON types are structs, you need to add vreinterpret intrinsics:
#include <arm_neon.h>
uint32x2_t test(int32x2_t x) { uint32x2_t ux = vreinterpret_u32_s32(x); return vadd_u32(ux, ux); }
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 NEO...
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