On 11/29/12 14:27, Kyrylo Tkachov wrote:
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?
Please add 2012 as a copyright year for arm_neon.h in the generator program.
When I regenerated the documents, it did look like there were more
changes in arm-neon-intrinsics.texi but my suspicion is this is because
the document hasn't been regenerated in some time. The main change here
is the order in which some of the intrinsics are listed which has
changed over time.
Ok with that change.
regards,
Ramana