OP
END(__sync_fetch_and_##OP##_2)
#define ATOMIC_OP16_NV(OP, INSN) \
ENTRY_NP(_atomic_##OP##_16_nv) ;\
END(_atomic_##OP##_16_nv)
#define SYNC_OP16_FETCH(OP, INSN) \
ENTRY_NP(__sync__##OP##_and_fetch_2) ;\
END(__sync__##OP##_and_fetch_2)
#define ATOMIC_OP32(OP, INSN) \
ENTRY_NP(_atomic_##OP##_32) ;\
END(_atomic_##OP##_32)
#define SYNC_FETCH_OP32(OP, INSN) \
ENTRY_NP(__sync_fetch_and_##OP##_4) ;\
END(__sync_fetch_and_##OP##_4)
#define ATOMIC_OP32_NV(OP, INSN) \
ENTRY_NP(_atomic_##OP##_32_nv) ;\
END(_atomic_##OP##_32_nv)
#define SYNC_OP32_FETCH(OP, INSN) \
ENTRY_NP(__sync__##OP##_and_fetch_4) ;\
END(__sync__##OP##_and_fetch_4)
#define ATOMIC_OP64(OP, INSN) \
ENTRY_NP(_atomic_##OP##_64) ;\
END(_atomic_##OP##_64)
#define SYNC_FETCH_OP64(OP, INSN) \
ENTRY_NP(__sync_fetch_and_##OP##_8) ;\
END(__sync_fetch_and_##OP##_8)
#define ATOMIC_OP64_NV(OP, INSN) \
ENTRY_NP(_atomic_##OP##_64_nv) ;\
END(_atomic_##OP##_64_nv)
#define SYNC_OP64_FETCH(OP, INSN) \
ENTRY_NP(__sync_##OP##_and_fetch_8) ;\
END(__sync_##OP##_and_fetch_8)
#define ATOMIC_OP8(OP, INSN) \
ENTRY_NP(_atomic_##OP##_8) ;\
END(_atomic_##OP##_8)
#define SYNC_FETCH_OP8(OP, INSN) \
ENTRY_NP(__sync_fetch_and_##OP##_1) ;\
END(__sync_fetch_and_##OP##_1)
#define ATOMIC_OP8_NV(OP, INSN) \
ENTRY_NP(_atomic_##OP##_8_nv) ;\
END(_atomic_##OP##_8_nv)
#define SYNC_OP8_FETCH(OP, INSN) \
ENTRY_NP(__sync_##OP##_and_fetch_1) ;\
END(__sync_##OP##_and_fetch_1)
#define ATOMIC_OP16(OP, INSN) \
ENTRY_NP(_atomic_##OP##_16) ;\
END(_atomic_##OP##_16)
#define SYNC_FETCH_OP16(OP, INSN) \
ENTRY_NP(__sync_fetch_and_##OP##_2) ;\
switch (OP(s)) {
assert(OP(g->strip[pc+OPND(s)]) == OOR2);
OP(s = g->strip[pc+look]) != O_CH;
assert(OP(s) == OOR2);
if (OP(g->strip[pc+OPND(s)]) != O_CH) {
assert(OP(g->strip[pc+OPND(s)]) == OOR2);
switch (OP(m->g->strip[es])) {
while (OP(m->g->strip[es]) != O_CH)
switch (OP(m->g->strip[ss])) {
assert(OP(m->g->strip[esub]) == OOR1);
assert(OP(m->g->strip[esub]) == OOR1);
assert(OP(m->g->strip[esub]) == OOR2);
if (OP(m->g->strip[esub]) == OOR2)
assert(OP(m->g->strip[esub]) == O_CH);
switch (OP(s = m->g->strip[ss])) {
assert(OP(s) == OOR2);
} while (OP(s = m->g->strip[ss]) != O_CH);
switch (OP(s)) {
assert(OP(m->g->strip[esub]) == OOR1);
if (OP(m->g->strip[esub]) == O_CH)
assert(OP(m->g->strip[esub]) == OOR2);
if (OP(m->g->strip[esub]) == OOR2)
assert(OP(m->g->strip[esub]) == O_CH);
assert(OP(p->strip[p->pbegin[i]]) == OLPAREN);
assert(OP(p->strip[p->pend[i]]) == ORPAREN);
p->strip[pos] = OP(p->strip[pos]) | value;
switch (OP(s)) {
if (OP(s) != O_QUEST &&
OP(s) != O_CH && OP(s) != OOR2) {
} while (OP(s) != O_QUEST && OP(s) != O_CH);
} while (OP(s) != OEND);
while (OP(s = *scan++) != OCHAR)
while (OP(s) != O_QUEST && OP(s) != O_CH) {
switch (OP(s)) {
if (OP(s) != O_QUEST &&
OP(s) != O_CH && OP(s) != OOR2)
} while (OP(s) != O_QUEST && OP(s) != O_CH);
switch (OP(s)) {
} while (OP(s) != OEND);
assert(OP(p->strip[p->pbegin[i]]) == OLPAREN);
assert(OP(p->strip[p->pend[i]]) == ORPAREN);
no = OP(scan) - CLOSE;
if (OP(next) != BRANCH) /* No choice. */
} while (scan != NULL && OP(scan) == BRANCH);
if (OP(next) == EXACTLY)
min = (OP(scan) == STAR) ? 0 : 1;
switch (OP(p)) {
if (OP(p) == BACK)
op = OP(s);
switch (OP(op)) {
"OPEN%d", OP(op)-OPEN);
"CLOSE%d", OP(op)-CLOSE);
if (OP(regnext(scan)) == END) { /* Only one top-level choice. */
if (OP(scan) == EXACTLY)
else if (OP(scan) == BOL)
if (OP(scan) == EXACTLY && (int) strlen(OPERAND(scan)) >= len) {
if (OP(scan) == BACK)
if (p == NULL || p == ®dummy || OP(p) != BRANCH)
switch (OP(scan)) {
no = OP(scan) - OPEN;
if (OP)
} else if (AP || EP || OP) {
if (OP && !EP) {
} else if (EP && !OP) {
} else if (AP || (EP && OP)) {
#define FORMAT1(a) (OP(a))
#define FORMAT2(a,b) (OP(a) | OP2(b))
#define FORMAT3(a,b,c) (OP(a) | OP3(b) | F3I(c))
#define FORMAT3F(a,b,c) (OP(a) | OP3(b) | OPF(c))
#define FORMAT1(a) (OP(a))
#define FORMAT2(a,b) (OP(a) | OP2(b))
#define FORMAT3(a,b,c) (OP(a) | OP3(b) | F3I(c))
#define FORMAT3F(a,b,c) (OP(a) | OP3(b) | OPF(c))
#define CTRON_ETHERCMD2(OP, SUB) {OP, SUB}
#define VDESC(OP) (& __CONCAT(OP,_desc))
#define VOFFSET(OP) (VDESC(OP)->vdesc_offset)
#define amap_lock(AMAP, OP) rw_enter((AMAP)->am_lock, (OP))
#define amap_lock_try(AMAP, OP) rw_tryenter((AMAP)->am_lock, (OP))
if (OP(g->strip[0]) != OEND)
switch (OP(*s)) {
if (OP(*(s+opnd)) != O_PLUS)
if (OP(*(s-opnd)) != OPLUS_)
if (OP(*(s+opnd)) != O_QUEST)
if (OP(*(s-opnd)) != OQUEST_)
if (OP(*(s+opnd)) != OOR2)
if (OP(*(s-opnd)) != OOR1 && OP(*(s-opnd)) != OCH_)
if (OP(*(s+opnd)) != OOR2 && OP(*(s+opnd)) != O_CH)
if (OP(*(s-opnd)) != OOR1)
fprintf(d, "!%u(%u)!", OP(*s), opnd);