Commit 36d37070 authored by Adam Langley's avatar Adam Langley

6a/6l: add IMUL3Q and SHLDL

Although Intel considers the three-argument form of IMUL to be a
variant of IMUL, I couldn't make 6l able to differentiate it without
huge changes, so I called it IMUL3.

R=rsc
CC=golang-dev
https://golang.org/cl/5686055
parent ac4055b2
......@@ -396,6 +396,7 @@ struct
"IMULB", LTYPEI, AIMULB,
"IMULL", LTYPEI, AIMULL,
"IMULQ", LTYPEI, AIMULQ,
"IMUL3Q", LTYPEX, AIMUL3Q,
"IMULW", LTYPEI, AIMULW,
"INB", LTYPE0, AINB,
"INL", LTYPE0, AINL,
......
......@@ -735,6 +735,7 @@ enum as
AMODE,
ACRC32B,
ACRC32Q,
AIMUL3Q,
ALAST
};
......
......@@ -267,6 +267,11 @@ uchar yimul[] =
Yml, Yrl, Zm_r, 2,
0
};
uchar yimul3[] =
{
Yml, Yrl, Zibm_r, 1,
0
};
uchar ybyte[] =
{
Yi64, Ynone, Zbyte, 1,
......@@ -772,6 +777,7 @@ Optab optab[] =
{ AIMULL, yimul, Px, 0xf7,(05),0x6b,0x69,Pm,0xaf },
{ AIMULQ, yimul, Pw, 0xf7,(05),0x6b,0x69,Pm,0xaf },
{ AIMULW, yimul, Pe, 0xf7,(05),0x6b,0x69,Pm,0xaf },
{ AIMUL3Q, yimul3, Pw, 0x6b },
{ AINB, yin, Pb, 0xe4,0xec },
{ AINCB, yincb, Pb, 0xfe,(00) },
{ AINCL, yincl, Px, 0xff,(00) },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment