mirror of
https://github.com/golang/go
synced 2024-11-25 05:07:56 -07:00
8a/8l: Added CMOVcc instructions
R=rsc CC=golang-dev https://golang.org/cl/204067
This commit is contained in:
parent
d3be2e3e0a
commit
baea3e946d
@ -554,6 +554,39 @@ struct
|
||||
"XORL", LTYPE3, AXORL,
|
||||
"XORW", LTYPE3, AXORW,
|
||||
|
||||
"CMOVLCC", LTYPE3, ACMOVLCC,
|
||||
"CMOVLCS", LTYPE3, ACMOVLCS,
|
||||
"CMOVLEQ", LTYPE3, ACMOVLEQ,
|
||||
"CMOVLGE", LTYPE3, ACMOVLGE,
|
||||
"CMOVLGT", LTYPE3, ACMOVLGT,
|
||||
"CMOVLHI", LTYPE3, ACMOVLHI,
|
||||
"CMOVLLE", LTYPE3, ACMOVLLE,
|
||||
"CMOVLLS", LTYPE3, ACMOVLLS,
|
||||
"CMOVLLT", LTYPE3, ACMOVLLT,
|
||||
"CMOVLMI", LTYPE3, ACMOVLMI,
|
||||
"CMOVLNE", LTYPE3, ACMOVLNE,
|
||||
"CMOVLOC", LTYPE3, ACMOVLOC,
|
||||
"CMOVLOS", LTYPE3, ACMOVLOS,
|
||||
"CMOVLPC", LTYPE3, ACMOVLPC,
|
||||
"CMOVLPL", LTYPE3, ACMOVLPL,
|
||||
"CMOVLPS", LTYPE3, ACMOVLPS,
|
||||
"CMOVWCC", LTYPE3, ACMOVWCC,
|
||||
"CMOVWCS", LTYPE3, ACMOVWCS,
|
||||
"CMOVWEQ", LTYPE3, ACMOVWEQ,
|
||||
"CMOVWGE", LTYPE3, ACMOVWGE,
|
||||
"CMOVWGT", LTYPE3, ACMOVWGT,
|
||||
"CMOVWHI", LTYPE3, ACMOVWHI,
|
||||
"CMOVWLE", LTYPE3, ACMOVWLE,
|
||||
"CMOVWLS", LTYPE3, ACMOVWLS,
|
||||
"CMOVWLT", LTYPE3, ACMOVWLT,
|
||||
"CMOVWMI", LTYPE3, ACMOVWMI,
|
||||
"CMOVWNE", LTYPE3, ACMOVWNE,
|
||||
"CMOVWOC", LTYPE3, ACMOVWOC,
|
||||
"CMOVWOS", LTYPE3, ACMOVWOS,
|
||||
"CMOVWPC", LTYPE3, ACMOVWPC,
|
||||
"CMOVWPL", LTYPE3, ACMOVWPL,
|
||||
"CMOVWPS", LTYPE3, ACMOVWPS,
|
||||
|
||||
"FMOVB", LTYPE3, AFMOVB,
|
||||
"FMOVBP", LTYPE3, AFMOVBP,
|
||||
"FMOVD", LTYPE3, AFMOVD,
|
||||
|
@ -392,6 +392,40 @@ enum as
|
||||
ACMPXCHGL,
|
||||
ACMPXCHGW,
|
||||
|
||||
/* conditional move */
|
||||
ACMOVLCC,
|
||||
ACMOVLCS,
|
||||
ACMOVLEQ,
|
||||
ACMOVLGE,
|
||||
ACMOVLGT,
|
||||
ACMOVLHI,
|
||||
ACMOVLLE,
|
||||
ACMOVLLS,
|
||||
ACMOVLLT,
|
||||
ACMOVLMI,
|
||||
ACMOVLNE,
|
||||
ACMOVLOC,
|
||||
ACMOVLOS,
|
||||
ACMOVLPC,
|
||||
ACMOVLPL,
|
||||
ACMOVLPS,
|
||||
ACMOVWCC,
|
||||
ACMOVWCS,
|
||||
ACMOVWEQ,
|
||||
ACMOVWGE,
|
||||
ACMOVWGT,
|
||||
ACMOVWHI,
|
||||
ACMOVWLE,
|
||||
ACMOVWLS,
|
||||
ACMOVWLT,
|
||||
ACMOVWMI,
|
||||
ACMOVWNE,
|
||||
ACMOVWOC,
|
||||
ACMOVWOS,
|
||||
ACMOVWPC,
|
||||
ACMOVWPL,
|
||||
ACMOVWPS,
|
||||
|
||||
ALAST
|
||||
};
|
||||
|
||||
|
@ -697,5 +697,38 @@ Optab optab[] =
|
||||
{ ACMPXCHGB, yrb_mb, Pm, 0xb0 },
|
||||
{ ACMPXCHGL, yrl_ml, Pm, 0xb1 },
|
||||
{ ACMPXCHGW, yrl_ml, Pm, 0xb1 },
|
||||
|
||||
{ ACMOVLCC, yml_rl, Pm, 0x43 },
|
||||
{ ACMOVLCS, yml_rl, Pm, 0x42 },
|
||||
{ ACMOVLEQ, yml_rl, Pm, 0x44 },
|
||||
{ ACMOVLGE, yml_rl, Pm, 0x4d },
|
||||
{ ACMOVLGT, yml_rl, Pm, 0x4f },
|
||||
{ ACMOVLHI, yml_rl, Pm, 0x47 },
|
||||
{ ACMOVLLE, yml_rl, Pm, 0x4e },
|
||||
{ ACMOVLLS, yml_rl, Pm, 0x46 },
|
||||
{ ACMOVLLT, yml_rl, Pm, 0x4c },
|
||||
{ ACMOVLMI, yml_rl, Pm, 0x48 },
|
||||
{ ACMOVLNE, yml_rl, Pm, 0x45 },
|
||||
{ ACMOVLOC, yml_rl, Pm, 0x41 },
|
||||
{ ACMOVLOS, yml_rl, Pm, 0x40 },
|
||||
{ ACMOVLPC, yml_rl, Pm, 0x4b },
|
||||
{ ACMOVLPL, yml_rl, Pm, 0x49 },
|
||||
{ ACMOVLPS, yml_rl, Pm, 0x4a },
|
||||
{ ACMOVWCC, yml_rl, Pq, 0x43 },
|
||||
{ ACMOVWCS, yml_rl, Pq, 0x42 },
|
||||
{ ACMOVWEQ, yml_rl, Pq, 0x44 },
|
||||
{ ACMOVWGE, yml_rl, Pq, 0x4d },
|
||||
{ ACMOVWGT, yml_rl, Pq, 0x4f },
|
||||
{ ACMOVWHI, yml_rl, Pq, 0x47 },
|
||||
{ ACMOVWLE, yml_rl, Pq, 0x4e },
|
||||
{ ACMOVWLS, yml_rl, Pq, 0x46 },
|
||||
{ ACMOVWLT, yml_rl, Pq, 0x4c },
|
||||
{ ACMOVWMI, yml_rl, Pq, 0x48 },
|
||||
{ ACMOVWNE, yml_rl, Pq, 0x45 },
|
||||
{ ACMOVWOC, yml_rl, Pq, 0x41 },
|
||||
{ ACMOVWOS, yml_rl, Pq, 0x40 },
|
||||
{ ACMOVWPC, yml_rl, Pq, 0x4b },
|
||||
{ ACMOVWPL, yml_rl, Pq, 0x49 },
|
||||
{ ACMOVWPS, yml_rl, Pq, 0x4a },
|
||||
0
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user