1
0
mirror of https://github.com/golang/go synced 2024-11-24 18:10:02 -07:00

8a/8l: Added FCMOVcc instructions

Thanks to Charles Dorian for the help.

R=rsc
CC=Charlie Dorian, golang-dev
https://golang.org/cl/207049
This commit is contained in:
Evan Shaw 2010-02-18 23:33:06 -08:00 committed by Russ Cox
parent d8675d25e5
commit 4af0a58ea9
4 changed files with 40 additions and 0 deletions

View File

@ -601,6 +601,14 @@ struct
"FMOVWP", LTYPE3, AFMOVWP,
"FMOVX", LTYPE3, AFMOVX,
"FMOVXP", LTYPE3, AFMOVXP,
"FCMOVCC", LTYPE3, AFCMOVCC,
"FCMOVCS", LTYPE3, AFCMOVCS,
"FCMOVEQ", LTYPE3, AFCMOVEQ,
"FCMOVHI", LTYPE3, AFCMOVHI,
"FCMOVLS", LTYPE3, AFCMOVLS,
"FCMOVNE", LTYPE3, AFCMOVNE,
"FCMOVNU", LTYPE3, AFCMOVNU,
"FCMOVUN", LTYPE3, AFCMOVUN,
"FCOMB", LTYPE3, AFCOMB,
"FCOMBP", LTYPE3, AFCOMBP,
"FCOMD", LTYPE3, AFCOMD,

View File

@ -426,6 +426,15 @@ enum as
ACMOVWPL,
ACMOVWPS,
AFCMOVCC,
AFCMOVCS,
AFCMOVEQ,
AFCMOVHI,
AFCMOVLS,
AFCMOVNE,
AFCMOVNU,
AFCMOVUN,
ALAST
};

View File

@ -302,6 +302,11 @@ uchar yfmvp[] =
Yf0, Ym, Zo_m, 2,
0
};
uchar yfcmv[] =
{
Yrf, Yf0, Zm_o, 2,
0
};
uchar yfadd[] =
{
Ym, Yf0, Zm_o, 2,
@ -730,5 +735,15 @@ Optab optab[] =
{ ACMOVWPC, yml_rl, Pq, 0x4b },
{ ACMOVWPL, yml_rl, Pq, 0x49 },
{ ACMOVWPS, yml_rl, Pq, 0x4a },
{ AFCMOVCC, yfcmv, Px, 0xdb,(00) },
{ AFCMOVCS, yfcmv, Px, 0xda,(00) },
{ AFCMOVEQ, yfcmv, Px, 0xda,(01) },
{ AFCMOVHI, yfcmv, Px, 0xdb,(02) },
{ AFCMOVLS, yfcmv, Px, 0xda,(02) },
{ AFCMOVNE, yfcmv, Px, 0xdb,(01) },
{ AFCMOVNU, yfcmv, Px, 0xdb,(03) },
{ AFCMOVUN, yfcmv, Px, 0xda,(03) },
0
};

View File

@ -1004,6 +1004,10 @@ static Optable optabDA[8+8] =
[0x05] 0,0, "FSUBRL %e,F0",
[0x06] 0,0, "FDIVL %e,F0",
[0x07] 0,0, "FDIVRL %e,F0",
[0x08] 0,0, "FCMOVCS %f,F0",
[0x09] 0,0, "FCMOVEQ %f,F0",
[0x0a] 0,0, "FCMOVLS %f,F0",
[0x0b] 0,0, "FCMOVUN %f,F0",
[0x0d] R1,0, "FUCOMPP",
};
@ -1014,6 +1018,10 @@ static Optable optabDB[8+64] =
[0x03] 0,0, "FMOVLP F0,%e",
[0x05] 0,0, "FMOVX %e,F0",
[0x07] 0,0, "FMOVXP F0,%e",
[0x08] 0,0, "FCMOVCC %f,F0",
[0x09] 0,0, "FCMOVNE %f,F0",
[0x0a] 0,0, "FCMOVHI %f,F0",
[0x0b] 0,0, "FCMOVNU %f,F0",
[0x0d] 0,0, "FUCOMI F0,%f",
[0x0e] 0,0, "FCOMI F0,%f",
[0x2a] 0,0, "FCLEX",