This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, alpha]: Add TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook


Hello!

Attached patch implements TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook for
alpha. The implementation is mostly copied from arm/arm.c, where calls
to target builtins are replaced with calls to
__ieee_{get,set}_fp_control function, as defined in OSF/1 ABI.

The patch also includes a small fix to
check_effective_target_fenv_exceptions, where we have to pass IEEE
flags to successfully run the test function. Also, since the testcase
gcc.dg/atomic/c11-atomic-exec-5.c takes a lot of time to finish with
the default iteration count, the patch lowers the number of loops, so
the testcase could finish in time (~30 seconds per invocation).

2014-07-11  Uros Bizjak  <ubizjak@gmail.com>

    * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): New.
    (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.

testsuite/ChangeLog:

2014-07-11  Uros Bizjak  <ubizjak@gmail.com>

    * lib/target-supports.exp (check_effective_target_fenv_exceptions):
    Add IEEE options to compile flags.
    * gcc.dg/atomic/c11-atomic-exec-5.c: Ditto.  Add -mieee-with-inexact
    additional option and lower ITER_COUNT to 100 for alpha*-*-* targets.

Patch was bootstrapped and regression tested on alphaev68-pc-linux-gnu.

OK for mainline and 4.9?

Uros.

Attachment: a.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]