[LLVMdev] arm neon intrinsics cross compile error on windows system

Seung-yeon Choe sychoe at gmail.com
Wed Nov 23 05:21:29 PST 2011


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); }
                                           ^~~~~~~~~~~~~
........
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111123/16bb4c51/attachment.html>


More information about the llvm-dev mailing list