[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#823519: GCC 4.9 missing ARM and Neon Intrinsics for AARCH64



Package: gcc-4.9
Version: 4.9.2-10

-----

I have a LeMaker HiKey
(http://www.96boards.org/products/ce/hikey-lemaker/). Its AARCH64 and
Neon is mandatory feature
(https://community.arm.com/groups/android-community/blog/2014/10/10/runtime-detection-of-cpu-features-on-an-armv8-a-cpu).

GCC appears to be missing arm and neon instrinsics provided by arm_neon.h:

  $ find /usr/include -name 'arm_neon.h'
  $

In fact, grepping for the basic intrinsics like CRC32 returns no hits.
For example, according to Section 9.2. of
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0053c/IHI0053C_acle_2_0.pdf,
there should be a __crc32ch, __crc32cw and a __crc32cd available
somewhere.

-----

It looks like GCC took a bug report on it around the GCC 4.3 days
circa 2009; see "arm_neon.h missing from ARM gcc in jaunty"
(https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/360819).

A down stream/Linaro bug report is available at
https://bugs.linaro.org/show_bug.cgi?id=2231.

-----

$ gcc --version
gcc (Debian/Linaro 4.9.2-10) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

-----

$ uname -a
Linux hikey 3.18.0-linaro-hikey #1 SMP PREEMPT Mon Nov 30 00:11:03 UTC
2015 aarch64 GNU/Linux

-----

$ apt-cache show gcc-4.9
Package: gcc-4.9
Version: 4.9.2-10
Installed-Size: 13703
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: arm64
Replaces: gccgo-4.9 (<< 4.9.2-10)
Provides: c-compiler
Depends: cpp-4.9 (= 4.9.2-10), gcc-4.9-base (= 4.9.2-10), binutils (>=
2.25), libgcc-4.9-dev (= 4.9.2-10), libc6 (>= 2.17), libcloog-isl4 (>=
0.17), libgmp10 (>= 2:5.0.1~), libisl10 (>= 0.10), libmpc3, libmpfr4
(>= 3.1.2), zlib1g (>= 1:1.1.4)
Recommends: libc6-dev (>= 2.13-5)
Suggests: gcc-4.9-doc (>= 4.9), gcc-4.9-locales (>= 4.9), libgcc1-dbg
(>= 1:4.9.2-10), libgomp1-dbg (>= 4.9.2-10), libitm1-dbg (>=
4.9.2-10), libatomic1-dbg (>= 4.9.2-10), libasan1-dbg (>= 4.9.2-10),
liblsan0-dbg (>= 4.9.2-10), libtsan0-dbg (>= 4.9.2-10), libubsan0-dbg
(>= 4.9.2-10), libcilkrts5-dbg (>= 4.9.2-10), libquadmath-dbg (>=
4.9.2-10)
Description-en: GNU C compiler
 This is the GNU C compiler, a fairly portable optimizing compiler for C.
Description-md5: 394374e688b1afb3af5f419895d29698
Homepage: http://gcc.gnu.org/
Section: devel
Priority: optional
Filename: pool/main/g/gcc-4.9/gcc-4.9_4.9.2-10_arm64.deb
Size: 4148946
MD5sum: d14d2ab1869bf1bf7e33b75b30953f22
SHA1: a1cd98d5af9b3259414cf01f9a4b8494c0a23b4a
SHA256: f3c18034483a4e6289b233dcb97547c2ab73862c40b30d03da81cb226fdb8d79

-----

$ cat /proc/cpuinfo
Processor    : AArch64 Processor rev 3 (aarch64)
processor    : 0
processor    : 1
processor    : 2
processor    : 3
processor    : 4
processor    : 5
processor    : 6
processor    : 7
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: AArch64
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 3

Hardware    : HiKey Development Board


Reply to: