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] |
Forgot to attach the patch :) On Wed, Apr 18, 2012 at 1:34 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote: > Hello guys, > Since there is no more objections to my RFC, started here [1], > I've implemented rest __atomic builtins in the same way. > It corresponds to Spec, which can be found here [2]. > > Patch attached. > > ChangeLog entry: > 2012-04-18 ?Kirill Yukhin ?<kirill.yukhin@intel.com> > > ? ? ? ?* builtins.c (get_memmodel): Remove check of upper bound. > ? ? ? ?(expand_builtin_atomic_compare_exchange): Mask memmodel values. > ? ? ? ?* config/i386/cpuid.h (bit_HLE): New. > ? ? ? ?* config/i386/driver-i386.c (host_detect_local_cpu): Detect > ? ? ? ?HLE support. > ? ? ? ?* config/i386/i386-protos.h (ix86_generate_hle_prefix): New. > ? ? ? ?* config/i386/i386-c.c (ix86_target_macros_internal): Set > ? ? ? ?HLE defines. > ? ? ? ?(ix86_target_string)<-mhle>: New. > ? ? ? ?(ix86_option_override_internal)<PTA_HLE>: Ditto. > ? ? ? ?(ix86_valid_target_attribute_inner_p)<OPT_mhle>: Ditto. > ? ? ? ?* config/i386/i386.c (ix86_target_string)<OPTION_MASK_ISA_HLE>: > ? ? ? ?New. > ? ? ? ?(ix86_valid_target_attribute_inner_p)<OPT_mhle>: Ditto. > ? ? ? ?(ix86_generate_hle_prefix): Ditto. > ? ? ? ?* config/i386/i386.h (OPTION_ISA_HLE): Ditto. > ? ? ? ?(IX86_HLE_ACQUIRE): Ditto. > ? ? ? ?(IX86_HLE_RELEASE): Ditto. > ? ? ? ?* config/i386/i386.h (ix86_generate_hle_prefix): Ditto. > ? ? ? ?* config/i386/i386.opt (mhle): Ditto. > ? ? ? ?* config/i386/sync.md(atomic_compare_and_swap<mode>): Pass > ? ? ? ?success model to instruction emitter. > ? ? ? ?(atomic_fetch_add<mode>): Ditto. > ? ? ? ?(atomic_exchange<mode>): Ditto. > ? ? ? ?(atomic_add<mode>): Ditto. > ? ? ? ?(atomic_sub<mode>): Ditto. > ? ? ? ?(atomic_<code><mode>): Ditto. > ? ? ? ?(atomic_compare_and_swap_single<mode>): Define and use argument > ? ? ? ?for success model. > ? ? ? ?(atomic_compare_and_swap_double<mode>): Ditto. > ? ? ? ?* configure.ac: Check if assembler support HLE prefixies. > ? ? ? ?* configure: Regenerate. > ? ? ? ?* config.in: Ditto. > > testsuite/ChangeLog entry: > 2012-04-18 ?Kirill Yukhin ?<kirill.yukhin@intel.com> > > ? ? ? ?* gcc.target/i386/hle-cmpxchg-acq-1.c: New. > ? ? ? ?* gcc.target/i386/hle-cmpxchg-rel-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-add-acq-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-add-rel-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-and-acq-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-and-rel-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-or-acq-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-or-rel-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-sub-acq-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-sub-rel-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-xadd-acq-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-xadd-rel-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-xchg-acq-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-xchg-rel-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-xor-acq-1.c: Ditto. > ? ? ? ?* gcc.target/i386/hle-xor-rel-1.c: Ditto. > > Bootstrap in prgress > > Is it OK if bootstrap pass? > > [1] - http://gcc.gnu.org/ml/gcc-patches/2012-03/msg00486.html > [2] - http://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronization-in-haswell/ > > Thanks, K
Attachment:
hle-1.gcc.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |