diff options
Diffstat (limited to 'src/cmd/6l/optab.c')
-rw-r--r-- | src/cmd/6l/optab.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/cmd/6l/optab.c b/src/cmd/6l/optab.c index a163e6faa..b0d5ca788 100644 --- a/src/cmd/6l/optab.c +++ b/src/cmd/6l/optab.c @@ -522,6 +522,11 @@ uchar ymshuf[] = Ymm, Ymr, Zibm_r, 2, 0 }; +uchar ymshufb[] = +{ + Yxm, Yxr, Zm2_r, 2, + 0 +}; uchar yxshuf[] = { Yxm, Yxr, Zibm_r, 2, @@ -532,6 +537,16 @@ uchar yextrw[] = Yxr, Yrl, Zibm_r, 2, 0 }; +uchar yinsrw[] = +{ + Yml, Yxr, Zibm_r, 2, + 0 +}; +uchar yinsr[] = +{ + Ymm, Yxr, Zibm_r, 3, + 0 +}; uchar ypsdq[] = { Yi8, Yxr, Zibo_m, 2, @@ -982,7 +997,9 @@ Optab optab[] = { APFRSQRT, ymfp, Px, 0x97 }, { APFSUB, ymfp, Px, 0x9a }, { APFSUBR, ymfp, Px, 0xaa }, - { APINSRW, yextrw, Pq, 0xc4,(00) }, + { APINSRW, yinsrw, Pq, 0xc4,(00) }, + { APINSRD, yinsr, Pq, 0x3a, 0x22, (00) }, + { APINSRQ, yinsr, Pq3, 0x3a, 0x22, (00) }, { APMADDWL, ymm, Py, 0xf5,Pe,0xf5 }, { APMAXSW, yxm, Pe, 0xee }, { APMAXUB, yxm, Pe, 0xde }, @@ -1008,6 +1025,7 @@ Optab optab[] = { APSHUFL, yxshuf, Pq, 0x70,(00) }, { APSHUFLW, yxshuf, Pf2, 0x70,(00) }, { APSHUFW, ymshuf, Pm, 0x70,(00) }, + { APSHUFB, ymshufb,Pq, 0x38, 0x00 }, { APSLLO, ypsdq, Pq, 0x73,(07) }, { APSLLL, yps, Py, 0xf2, 0x72,(06), Pe,0xf2, Pe,0x72,(06) }, { APSLLQ, yps, Py, 0xf3, 0x73,(06), Pe,0xf3, Pe,0x73,(06) }, |