summaryrefslogtreecommitdiff
path: root/src/cmd/8l/span.c
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2013-03-07 12:54:00 -0800
committerKeith Randall <khr@golang.org>2013-03-07 12:54:00 -0800
commit0bf122c96d9615157bae96cb98ccc8e4001e21bf (patch)
treeb01b003490105de86c172982b79a95916387687c /src/cmd/8l/span.c
parentca9c7b1d65cd01a99e313a8df8fc2d5a744585d0 (diff)
downloadgo-0bf122c96d9615157bae96cb98ccc8e4001e21bf.tar.gz
cmd/6a, cmd/8a, cmd/6l, cmd/8l: add AES instructions
Instructions for use in AES hashing. See CL#7543043 R=rsc CC=golang-dev https://codereview.appspot.com/7548043
Diffstat (limited to 'src/cmd/8l/span.c')
-rw-r--r--src/cmd/8l/span.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/cmd/8l/span.c b/src/cmd/8l/span.c
index b828d8645..0678fa8f2 100644
--- a/src/cmd/8l/span.c
+++ b/src/cmd/8l/span.c
@@ -1003,11 +1003,23 @@ found:
*andptr++ = op;
break;
+ case Zlitm_r:
+ for(; op = o->op[z]; z++)
+ *andptr++ = op;
+ asmand(&p->from, reg[p->to.type]);
+ break;
+
case Zm_r:
*andptr++ = op;
asmand(&p->from, reg[p->to.type]);
break;
+ case Zm2_r:
+ *andptr++ = op;
+ *andptr++ = o->op[z+1];
+ asmand(&p->from, reg[p->to.type]);
+ break;
+
case Zm_r_xm:
mediaop(o, op, t[3], z);
asmand(&p->from, reg[p->to.type]);
@@ -1019,6 +1031,13 @@ found:
*andptr++ = p->to.offset;
break;
+ case Zibm_r:
+ while ((op = o->op[z++]) != 0)
+ *andptr++ = op;
+ asmand(&p->from, reg[p->to.type]);
+ *andptr++ = p->to.offset;
+ break;
+
case Zaut_r:
*andptr++ = 0x8d; /* leal */
if(p->from.type != D_ADDR)