diff options
Diffstat (limited to 'util.c')
| -rw-r--r-- | util.c | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -164,7 +164,7 @@ addins(Ins **pvins, uint *pnins, Ins *i) } void -addbins(Blk *b, Ins **pvins, uint *pnins) +addbins(Ins **pvins, uint *pnins, Blk *b) { Ins *i; @@ -281,6 +281,17 @@ igroup(Blk *b, Ins *i, Ins **i0, Ins **i1) assert(i < ie); *i1 = i + 1; return; + case Osel1: + for (; i>ib && (i-1)->op == Osel1; i--) + ; + assert(i->op == Osel0); + /* fall through */ + case Osel0: + *i0 = i++; + for (; i<ie && i->op == Osel1; i++) + ; + *i1 = i; + return; default: if (ispar(i->op)) goto case_Opar; |
