Generalizing Fetch&Add
•Fetch&f(V,e) is a generalization for arbitrary binary, associative operation f
•Define f(a,b) = a+b to define Fetch&Add( )
•If f is associative, the final value is independent of the serializing order
•Test&Set(V) is just Fetch&Or(V, 1)
•Load and Store use p1(a,b)=a, p2(a,b)=b
•Load  R <-- Fetch&p1(V,*)
•Store  * <--  Fetch&p2(V,L)
* means value doesn’t matter