Dear all.
I built the LLVM 3.0 rc4 with Clang front-end in windows os env. (also with -DLLVM_TARGETS_TO_BUILD=all option)
For arm neon intrinsics testing, I tried to compile some codes, which are included a few neon intrinsics.
Although I got a well done bitcode on ubuntu build pc, it shows some errors when compile the codes on windows.
Could you let me know why occurred errors? is this just a bug at windows system?
the used command is
clang helloneon.c -o helloneon.bc -c -emit-llvm -ccc-host-triple= armv7-none-gnueabi -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard -mthumb -I"C:\Program Files\CodeSourcery\Sourcery_CodeBench_for_ARM_EABI\arm-none-eabi\include" -ferror-limit=1000
and the followings are error codes.
Thanks and regards,
Seung-yeon.
In file included from helloneon.c:4:
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:41:24: error: invalid vector element type ‘int32_t’ (aka ‘long’)
typedef attribute((neon_vector_type(2))) int32_t int32x2_t;
^
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:42:24: error: invalid vector element type ‘int32_t’ (aka ‘long’)
typedef attribute((neon_vector_type(4))) int32_t int32x4_t;
^
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:49:24: error: invalid vector element type ‘uint32_t’ (aka ‘unsigned long’)
typedef attribute((neon_vector_type(2))) uint32_t uint32x2_t;
^
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:50:24: error: invalid vector element type ‘uint32_t’ (aka ‘unsigned long’)
typedef attribute((neon_vector_type(4))) uint32_t uint32x4_t;
^
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:355:10: error: invalid conversion between vector type ‘attribute((vector_size(16 * sizeof(signed char)))) signed char’ and integer type ‘int32x4_t’ (aka ‘long’) of different size
return (int32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 18); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:357:44: error: invalid conversion between vector type ‘int8x8_t’ and integer type ‘int32x2_t’ (aka ‘long’) of different size
return (int64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 19); }
^~~~~~~~~~~~~
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:361:10: error: invalid conversion between vector type ‘attribute((vector_size(16 * sizeof(signed char)))) signed char’ and integer type ‘uint32x4_t’ (aka ‘unsigned long’) of different size
return (uint32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 26); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:363:45: error: invalid conversion between vector type ‘int8x8_t’ and integer type ‘uint32x2_t’ (aka ‘unsigned long’) of different size
return (uint64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 27); }
^~~~~~~~~~~~~
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:368:10: error: invalid conversion between vector type ‘attribute((vector_size(16 * sizeof(signed char)))) signed char’ and integer type ‘int32x4_t’ (aka ‘long’) of different size
return (int32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 18); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
d:/llvm_projects/llvm-3.0rc4/bin/…/lib/clang/3.0/include\arm_neon.h:370:44: error: invalid conversion between vector type ‘int8x8_t’ and integer type ‘int32x2_t’ (aka ‘long’) of different size
return (int64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 19); }
^~~~~~~~~~~~~
…