| # name	meta	args... | 
 | # | 
 | # Where meta contains a string of variants to generate. | 
 | # Upper-case implies _{acquire,release,relaxed} variants. | 
 | # Valid meta values are: | 
 | # * B/b	- bool: returns bool | 
 | # * v	- void: returns void | 
 | # * I/i	- int: returns base type | 
 | # * R	- return: returns base type (has _return variants) | 
 | # * F/f	- fetch: returns base type (has fetch_ variants) | 
 | # * l	- load: returns base type (has _acquire order variant) | 
 | # * s	- store: returns void (has _release order variant) | 
 | # | 
 | # Where args contains list of type[:name], where type is: | 
 | # * cv	- const pointer to atomic base type (atomic_t/atomic64_t/atomic_long_t) | 
 | # * v	- pointer to atomic base type (atomic_t/atomic64_t/atomic_long_t) | 
 | # * i	- base type (int/s64/long) | 
 | # * p	- pointer to base type (int/s64/long) | 
 | # | 
 | read			l	cv | 
 | set			s	v	i | 
 | add			vRF	i	v | 
 | sub			vRF	i	v | 
 | inc			vRF	v | 
 | dec			vRF	v | 
 | and			vF	i	v | 
 | andnot			vF	i	v | 
 | or			vF	i	v | 
 | xor			vF	i	v | 
 | xchg			I	v	i:new | 
 | cmpxchg			I	v	i:old	i:new | 
 | try_cmpxchg		B	v	p:old	i:new | 
 | sub_and_test		b	i	v | 
 | dec_and_test		b	v | 
 | inc_and_test		b	v | 
 | add_negative		B	i	v | 
 | add_unless		fb	v	i:a	i:u | 
 | inc_not_zero		b	v | 
 | inc_unless_negative	b	v | 
 | dec_unless_positive	b	v | 
 | dec_if_positive		i	v |