This is the mail archive of the
mailing list for the GCC project.
Re: [i386] __builtin_ia32_stmxcsr could be pure
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Marc Glisse <marc dot glisse at inria dot fr>, Richard Guenther <rguenther at suse dot de>
- Date: Wed, 21 Jun 2017 09:43:48 +0200
- Subject: Re: [i386] __builtin_ia32_stmxcsr could be pure
- Authentication-results: sourceware.org; auth=none
> glibc marks fegetround as a pure function. On x86, people tend to use
> _MM_GET_ROUNDING_MODE instead, which could benefit from the same. I think it is safe, but
> a second opinion would be welcome. I could have handled just this builtin, but it seemed better to
> provide def_builtin_pure (like "const" already has) since there should be other builtins that can be
> marked this way (maybe the gathers?).
> Bootstrap+testsuite on x86_64-pc-linux-gnu with default languages.
> 2017-05-29 Marc Glisse <firstname.lastname@example.org>
> * config/i386/i386.c (struct builtin_isa): New field pure_p.
> Reorder for compactness.
> (def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
> (def_builtin_pure, def_builtin_pure2): New functions.
> (ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.
> * gcc.target/i386/getround.c: New file.