Hi all,
This patch adds the intrinsics support for the vrnd intrinsics that are
implemented by the vrint instructions.
The .ml scripts contain the new information and should used to regenerate
the arm_neon.h header file, tests and documentation.
In particular:
* config/arm/arm_neon.h should be regenerated using config/arm/neon-gen.ml.
* doc/arm-neon-intrinsics.texi should be regenerated using
config/arm/neon-docgen.ml.
* The tests in testsuite/gcc.target/arm/neon/ should be generated using
config/arm/neon-testgen.ml.
All three of these scripts should be linked against the compiled neon.ml
file i.e:
$ ocamlc -c neon.ml
$ ocamlc -o neon-gen neon.cmo neon-gen.ml
The following intrinsics are defined:
vrnd_f32 (float32x2_t a) (generating a vrintz instruction)
vrndq_f32 (float32x4_t a) (generating a vrintz instruction)
vrnda_f32 (float32x2_t a) (generating a vrinta instruction)
vrndqa_f32 (float32x4_t a) (generating a vrinta instruction)
vrndm_f32 (float32x2_t a) (generating a vrintm instruction)
vrndqm_f32 (float32x4_t a) (generating a vrintm instruction)
vrndn_f32 (float32x2_t a) (generating a vrintn instruction)
vrndqn_f32 (float32x4_t a) (generating a vrintn instruction)
vrndp_f32 (float32x2_t a) (generating a vrintp instruction)
vrndqp_f32 (float32x4_t a) (generating a vrintp instruction)
Note that AArch32 NEON does not support double precision floats, so we don't
have _f64 versions.
Tested on arm-none-eabi. New tests pass, no regressions (once the effective
target checks patch is added).
Ok for trunk?