Thanks to Charles Dorian for the help.
R=rsc
CC=Charlie Dorian, golang-dev
https://golang.org/cl/207049
"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,
ACMOVWPL,
ACMOVWPS,
+ AFCMOVCC,
+ AFCMOVCS,
+ AFCMOVEQ,
+ AFCMOVHI,
+ AFCMOVLS,
+ AFCMOVNE,
+ AFCMOVNU,
+ AFCMOVUN,
+
ALAST
};
Yf0, Ym, Zo_m, 2,
0
};
+uchar yfcmv[] =
+{
+ Yrf, Yf0, Zm_o, 2,
+ 0
+};
uchar yfadd[] =
{
Ym, Yf0, Zm_o, 2,
{ 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
};
[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",
};
[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",