Fix bug 64893: ICE with vget_lane_u32 with C++ front-end
authorAndrew Pinski <apinski@cavium.com>
Wed, 11 Feb 2015 10:18:45 +0000 (10:18 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Wed, 11 Feb 2015 10:18:45 +0000 (02:18 -0800)
commit9c4f25cc11ab1b3a4d73a4db3905ec079d9d122a
tree1e52b07a173878327939b9215ab71bb326c4e6bc
parent386f7caea73f0d35ed0f7a8ae6e5d52740ab801e
Fix bug 64893: ICE with vget_lane_u32 with C++ front-end

2015-02-11  Andrew Pinski  <apinski@cavium.com>

PR target/64893
* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
Change the first argument type to size_type_node and add another
size_type_node.
(aarch64_simd_expand_builtin): Handle the new argument to
AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
print an out when the first two arguments are not
nonzero integer constants.
* config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.

2015-02-11  Andrew Pinski  <apinski@cavium.com>

PR target/64893
* c-c++-common/torture/aarch64-vect-lane-1.c: New testcase.
* c-c++-common/torture/aarch64-vect-lane-2.c: New testcase.

From-SVN: r220610
gcc/ChangeLog
gcc/config/aarch64/aarch64-builtins.c
gcc/config/aarch64/arm_neon.h
gcc/testsuite/ChangeLog