1
0
mirror of https://github.com/golang/go synced 2024-11-20 05:14:41 -07:00

8a, 8l: add CMPXCHG8B, XADDB, XADDL, XADDW

R=ken2
CC=golang-dev
https://golang.org/cl/4240041
This commit is contained in:
Russ Cox 2011-02-25 01:04:29 -05:00
parent 96c785de39
commit 895631770a
3 changed files with 14 additions and 0 deletions

View File

@ -332,6 +332,7 @@ struct
"CMPSB", LTYPE0, ACMPSB,
"CMPSL", LTYPE0, ACMPSL,
"CMPSW", LTYPE0, ACMPSW,
"CMPXCHG8B", LTYPE1, ACMPXCHG8B,
"CMPXCHGB", LTYPE3, ACMPXCHGB,
"CMPXCHGL", LTYPE3, ACMPXCHGL,
"CMPXCHGW", LTYPE3, ACMPXCHGW,
@ -546,6 +547,9 @@ struct
"VERW", LTYPE2, AVERW,
"WAIT", LTYPE0, AWAIT,
"WORD", LTYPE2, AWORD,
"XADDB", LTYPE3, AXADDB,
"XADDL", LTYPE3, AXADDL,
"XADDW", LTYPE3, AXADDW,
"XCHGB", LTYPE3, AXCHGB,
"XCHGL", LTYPE3, AXCHGL,
"XCHGW", LTYPE3, AXCHGW,

View File

@ -392,6 +392,11 @@ enum as
ACMPXCHGB,
ACMPXCHGL,
ACMPXCHGW,
ACMPXCHG8B,
AXADDB,
AXADDL,
AXADDW,
/* conditional move */
ACMOVLCC,

View File

@ -702,6 +702,11 @@ Optab optab[] =
{ ACMPXCHGB, yrb_mb, Pm, 0xb0 },
{ ACMPXCHGL, yrl_ml, Pm, 0xb1 },
{ ACMPXCHGW, yrl_ml, Pm, 0xb1 },
{ ACMPXCHG8B, yscond, Pm, 0xc7,(01) },
{ AXADDB, yrb_mb, Pb, 0x0f,0xc0 },
{ AXADDL, yrl_ml, Pm, 0xc1 },
{ AXADDW, yrl_ml, Pe, 0x0f,0xc1 },
{ ACMOVLCC, yml_rl, Pm, 0x43 },
{ ACMOVLCS, yml_rl, Pm, 0x42 },