Commit baea3e94 authored by Evan Shaw's avatar Evan Shaw Committed by Russ Cox

8a/8l: Added CMOVcc instructions

R=rsc
CC=golang-dev
https://golang.org/cl/204067
parent d3be2e3e
...@@ -554,6 +554,39 @@ struct ...@@ -554,6 +554,39 @@ struct
"XORL", LTYPE3, AXORL, "XORL", LTYPE3, AXORL,
"XORW", LTYPE3, AXORW, "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, "FMOVB", LTYPE3, AFMOVB,
"FMOVBP", LTYPE3, AFMOVBP, "FMOVBP", LTYPE3, AFMOVBP,
"FMOVD", LTYPE3, AFMOVD, "FMOVD", LTYPE3, AFMOVD,
......
...@@ -392,6 +392,40 @@ enum as ...@@ -392,6 +392,40 @@ enum as
ACMPXCHGL, ACMPXCHGL,
ACMPXCHGW, 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 ALAST
}; };
......
...@@ -697,5 +697,38 @@ Optab optab[] = ...@@ -697,5 +697,38 @@ Optab optab[] =
{ ACMPXCHGB, yrb_mb, Pm, 0xb0 }, { ACMPXCHGB, yrb_mb, Pm, 0xb0 },
{ ACMPXCHGL, yrl_ml, Pm, 0xb1 }, { ACMPXCHGL, yrl_ml, Pm, 0xb1 },
{ ACMPXCHGW, 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 0
}; };
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