The arm_neon.h intrinsic definitions use a bitmask of flags to
indicate what side-effects the intrinsic might have.  However,
their names are a bit confusing:

- FLAG_AUTO_FP was originally suggested as a way of saying
  "automatically derive FLAG_FP from the mode", i.e. automatically
  decide whether the function might read the FPCR or might raise
  FP exceptions.  The current flag instead suppresses this behaviour.

- FLAG_NONE suggests that the intrinsic has no side-effects,
  but it actually has the suggested meaning of FLAG_AUTO_FP,
  i.e. work out the flags from the mode.

This tripped me up when adding the flags to the vluti intrinsics:
I'd used NONE, but wanted the semantics attached to AUTO_FP.

This series renames some flags in the hope of making this easier
to follow.  I realise it might not seem like stage 3 material,
but I think it is a naming/maintenance bug.

Tested on aarch64-linux-gnu.  I'll commit tomorrow evening if there
are no comments before then, but let me know if you'd like more time.

Richard Sandiford (4):
  aarch64: Rename FLAG_AUTO_FP to FLAG_QUIET
  aarch64: Rename FLAG_NONE to FLAG_DEFAULT
  aarch64: Reintroduce FLAG_AUTO_FP
  aarch64: Mark vluti* intrinsics as QUIET

 gcc/config/aarch64/aarch64-builtins.cc        |  45 +-
 gcc/config/aarch64/aarch64-simd-builtins.def  | 762 +++++++++---------
 .../aarch64/aarch64-simd-pragma-builtins.def  |  24 +-
 3 files changed, 416 insertions(+), 415 deletions(-)

-- 
2.25.1

Reply via email to