|  | # 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 | 
|  | 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 |