Changes in / [533540a:13e8427]


Ignore:
Location:
src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/preemption.c

    r533540a r13e8427  
    161161        void disable_interrupts() {
    162162                with( kernelTLS.preemption_state ) {
    163                         #if GCC_VERSION > 50000
    164163                        static_assert(__atomic_always_lock_free(sizeof(enabled), &enabled), "Must be lock-free");
    165                         #endif
    166164
    167165                        // Set enabled flag to false
     
    192190                        // Check if we need to prempt the thread because an interrupt was missed
    193191                        if( prev == 1 ) {
    194                                 #if GCC_VERSION > 50000
    195192                                static_assert(__atomic_always_lock_free(sizeof(enabled), &enabled), "Must be lock-free");
    196                                 #endif
    197193
    198194                                // Set enabled flag to true
     
    221217                verifyf( prev != 0u, "Incremented from %u\n", prev );                     // If this triggers someone is enabled already enabled interrupts
    222218                if( prev == 1 ) {
    223                         #if GCC_VERSION > 50000
    224219                        static_assert(__atomic_always_lock_free(sizeof(kernelTLS.preemption_state.enabled), &kernelTLS.preemption_state.enabled), "Must be lock-free");
    225                         #endif
    226220                        // Set enabled flag to true
    227221                        // should be atomic to avoid preemption in the middle of the operation.
     
    382376
    383377        // Clear sighandler mask before context switching.
    384         #if GCC_VERSION > 50000
    385378        static_assert( sizeof( sigset_t ) == sizeof( cxt->uc_sigmask ), "Expected cxt->uc_sigmask to be of sigset_t" );
    386         #endif
    387379        if ( pthread_sigmask( SIG_SETMASK, (sigset_t *)&(cxt->uc_sigmask), NULL ) == -1 ) {
    388380                abort( "internal error, sigprocmask" );
  • src/prelude/Makefile.am

    r533540a r13e8427  
    3737# create forward declarations for gcc builtins
    3838gcc-builtins.cf : gcc-builtins.c prototypes.sed
    39         ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E -P $< | sed -r -f prototypes.sed > $@
     39        ${AM_V_GEN}@BACKEND_CC@ -E -P $< | sed -r -f prototypes.sed > $@
    4040
    4141gcc-builtins.c : builtins.def prototypes.awk sync-builtins.cf
    42         ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E prototypes.c | awk -f prototypes.awk > $@
     42        ${AM_V_GEN}@BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@
    4343
    4444builtins.def :
  • src/prelude/Makefile.in

    r533540a r13e8427  
    506506# create forward declarations for gcc builtins
    507507gcc-builtins.cf : gcc-builtins.c prototypes.sed
    508         ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E -P $< | sed -r -f prototypes.sed > $@
     508        ${AM_V_GEN}@BACKEND_CC@ -E -P $< | sed -r -f prototypes.sed > $@
    509509
    510510gcc-builtins.c : builtins.def prototypes.awk sync-builtins.cf
    511         ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E prototypes.c | awk -f prototypes.awk > $@
     511        ${AM_V_GEN}@BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@
    512512
    513513builtins.def :
  • src/prelude/prelude.cf

    r533540a r13e8427  
    458458signed long long int    ?=?( signed long long int &, signed long long int ),    ?=?( volatile signed long long int &, signed long long int );
    459459unsigned long long int  ?=?( unsigned long long int &, unsigned long long int ), ?=?( volatile unsigned long long int &, unsigned long long int );
     460__int128        ?=?( __int128 &, __int128 ),    ?=?( volatile __int128 &, __int128 );
    460461zero_t                  ?=?( zero_t &, zero_t );
    461462one_t                   ?=?( one_t &, one_t );
  • src/prelude/sync-builtins.cf

    r533540a r13e8427  
    77long long int __sync_fetch_and_add(volatile long long int *, long long int,...);
    88long long int __sync_fetch_and_add_8(volatile long long int *, long long int,...);
    9 #if defined(__SIZEOF_INT128__)
    109__int128 __sync_fetch_and_add(volatile __int128 *, __int128,...);
    1110__int128 __sync_fetch_and_add_16(volatile __int128 *, __int128,...);
    12 #endif
    1311
    1412char __sync_fetch_and_sub(volatile char *, char,...);
     
    2018long long int __sync_fetch_and_sub(volatile long long int *, long long int,...);
    2119long long int __sync_fetch_and_sub_8(volatile long long int *, long long int,...);
    22 #if defined(__SIZEOF_INT128__)
    2320__int128 __sync_fetch_and_sub(volatile __int128 *, __int128,...);
    2421__int128 __sync_fetch_and_sub_16(volatile __int128 *, __int128,...);
    25 #endif
    2622
    2723char __sync_fetch_and_or(volatile char *, char,...);
     
    3329long long int __sync_fetch_and_or(volatile long long int *, long long int,...);
    3430long long int __sync_fetch_and_or_8(volatile long long int *, long long int,...);
    35 #if defined(__SIZEOF_INT128__)
    3631__int128 __sync_fetch_and_or(volatile __int128 *, __int128,...);
    3732__int128 __sync_fetch_and_or_16(volatile __int128 *, __int128,...);
    38 #endif
    3933
    4034char __sync_fetch_and_and(volatile char *, char,...);
     
    4640long long int __sync_fetch_and_and(volatile long long int *, long long int,...);
    4741long long int __sync_fetch_and_and_8(volatile long long int *, long long int,...);
    48 #if defined(__SIZEOF_INT128__)
    4942__int128 __sync_fetch_and_and(volatile __int128 *, __int128,...);
    5043__int128 __sync_fetch_and_and_16(volatile __int128 *, __int128,...);
    51 #endif
    5244
    5345char __sync_fetch_and_xor(volatile char *, char,...);
     
    5951long long int __sync_fetch_and_xor(volatile long long int *, long long int,...);
    6052long long int __sync_fetch_and_xor_8(volatile long long int *, long long int,...);
    61 #if defined(__SIZEOF_INT128__)
    6253__int128 __sync_fetch_and_xor(volatile __int128 *, __int128,...);
    6354__int128 __sync_fetch_and_xor_16(volatile __int128 *, __int128,...);
    64 #endif
    6555
    6656char __sync_fetch_and_nand(volatile char *, char,...);
     
    7262long long int __sync_fetch_and_nand(volatile long long int *, long long int,...);
    7363long long int __sync_fetch_and_nand_8(volatile long long int *, long long int,...);
    74 #if defined(__SIZEOF_INT128__)
    7564__int128 __sync_fetch_and_nand(volatile __int128 *, __int128,...);
    7665__int128 __sync_fetch_and_nand_16(volatile __int128 *, __int128,...);
    77 #endif
    7866
    7967char __sync_add_and_fetch(volatile char *, char,...);
     
    8573long long int __sync_add_and_fetch(volatile long long int *, long long int,...);
    8674long long int __sync_add_and_fetch_8(volatile long long int *, long long int,...);
    87 #if defined(__SIZEOF_INT128__)
    8875__int128 __sync_add_and_fetch(volatile __int128 *, __int128,...);
    8976__int128 __sync_add_and_fetch_16(volatile __int128 *, __int128,...);
    90 #endif
    9177
    9278char __sync_sub_and_fetch(volatile char *, char,...);
     
    9884long long int __sync_sub_and_fetch(volatile long long int *, long long int,...);
    9985long long int __sync_sub_and_fetch_8(volatile long long int *, long long int,...);
    100 #if defined(__SIZEOF_INT128__)
    10186__int128 __sync_sub_and_fetch(volatile __int128 *, __int128,...);
    10287__int128 __sync_sub_and_fetch_16(volatile __int128 *, __int128,...);
    103 #endif
    10488
    10589char __sync_or_and_fetch(volatile char *, char,...);
     
    11195long long int __sync_or_and_fetch(volatile long long int *, long long int,...);
    11296long long int __sync_or_and_fetch_8(volatile long long int *, long long int,...);
    113 #if defined(__SIZEOF_INT128__)
    11497__int128 __sync_or_and_fetch(volatile __int128 *, __int128,...);
    11598__int128 __sync_or_and_fetch_16(volatile __int128 *, __int128,...);
    116 #endif
    11799
    118100char __sync_and_and_fetch(volatile char *, char,...);
     
    124106long long int __sync_and_and_fetch(volatile long long int *, long long int,...);
    125107long long int __sync_and_and_fetch_8(volatile long long int *, long long int,...);
    126 #if defined(__SIZEOF_INT128__)
    127108__int128 __sync_and_and_fetch(volatile __int128 *, __int128,...);
    128109__int128 __sync_and_and_fetch_16(volatile __int128 *, __int128,...);
    129 #endif
    130110
    131111char __sync_xor_and_fetch(volatile char *, char,...);
     
    137117long long int __sync_xor_and_fetch(volatile long long int *, long long int,...);
    138118long long int __sync_xor_and_fetch_8(volatile long long int *, long long int,...);
    139 #if defined(__SIZEOF_INT128__)
    140119__int128 __sync_xor_and_fetch(volatile __int128 *, __int128,...);
    141120__int128 __sync_xor_and_fetch_16(volatile __int128 *, __int128,...);
    142 #endif
    143121
    144122char __sync_nand_and_fetch(volatile char *, char,...);
     
    150128long long int __sync_nand_and_fetch(volatile long long int *, long long int,...);
    151129long long int __sync_nand_and_fetch_8(volatile long long int *, long long int,...);
    152 #if defined(__SIZEOF_INT128__)
    153130__int128 __sync_nand_and_fetch(volatile __int128 *, __int128,...);
    154131__int128 __sync_nand_and_fetch_16(volatile __int128 *, __int128,...);
    155 #endif
    156132
    157133_Bool __sync_bool_compare_and_swap(volatile char *, char, char,...);
     
    163139_Bool __sync_bool_compare_and_swap(volatile long long int *, long long int, long long int,...);
    164140_Bool __sync_bool_compare_and_swap_8(volatile long long int *, long long int, long long int,...);
    165 #if defined(__SIZEOF_INT128__)
    166141_Bool __sync_bool_compare_and_swap(volatile __int128 *, __int128, __int128,...);
    167142_Bool __sync_bool_compare_and_swap_16(volatile __int128 *, __int128, __int128,...);
    168 #endif
    169143
    170144char __sync_val_compare_and_swap(volatile char *, char, char,...);
     
    176150long long int __sync_val_compare_and_swap(volatile long long int *, long long int, long long int,...);
    177151long long int __sync_val_compare_and_swap_8(volatile long long int *, long long int, long long int,...);
    178 #if defined(__SIZEOF_INT128__)
    179152__int128 __sync_val_compare_and_swap(volatile __int128 *, __int128, __int128,...);
    180153__int128 __sync_val_compare_and_swap_16(volatile __int128 *, __int128, __int128,...);
    181 #endif
    182154
    183155char __sync_lock_test_and_set(volatile char *, char,...);
     
    189161long long int __sync_lock_test_and_set(volatile long long int *, long long int,...);
    190162long long int __sync_lock_test_and_set_8(volatile long long int *, long long int,...);
    191 #if defined(__SIZEOF_INT128__)
    192163__int128 __sync_lock_test_and_set(volatile __int128 *, __int128,...);
    193164__int128 __sync_lock_test_and_set_16(volatile __int128 *, __int128,...);
    194 #endif
    195165
    196166void __sync_lock_release(volatile char *,...);
     
    202172void __sync_lock_release(volatile long long int *,...);
    203173void __sync_lock_release_8(volatile long long int *,...);
    204 #if defined(__SIZEOF_INT128__)
    205174void __sync_lock_release(volatile __int128 *,...);
    206175void __sync_lock_release_16(volatile __int128 *,...);
    207 #endif
    208176
    209177void __sync_synchronize();
     
    217185_Bool __atomic_test_and_set(volatile int *, int);
    218186_Bool __atomic_test_and_set(volatile long long int *, int);
    219 #if defined(__SIZEOF_INT128__)
    220187_Bool __atomic_test_and_set(volatile __int128 *, int);
    221 #endif
    222 
    223188void __atomic_clear(volatile _Bool *, int);
    224189void __atomic_clear(volatile char *, int);
     
    226191void __atomic_clear(volatile int *, int);
    227192void __atomic_clear(volatile long long int *, int);
    228 #if defined(__SIZEOF_INT128__)
    229193void __atomic_clear(volatile __int128 *, int);
    230 #endif
    231194
    232195char __atomic_exchange_n(volatile char *, volatile char *, int);
     
    242205long long int __atomic_exchange_8(volatile long long int *, long long int, int);
    243206void __atomic_exchange(volatile long long int *, volatile long long int *, volatile long long int *, int);
    244 #if defined(__SIZEOF_INT128__)
    245207__int128 __atomic_exchange_n(volatile __int128 *, volatile __int128 *, int);
    246208__int128 __atomic_exchange_16(volatile __int128 *, __int128, int);
    247209void __atomic_exchange(volatile __int128 *, volatile __int128 *, volatile __int128 *, int);
    248 #endif
    249210
    250211char __atomic_load_n(const volatile char *, int);
     
    260221long long int __atomic_load_8(const volatile long long int *, int);
    261222void __atomic_load(const volatile long long int *, volatile long long int *, int);
    262 #if defined(__SIZEOF_INT128__)
    263223__int128 __atomic_load_n(const volatile __int128 *, int);
    264224__int128 __atomic_load_16(const volatile __int128 *, int);
    265225void __atomic_load(const volatile __int128 *, volatile __int128 *, int);
    266 #endif
    267226
    268227_Bool __atomic_compare_exchange_n(volatile char *, char *, char, _Bool, int, int);
     
    278237_Bool __atomic_compare_exchange_8(volatile long long int *, long long int *, long long int, _Bool, int, int);
    279238_Bool __atomic_compare_exchange  (volatile long long int *, long long int *, long long int *, _Bool, int, int);
    280 #if defined(__SIZEOF_INT128__)
    281239_Bool __atomic_compare_exchange_n (volatile __int128 *, __int128 *, __int128, _Bool, int, int);
    282240_Bool __atomic_compare_exchange_16(volatile __int128 *, __int128 *, __int128, _Bool, int, int);
    283241_Bool __atomic_compare_exchange   (volatile __int128 *, __int128 *, __int128 *, _Bool, int, int);
    284 #endif
    285242
    286243void __atomic_store_n(volatile _Bool *, _Bool, int);
     
    299256void __atomic_store_8(volatile long long int *, long long int, int);
    300257void __atomic_store(volatile long long int *, long long int *, int);
    301 #if defined(__SIZEOF_INT128__)
    302258void __atomic_store_n(volatile __int128 *, __int128, int);
    303259void __atomic_store_16(volatile __int128 *, __int128, int);
    304260void __atomic_store(volatile __int128 *, __int128 *, int);
    305 #endif
    306261
    307262char __atomic_add_fetch  (volatile char *, char, int);
     
    313268long long int __atomic_add_fetch  (volatile long long int *, long long int, int);
    314269long long int __atomic_add_fetch_8(volatile long long int *, long long int, int);
    315 #if defined(__SIZEOF_INT128__)
    316270__int128 __atomic_add_fetch   (volatile __int128 *, __int128, int);
    317271__int128 __atomic_add_fetch_16(volatile __int128 *, __int128, int);
    318 #endif
    319272
    320273char __atomic_sub_fetch  (volatile char *, char, int);
     
    326279long long int __atomic_sub_fetch  (volatile long long int *, long long int, int);
    327280long long int __atomic_sub_fetch_8(volatile long long int *, long long int, int);
    328 #if defined(__SIZEOF_INT128__)
    329281__int128 __atomic_sub_fetch   (volatile __int128 *, __int128, int);
    330282__int128 __atomic_sub_fetch_16(volatile __int128 *, __int128, int);
    331 #endif
    332283
    333284char __atomic_and_fetch  (volatile char *, char, int);
     
    339290long long int __atomic_and_fetch  (volatile long long int *, long long int, int);
    340291long long int __atomic_and_fetch_8(volatile long long int *, long long int, int);
    341 #if defined(__SIZEOF_INT128__)
    342292__int128 __atomic_and_fetch   (volatile __int128 *, __int128, int);
    343293__int128 __atomic_and_fetch_16(volatile __int128 *, __int128, int);
    344 #endif
    345294
    346295char __atomic_nand_fetch  (volatile char *, char, int);
     
    352301long long int __atomic_nand_fetch  (volatile long long int *, long long int, int);
    353302long long int __atomic_nand_fetch_8(volatile long long int *, long long int, int);
    354 #if defined(__SIZEOF_INT128__)
    355303__int128 __atomic_nand_fetch   (volatile __int128 *, __int128, int);
    356304__int128 __atomic_nand_fetch_16(volatile __int128 *, __int128, int);
    357 #endif
    358305
    359306char __atomic_xor_fetch  (volatile char *, char, int);
     
    365312long long int __atomic_xor_fetch  (volatile long long int *, long long int, int);
    366313long long int __atomic_xor_fetch_8(volatile long long int *, long long int, int);
    367 #if defined(__SIZEOF_INT128__)
    368314__int128 __atomic_xor_fetch   (volatile __int128 *, __int128, int);
    369315__int128 __atomic_xor_fetch_16(volatile __int128 *, __int128, int);
    370 #endif
    371316
    372317char __atomic_or_fetch  (volatile char *, char, int);
     
    378323long long int __atomic_or_fetch  (volatile long long int *, long long int, int);
    379324long long int __atomic_or_fetch_8(volatile long long int *, long long int, int);
    380 #if defined(__SIZEOF_INT128__)
    381325__int128 __atomic_or_fetch   (volatile __int128 *, __int128, int);
    382326__int128 __atomic_or_fetch_16(volatile __int128 *, __int128, int);
    383 #endif
    384327
    385328char __atomic_fetch_add  (volatile char *, char, int);
     
    391334long long int __atomic_fetch_add  (volatile long long int *, long long int, int);
    392335long long int __atomic_fetch_add_8(volatile long long int *, long long int, int);
    393 #if defined(__SIZEOF_INT128__)
    394336__int128 __atomic_fetch_add   (volatile __int128 *, __int128, int);
    395337__int128 __atomic_fetch_add_16(volatile __int128 *, __int128, int);
    396 #endif
    397338
    398339char __atomic_fetch_sub  (volatile char *, char, int);
     
    404345long long int __atomic_fetch_sub  (volatile long long int *, long long int, int);
    405346long long int __atomic_fetch_sub_8(volatile long long int *, long long int, int);
    406 #if defined(__SIZEOF_INT128__)
    407347__int128 __atomic_fetch_sub   (volatile __int128 *, __int128, int);
    408348__int128 __atomic_fetch_sub_16(volatile __int128 *, __int128, int);
    409 #endif
    410349
    411350char __atomic_fetch_and  (volatile char *, char, int);
     
    417356long long int __atomic_fetch_and  (volatile long long int *, long long int, int);
    418357long long int __atomic_fetch_and_8(volatile long long int *, long long int, int);
    419 #if defined(__SIZEOF_INT128__)
    420358__int128 __atomic_fetch_and   (volatile __int128 *, __int128, int);
    421359__int128 __atomic_fetch_and_16(volatile __int128 *, __int128, int);
    422 #endif
    423360
    424361char __atomic_fetch_nand  (volatile char *, char, int);
     
    430367long long int __atomic_fetch_nand  (volatile long long int *, long long int, int);
    431368long long int __atomic_fetch_nand_8(volatile long long int *, long long int, int);
    432 #if defined(__SIZEOF_INT128__)
    433369__int128 __atomic_fetch_nand   (volatile __int128 *, __int128, int);
    434370__int128 __atomic_fetch_nand_16(volatile __int128 *, __int128, int);
    435 #endif
    436371
    437372char __atomic_fetch_xor  (volatile char *, char, int);
     
    443378long long int __atomic_fetch_xor  (volatile long long int *, long long int, int);
    444379long long int __atomic_fetch_xor_8(volatile long long int *, long long int, int);
    445 #if defined(__SIZEOF_INT128__)
    446380__int128 __atomic_fetch_xor   (volatile __int128 *, __int128, int);
    447381__int128 __atomic_fetch_xor_16(volatile __int128 *, __int128, int);
    448 #endif
    449382
    450383char __atomic_fetch_or  (volatile char *, char, int);
     
    456389long long int __atomic_fetch_or  (volatile long long int *, long long int, int);
    457390long long int __atomic_fetch_or_8(volatile long long int *, long long int, int);
    458 #if defined(__SIZEOF_INT128__)
    459391__int128 __atomic_fetch_or   (volatile __int128 *, __int128, int);
    460392__int128 __atomic_fetch_or_16(volatile __int128 *, __int128, int);
    461 #endif
    462393
    463394_Bool __atomic_always_lock_free(unsigned long, const volatile void *);
  • src/tests/builtins/sync.c

    r533540a r13e8427  
    88        volatile int * vp4 = 0; int * rp4 = 0; int v4 = 0;
    99        volatile long long int * vp8 = 0; long long int * rp8 = 0; long long int v8 = 0;
    10         #if defined(__SIZEOF_INT128__)
    1110        volatile __int128 * vp16 = 0; __int128 * rp16 = 0; __int128 v16 = 0;
    12         #endif
    1311
    1412        { char ret; ret = __sync_fetch_and_add(vp1, v1); }
     
    2018        { long long int ret; ret = __sync_fetch_and_add(vp8, v8); }
    2119        { long long int ret; ret = __sync_fetch_and_add_8(vp8, v8); }
    22         #if defined(__SIZEOF_INT128__)
    2320        { __int128 ret; ret = __sync_fetch_and_add(vp16, v16); }
    2421        { __int128 ret; ret = __sync_fetch_and_add_16(vp16, v16); }
    25         #endif
    2622
    2723        { char ret; ret = __sync_fetch_and_sub(vp1, v1); }
     
    3329        { long long int ret; ret = __sync_fetch_and_sub(vp8, v8); }
    3430        { long long int ret; ret = __sync_fetch_and_sub_8(vp8, v8); }
    35         #if defined(__SIZEOF_INT128__)
    3631        { __int128 ret; ret = __sync_fetch_and_sub(vp16, v16); }
    3732        { __int128 ret; ret = __sync_fetch_and_sub_16(vp16, v16); }
    38         #endif
    3933
    4034        { char ret; ret = __sync_fetch_and_or(vp1, v1); }
     
    4640        { long long int ret; ret = __sync_fetch_and_or(vp8, v8); }
    4741        { long long int ret; ret = __sync_fetch_and_or_8(vp8, v8); }
    48         #if defined(__SIZEOF_INT128__)
    4942        { __int128 ret; ret = __sync_fetch_and_or(vp16, v16); }
    5043        { __int128 ret; ret = __sync_fetch_and_or_16(vp16, v16); }
    51         #endif
    5244
    5345        { char ret; ret = __sync_fetch_and_and(vp1, v1); }
     
    5951        { long long int ret; ret = __sync_fetch_and_and(vp8, v8); }
    6052        { long long int ret; ret = __sync_fetch_and_and_8(vp8, v8); }
    61         #if defined(__SIZEOF_INT128__)
    6253        { __int128 ret; ret = __sync_fetch_and_and(vp16, v16); }
    6354        { __int128 ret; ret = __sync_fetch_and_and_16(vp16, v16); }
    64         #endif
    6555
    6656        { char ret; ret = __sync_fetch_and_xor(vp1, v1); }
     
    7262        { long long int ret; ret = __sync_fetch_and_xor(vp8, v8); }
    7363        { long long int ret; ret = __sync_fetch_and_xor_8(vp8, v8); }
    74         #if defined(__SIZEOF_INT128__)
    7564        { __int128 ret; ret = __sync_fetch_and_xor(vp16, v16); }
    7665        { __int128 ret; ret = __sync_fetch_and_xor_16(vp16, v16); }
    77         #endif
    7866
    7967        { char ret; ret = __sync_fetch_and_nand(vp1, v1); }
     
    8573        { long long int ret; ret = __sync_fetch_and_nand(vp8, v8); }
    8674        { long long int ret; ret = __sync_fetch_and_nand_8(vp8, v8); }
    87         #if defined(__SIZEOF_INT128__)
    8875        { __int128 ret; ret = __sync_fetch_and_nand(vp16, v16); }
    8976        { __int128 ret; ret = __sync_fetch_and_nand_16(vp16, v16); }
    90         #endif
    9177
    9278        { char ret; ret = __sync_add_and_fetch(vp1, v1); }
     
    9884        { long long int ret; ret = __sync_add_and_fetch(vp8, v8); }
    9985        { long long int ret; ret = __sync_add_and_fetch_8(vp8, v8); }
    100         #if defined(__SIZEOF_INT128__)
    10186        { __int128 ret; ret = __sync_add_and_fetch(vp16, v16); }
    10287        { __int128 ret; ret = __sync_add_and_fetch_16(vp16, v16); }
    103         #endif
    10488
    10589        { char ret; ret = __sync_sub_and_fetch(vp1, v1); }
     
    11195        { long long int ret; ret = __sync_sub_and_fetch(vp8, v8); }
    11296        { long long int ret; ret = __sync_sub_and_fetch_8(vp8, v8); }
    113         #if defined(__SIZEOF_INT128__)
    11497        { __int128 ret; ret = __sync_sub_and_fetch(vp16, v16); }
    11598        { __int128 ret; ret = __sync_sub_and_fetch_16(vp16, v16); }
    116         #endif
    11799
    118100        { char ret; ret = __sync_or_and_fetch(vp1, v1); }
     
    124106        { long long int ret; ret = __sync_or_and_fetch(vp8, v8); }
    125107        { long long int ret; ret = __sync_or_and_fetch_8(vp8, v8); }
    126         #if defined(__SIZEOF_INT128__)
    127108        { __int128 ret; ret = __sync_or_and_fetch(vp16, v16); }
    128109        { __int128 ret; ret = __sync_or_and_fetch_16(vp16, v16); }
    129         #endif
    130110
    131111        { char ret; ret = __sync_and_and_fetch(vp1, v1); }
     
    137117        { long long int ret; ret = __sync_and_and_fetch(vp8, v8); }
    138118        { long long int ret; ret = __sync_and_and_fetch_8(vp8, v8); }
    139         #if defined(__SIZEOF_INT128__)
    140119        { __int128 ret; ret = __sync_and_and_fetch(vp16, v16); }
    141120        { __int128 ret; ret = __sync_and_and_fetch_16(vp16, v16); }
    142         #endif
    143121
    144122        { char ret; ret = __sync_xor_and_fetch(vp1, v1); }
     
    150128        { long long int ret; ret = __sync_xor_and_fetch(vp8, v8); }
    151129        { long long int ret; ret = __sync_xor_and_fetch_8(vp8, v8); }
    152         #if defined(__SIZEOF_INT128__)
    153130        { __int128 ret; ret = __sync_xor_and_fetch(vp16, v16); }
    154131        { __int128 ret; ret = __sync_xor_and_fetch_16(vp16, v16); }
    155         #endif
    156132
    157133        { char ret; ret = __sync_nand_and_fetch(vp1, v1); }
     
    163139        { long long int ret; ret = __sync_nand_and_fetch(vp8, v8); }
    164140        { long long int ret; ret = __sync_nand_and_fetch_8(vp8, v8); }
    165         #if defined(__SIZEOF_INT128__)
    166141        { __int128 ret; ret = __sync_nand_and_fetch(vp16, v16); }
    167142        { __int128 ret; ret = __sync_nand_and_fetch_16(vp16, v16); }
    168         #endif
    169143
    170144        { _Bool ret; ret = __sync_bool_compare_and_swap(vp1, v1, v1); }
     
    176150        { _Bool ret; ret = __sync_bool_compare_and_swap(vp8, v8, v8); }
    177151        { _Bool ret; ret = __sync_bool_compare_and_swap_8(vp8, v8, v8); }
    178         #if defined(__SIZEOF_INT128__)
    179152        { _Bool ret; ret = __sync_bool_compare_and_swap(vp16, v16, v16); }
    180153        { _Bool ret; ret = __sync_bool_compare_and_swap_16(vp16, v16,v16); }
    181         #endif
    182154
    183155        { char ret; ret = __sync_val_compare_and_swap(vp1, v1, v1); }
     
    189161        { long long int ret; ret = __sync_val_compare_and_swap(vp8, v8, v8); }
    190162        { long long int ret; ret = __sync_val_compare_and_swap_8(vp8, v8, v8); }
    191         #if defined(__SIZEOF_INT128__)
    192163        { __int128 ret; ret = __sync_val_compare_and_swap(vp16, v16, v16); }
    193164        { __int128 ret; ret = __sync_val_compare_and_swap_16(vp16, v16,v16); }
    194         #endif
    195165
    196166        { char ret; ret = __sync_lock_test_and_set(vp1, v1); }
     
    202172        { long long int ret; ret = __sync_lock_test_and_set(vp8, v8); }
    203173        { long long int ret; ret = __sync_lock_test_and_set_8(vp8, v8); }
    204         #if defined(__SIZEOF_INT128__)
    205174        { __int128 ret; ret = __sync_lock_test_and_set(vp16, v16); }
    206175        { __int128 ret; ret = __sync_lock_test_and_set_16(vp16, v16); }
    207         #endif
    208176
    209177        { __sync_lock_release(vp1); }
     
    215183        { __sync_lock_release(vp8); }
    216184        { __sync_lock_release_8(vp8); }
    217         #if defined(__SIZEOF_INT128__)
    218185        { __sync_lock_release(vp16); }
    219186        { __sync_lock_release_16(vp16); }
    220         #endif
    221187
    222188        { __sync_synchronize(); }
     
    242208        { long long int ret; ret = __atomic_exchange_8(vp8, v8, __ATOMIC_SEQ_CST); }
    243209        { long long int ret; __atomic_exchange(vp8, &v8, &ret, __ATOMIC_SEQ_CST); }
    244         #if defined(__SIZEOF_INT128__)
    245210        { __int128 ret; ret = __atomic_exchange_n(vp16, &v16, __ATOMIC_SEQ_CST); }
    246211        { __int128 ret; ret = __atomic_exchange_16(vp16, v16, __ATOMIC_SEQ_CST); }
    247212        { __int128 ret; __atomic_exchange(vp16, &v16, &ret, __ATOMIC_SEQ_CST); }
    248         #endif
    249213
    250214        { char ret; ret = __atomic_load_n(vp1, __ATOMIC_SEQ_CST); }
     
    260224        { long long int ret; ret = __atomic_load_8(vp8, __ATOMIC_SEQ_CST); }
    261225        { long long int ret; __atomic_load(vp8, &ret, __ATOMIC_SEQ_CST); }
    262         #if defined(__SIZEOF_INT128__)
    263226        { __int128 ret; ret = __atomic_load_n(vp16, __ATOMIC_SEQ_CST); }
    264227        { __int128 ret; ret = __atomic_load_16(vp16, __ATOMIC_SEQ_CST); }
    265228        { __int128 ret; __atomic_load(vp16, &ret, __ATOMIC_SEQ_CST); }
    266         #endif
    267229
    268230        { _Bool ret; ret = __atomic_compare_exchange_n(vp1, rp1, v1, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
     
    278240        { _Bool ret; ret = __atomic_compare_exchange_8(vp8, rp8, v8, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
    279241        { _Bool ret; ret = __atomic_compare_exchange(vp8, rp8, &v8, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
    280         #if defined(__SIZEOF_INT128__)
    281242        { _Bool ret; ret = __atomic_compare_exchange_n(vp16, rp16, v16, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
    282243        { _Bool ret; ret = __atomic_compare_exchange_16(vp16, rp16, v16, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
    283244        { _Bool ret; ret = __atomic_compare_exchange(vp16, rp16, &v16, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); }
    284         #endif
    285245
    286246        { __atomic_store_n(vp1, v1, __ATOMIC_SEQ_CST); }
     
    296256        { __atomic_store_8(vp8, v8, __ATOMIC_SEQ_CST); }
    297257        { __atomic_store(vp8, &v8, __ATOMIC_SEQ_CST); }
    298         #if defined(__SIZEOF_INT128__)
    299258        { __atomic_store_n(vp16, v16, __ATOMIC_SEQ_CST); }
    300259        { __atomic_store_16(vp16, v16, __ATOMIC_SEQ_CST); }
    301260        { __atomic_store(vp16, &v16, __ATOMIC_SEQ_CST); }
    302         #endif
    303261
    304262        { char ret; ret = __atomic_add_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
     
    310268        { long long int ret; ret = __atomic_add_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
    311269        { long long int ret; ret = __atomic_add_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
    312         #if defined(__SIZEOF_INT128__)
    313270        { __int128 ret; ret = __atomic_add_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
    314271        { __int128 ret; ret = __atomic_add_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
    315         #endif
    316272
    317273        { char ret; ret = __atomic_sub_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
     
    323279        { long long int ret; ret = __atomic_sub_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
    324280        { long long int ret; ret = __atomic_sub_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
    325         #if defined(__SIZEOF_INT128__)
    326281        { __int128 ret; ret = __atomic_sub_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
    327282        { __int128 ret; ret = __atomic_sub_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
    328         #endif
    329283
    330284        { char ret; ret = __atomic_and_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
     
    336290        { long long int ret; ret = __atomic_and_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
    337291        { long long int ret; ret = __atomic_and_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
    338         #if defined(__SIZEOF_INT128__)
    339292        { __int128 ret; ret = __atomic_and_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
    340293        { __int128 ret; ret = __atomic_and_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
    341         #endif
    342294
    343295        { char ret; ret = __atomic_nand_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
     
    349301        { long long int ret; ret = __atomic_nand_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
    350302        { long long int ret; ret = __atomic_nand_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
    351         #if defined(__SIZEOF_INT128__)
    352303        { __int128 ret; ret = __atomic_nand_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
    353304        { __int128 ret; ret = __atomic_nand_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
    354         #endif
    355305
    356306        { char ret; ret = __atomic_xor_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
     
    362312        { long long int ret; ret = __atomic_xor_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
    363313        { long long int ret; ret = __atomic_xor_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
    364         #if defined(__SIZEOF_INT128__)
    365314        { __int128 ret; ret = __atomic_xor_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
    366315        { __int128 ret; ret = __atomic_xor_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
    367         #endif
    368316
    369317        { char ret; ret = __atomic_or_fetch(vp1, v1, __ATOMIC_SEQ_CST); }
     
    375323        { long long int ret; ret = __atomic_or_fetch(vp8, v8, __ATOMIC_SEQ_CST); }
    376324        { long long int ret; ret = __atomic_or_fetch_8(vp8, v8, __ATOMIC_SEQ_CST); }
    377         #if defined(__SIZEOF_INT128__)
    378325        { __int128 ret; ret = __atomic_or_fetch(vp16, v16, __ATOMIC_SEQ_CST); }
    379326        { __int128 ret; ret = __atomic_or_fetch_16(vp16, v16, __ATOMIC_SEQ_CST); }
    380         #endif
    381327
    382328        { char ret; ret = __atomic_fetch_add(vp1, v1, __ATOMIC_SEQ_CST); }
     
    388334        { long long int ret; ret = __atomic_fetch_add(vp8, v8, __ATOMIC_SEQ_CST); }
    389335        { long long int ret; ret = __atomic_fetch_add_8(vp8, v8, __ATOMIC_SEQ_CST); }
    390         #if defined(__SIZEOF_INT128__)
    391336        { __int128 ret; ret = __atomic_fetch_add(vp16, v16, __ATOMIC_SEQ_CST); }
    392337        { __int128 ret; ret = __atomic_fetch_add_16(vp16, v16, __ATOMIC_SEQ_CST); }
    393         #endif
    394338
    395339        { char ret; ret = __atomic_fetch_sub(vp1, v1, __ATOMIC_SEQ_CST); }
     
    401345        { long long int ret; ret = __atomic_fetch_sub(vp8, v8, __ATOMIC_SEQ_CST); }
    402346        { long long int ret; ret = __atomic_fetch_sub_8(vp8, v8, __ATOMIC_SEQ_CST); }
    403         #if defined(__SIZEOF_INT128__)
    404347        { __int128 ret; ret = __atomic_fetch_sub(vp16, v16, __ATOMIC_SEQ_CST); }
    405348        { __int128 ret; ret = __atomic_fetch_sub_16(vp16, v16, __ATOMIC_SEQ_CST); }
    406         #endif
    407349
    408350        { char ret; ret = __atomic_fetch_and(vp1, v1, __ATOMIC_SEQ_CST); }
     
    414356        { long long int ret; ret = __atomic_fetch_and(vp8, v8, __ATOMIC_SEQ_CST); }
    415357        { long long int ret; ret = __atomic_fetch_and_8(vp8, v8, __ATOMIC_SEQ_CST); }
    416         #if defined(__SIZEOF_INT128__)
    417358        { __int128 ret; ret = __atomic_fetch_and(vp16, v16, __ATOMIC_SEQ_CST); }
    418359        { __int128 ret; ret = __atomic_fetch_and_16(vp16, v16, __ATOMIC_SEQ_CST); }
    419         #endif
    420360
    421361        { char ret; ret = __atomic_fetch_nand(vp1, v1, __ATOMIC_SEQ_CST); }
     
    427367        { long long int ret; ret = __atomic_fetch_nand(vp8, v8, __ATOMIC_SEQ_CST); }
    428368        { long long int ret; ret = __atomic_fetch_nand_8(vp8, v8, __ATOMIC_SEQ_CST); }
    429         #if defined(__SIZEOF_INT128__)
    430369        { __int128 ret; ret = __atomic_fetch_nand(vp16, v16, __ATOMIC_SEQ_CST); }
    431370        { __int128 ret; ret = __atomic_fetch_nand_16(vp16, v16, __ATOMIC_SEQ_CST); }
    432         #endif
    433371
    434372        { char ret; ret = __atomic_fetch_xor(vp1, v1, __ATOMIC_SEQ_CST); }
     
    440378        { long long int ret; ret = __atomic_fetch_xor(vp8, v8, __ATOMIC_SEQ_CST); }
    441379        { long long int ret; ret = __atomic_fetch_xor_8(vp8, v8, __ATOMIC_SEQ_CST); }
    442         #if defined(__SIZEOF_INT128__)
    443380        { __int128 ret; ret = __atomic_fetch_xor(vp16, v16, __ATOMIC_SEQ_CST); }
    444381        { __int128 ret; ret = __atomic_fetch_xor_16(vp16, v16, __ATOMIC_SEQ_CST); }
    445         #endif
    446382
    447383        { char ret; ret = __atomic_fetch_or(vp1, v1, __ATOMIC_SEQ_CST); }
     
    453389        { long long int ret; ret = __atomic_fetch_or(vp8, v8, __ATOMIC_SEQ_CST); }
    454390        { long long int ret; ret = __atomic_fetch_or_8(vp8, v8, __ATOMIC_SEQ_CST); }
    455         #if defined(__SIZEOF_INT128__)
    456391        { __int128 ret; ret = __atomic_fetch_or(vp16, v16, __ATOMIC_SEQ_CST); }
    457392        { __int128 ret; ret = __atomic_fetch_or_16(vp16, v16, __ATOMIC_SEQ_CST); }
    458         #endif
    459393
    460394        { _Bool ret; ret = __atomic_always_lock_free(sizeof(int), vp4); }
Note: See TracChangeset for help on using the changeset viewer.