Support for using the half-precision floating point operations added by the ARMv8.2-A FP16 extension is based on the macros and intrinsics added to the ACLE for the extension. This patch adds executable tests for the ACLE Adv.SIMD (NEON) intrinsics to the advsimd-intrinsics testsuite. The tests were written by Jiong Wang. Tested the series for arm-none-linux-gnueabihf with native bootstrap and make check and for arm-none-eabi and armeb-none-eabi with make check on an ARMv8.2-A emulator. Also tested for aarch64-none-elf with the advsimd-intrinsics testsuite using an ARMv8.2-A emulator. Ok for trunk? Matthew testsuite/ 2016-05-17 Jiong Wang Matthew Wahab * gcc.target/aarch64/advsimd-intrinsics/vabd_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vabs_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vadd_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcage_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcagt_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcale_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcalt_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vceq_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vceqz_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcge_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcgez_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcgt_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcgtz_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcle_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vclez_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vclt_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcltz_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16_s16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16_u16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvt_n_f16_s16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvt_n_f16_u16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvt_n_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvt_n_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvt_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvt_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvta_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvta_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtm_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtm_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtp_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtp_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vfma_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vfms_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmax_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmaxnm_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmin_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vminnm_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmul_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmul_lane_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmul_n_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vneg_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vpadd_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vpmax_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vpmin_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrecpe_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrecps_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrnd_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrnda_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndm_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndn_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndp_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndx_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrsqrts_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vsub_f16_1.c: New.