mirror of
https://github.com/golang/go
synced 2024-09-15 22:20:06 +00:00
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
This commit is contained in:
parent
ac4055b2c5
commit
36d3707009
|
@ -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) },
|
||||
|
|
Loading…
Reference in a new issue