Look at the arm and aarch64 implementations of these functions in glibc.  

/Marcus 

Sent from my iPhone

> On 30 Jan 2014, at 06:34, Kugan <kugan.vivekanandara...@linaro.org> wrote:
> 
> I had a look at the missing target hook TARGET_ATOMIC_ASSIGN_EXPAND_FENV
> to fix the C11 memory model testcase in regressions in trunk.
> 
> I looked at the x86 implementation of this target hooks and x86 has
> instructions (FNSTENV,FLDENV,FNSTSW,FNCLEX) for feholdexcept,
> feclearexcept and feupdateenv. Does ARM has something similar? Any
> pointers/links I can refer to.
> 
> Please see the gcc internal documentation for the target hook below.
> 
> — Target Hook: void TARGET_ATOMIC_ASSIGN_EXPAND_FENV (tree *hold, tree
> *clear, tree *update)
> 
>    ISO C11 requires atomic compound assignments that may raise
> floating-point exceptions to raise exceptions corresponding to the
> arithmetic operation whose result was successfully stored in a
> compare-and-exchange sequence. This requires code equivalent to calls to
> feholdexcept, feclearexcept and feupdateenv to be generated at
> appropriate points in the compare-and-exchange sequence. This hook
> should set *hold to an expression equivalent to the call to
> feholdexcept, *clear to an expression equivalent to the call to
> feclearexcept and *update to an expression equivalent to the call to
> feupdateenv. The three expressions are NULL_TREE on entry to the hook
> and may be left as NULL_TREE if no code is required in a particular
> place. The default implementation leaves all three expressions as
> NULL_TREE. The __atomic_feraiseexcept function from libatomic may be of
> use as part of the code generated in *update.
> 
> 
> Thanks,
> Kugan
> 
> _______________________________________________
> linaro-toolchain mailing list
> linaro-toolchain@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-toolchain

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to