[RFC][AARCH64] TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook

James Greenhalgh james.greenhalgh@arm.com
Wed Jun 17 16:35:00 GMT 2015


On Thu, May 22, 2014 at 03:24:23PM +0100, Marcus Shawcroft wrote:
> On 2 May 2014 13:27, Kugan <kugan.vivekanandarajah@linaro.org> wrote:
> 
> > +2014-05-02  Kugan Vivekanandarajah  <kuganv@linaro.org>
> > +
> > +       * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
> > +       define.
> > +       * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
> > +       New function declaration.
> > +       * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
> > +       AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
> > +       AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
> > +       (aarch64_init_builtins) : Initialize builtins
> > +       __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
> > +       __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
> > +       (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
> > +       __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
> > +       and __builtins_aarch64_set_fpsr.
> > +       (aarch64_atomic_assign_expand_fenv): New function.
> > +       * config/aarch64/aarch64.md (set_fpcr): New pattern.
> > +       (get_fpcr) : Likewise.
> > +       (set_fpsr) : Likewise.
> > +       (get_fpsr) : Likewise.
> > +       (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
> > +        and UNSPECV_SET_FPSR.
> > +       * doc/extend.texi (AARCH64 Built-in Functions) : Document
> > +       __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
> > +       __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
> > +
> 
> OK, thanks Kugan.
> 

I appreciate it is quite late in the day for the 4.9.3 branch, but do
we want to consider this patch for backporting (either now or after
the branch reopens)?

  gcc.dg/atomic/c11-atomic-exec-5.c

is the only interesting test I see failing on a native AArch64 build of
the 4.9.3 release candidate (there is plenty of other FAILures, but they
are guality, scan assembler or missed optimization fails).

Thanks,
James



More information about the Gcc-patches mailing list