_2
END(__sync_fetch_and_##OP##_2)
ENTRY_NP(__sync_fetch_and_##OP##_2) ;\
bits[1] = L[_2];
bits[0] = L[_2];
bits[1] = (L[_1] << 16) | L[_2];
L[_2] = bits[1];
L[_2] = bits[1];
L[_1] = L[_2] = L[_3] = 0;
L[_2] = (UShort)bits[1];
L[_2] = L[_3] = L[_4] = 0;
L[_2] = bits[0];
L[_2] = 0;
L[_2] = bits[1];
L[_2] = bits[1];
L[_1] = L[_2] = L[_3] = 0;
L[_2] = (UShort)bits[1];
L[_2] = L[_3] = L[_4] = 0;
L[_2] = bits[0];
L[_2] = 0;
u.bits[_2] = (ULong)strtoul(s1 = se, &se, 16);
U u.bits[_1], U u.bits[_2], U u.bits[_3]);
U u.bits[_0], U u.bits[_1], U u.bits[_2], U u.bits[_3]);
U v[0].bits[_2], U v[0].bits[_3]);
U v[0].bits[_2], U v[0].bits[_3]);
U v[1].bits[_2], U v[1].bits[_3]);
u.bits[_2] = (ULong)strtoul(s1=se, &se, 16);
U u.bits[_1], U u.bits[_2]);
U u.bits[_0], U u.bits[_1], U u.bits[_2]);
U v[0].bits[_2]);
U v[0].bits[_2]);
U v[1].bits[_2]);
&u.bits[_1], &u.bits[_2], &u.bits[_3],
u.bits[_1], u.bits[_2], u.bits[_3], u.bits[_4]);
u.bits[_0], u.bits[_1], u.bits[_2],
v[0].bits[_2], v[0].bits[_3],
v[0].bits[_2], v[0].bits[_3],
v[1].bits[_2], v[1].bits[_3],
#define USE_S3(sym) sym##_2, USE_S2(sym)