1
0
mirror of https://github.com/golang/go synced 2024-11-12 09:50:21 -07:00

cmd/asm: remove support for amd64 3DNow! instructions

3DNotAnymore!

These only ever existed on AMD (not Intel) processors,
and AMD cancelled support for them in August 2010.

Change-Id: Ia362259add9d4f5788fd151fb373f91288677407
Reviewed-on: https://go-review.googlesource.com/19611
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Russ Cox 2016-01-24 11:14:46 -05:00
parent b04f3b06ec
commit 76f272d717
4 changed files with 0 additions and 86 deletions

View File

@ -162,8 +162,6 @@ func archX86(linkArch *obj.LinkArch) *Arch {
instructions["MOVDQ2Q"] = x86.AMOVQ instructions["MOVDQ2Q"] = x86.AMOVQ
instructions["MOVNTDQ"] = x86.AMOVNTO instructions["MOVNTDQ"] = x86.AMOVNTO
instructions["MOVOA"] = x86.AMOVO instructions["MOVOA"] = x86.AMOVO
instructions["PF2ID"] = x86.APF2IL
instructions["PI2FD"] = x86.API2FL
instructions["PSLLDQ"] = x86.APSLLO instructions["PSLLDQ"] = x86.APSLLO
instructions["PSRLDQ"] = x86.APSRLO instructions["PSRLDQ"] = x86.APSRLO
instructions["PADDD"] = x86.APADDL instructions["PADDD"] = x86.APADDL

View File

@ -644,23 +644,6 @@ const (
APEXTRD APEXTRD
APEXTRQ APEXTRQ
APEXTRW APEXTRW
APFACC
APFADD
APFCMPEQ
APFCMPGE
APFCMPGT
APFMAX
APFMIN
APFMUL
APFNACC
APFPNACC
APFRCP
APFRCPI2T
APFRCPIT1
APFRSQIT1
APFRSQRT
APFSUB
APFSUBR
APHADDD APHADDD
APHADDSW APHADDSW
APHADDW APHADDW
@ -691,7 +674,6 @@ const (
APMOVZXWD APMOVZXWD
APMOVZXWQ APMOVZXWQ
APMULDQ APMULDQ
APMULHRW
APMULHUW APMULHUW
APMULHW APMULHW
APMULLD APMULLD
@ -722,7 +704,6 @@ const (
APSUBUSB APSUBUSB
APSUBUSW APSUBUSW
APSUBW APSUBW
APSWAPL
APUNPCKHBW APUNPCKHBW
APUNPCKHLQ APUNPCKHLQ
APUNPCKHQDQ APUNPCKHQDQ
@ -761,11 +742,6 @@ const (
AUNPCKLPS AUNPCKLPS
AXORPD AXORPD
AXORPS AXORPS
APF2IW
APF2IL
API2FW
API2FL
ARETFW ARETFW
ARETFL ARETFL
ARETFQ ARETFQ

View File

@ -593,23 +593,6 @@ var Anames = []string{
"PEXTRD", "PEXTRD",
"PEXTRQ", "PEXTRQ",
"PEXTRW", "PEXTRW",
"PFACC",
"PFADD",
"PFCMPEQ",
"PFCMPGE",
"PFCMPGT",
"PFMAX",
"PFMIN",
"PFMUL",
"PFNACC",
"PFPNACC",
"PFRCP",
"PFRCPI2T",
"PFRCPIT1",
"PFRSQIT1",
"PFRSQRT",
"PFSUB",
"PFSUBR",
"PHADDD", "PHADDD",
"PHADDSW", "PHADDSW",
"PHADDW", "PHADDW",
@ -640,7 +623,6 @@ var Anames = []string{
"PMOVZXWD", "PMOVZXWD",
"PMOVZXWQ", "PMOVZXWQ",
"PMULDQ", "PMULDQ",
"PMULHRW",
"PMULHUW", "PMULHUW",
"PMULHW", "PMULHW",
"PMULLD", "PMULLD",
@ -671,7 +653,6 @@ var Anames = []string{
"PSUBUSB", "PSUBUSB",
"PSUBUSW", "PSUBUSW",
"PSUBW", "PSUBW",
"PSWAPL",
"PUNPCKHBW", "PUNPCKHBW",
"PUNPCKHLQ", "PUNPCKHLQ",
"PUNPCKHQDQ", "PUNPCKHQDQ",
@ -710,10 +691,6 @@ var Anames = []string{
"UNPCKLPS", "UNPCKLPS",
"XORPD", "XORPD",
"XORPS", "XORPS",
"PF2IW",
"PF2IL",
"PI2FW",
"PI2FL",
"RETFW", "RETFW",
"RETFL", "RETFL",
"RETFQ", "RETFQ",

View File

@ -184,7 +184,6 @@ const (
Zm2_r Zm2_r
Zm_r_xm Zm_r_xm
Zm_r_i_xm Zm_r_i_xm
Zm_r_3d
Zm_r_xm_nr Zm_r_xm_nr
Zr_m_xm_nr Zr_m_xm_nr
Zibm_r /* mmx1,mmx2/mem64,imm8 */ Zibm_r /* mmx1,mmx2/mem64,imm8 */
@ -753,10 +752,6 @@ var yxrrl = []ytab{
{Yxr, Ynone, Yrl, Zm_r, 1}, {Yxr, Ynone, Yrl, Zm_r, 1},
} }
var ymfp = []ytab{
{Ymm, Ynone, Ymr, Zm_r_3d, 1},
}
var ymrxr = []ytab{ var ymrxr = []ytab{
{Ymr, Ynone, Yxr, Zm_r, 1}, {Ymr, Ynone, Yxr, Zm_r, 1},
{Yxm, Ynone, Yxr, Zm_r_xm, 1}, {Yxm, Ynone, Yxr, Zm_r_xm, 1},
@ -1085,7 +1080,6 @@ var optab =
{ACVTPD2PS, yxm, Pe, [23]uint8{0x5a}}, {ACVTPD2PS, yxm, Pe, [23]uint8{0x5a}},
{ACVTPS2PL, yxcvm1, Px, [23]uint8{Pe, 0x5b, Pm, 0x2d}}, {ACVTPS2PL, yxcvm1, Px, [23]uint8{Pe, 0x5b, Pm, 0x2d}},
{ACVTPS2PD, yxm, Pm, [23]uint8{0x5a}}, {ACVTPS2PD, yxm, Pm, [23]uint8{0x5a}},
{API2FW, ymfp, Px, [23]uint8{0x0c}},
{ACVTSD2SL, yxcvfl, Pf2, [23]uint8{0x2d}}, {ACVTSD2SL, yxcvfl, Pf2, [23]uint8{0x2d}},
{ACVTSD2SQ, yxcvfq, Pw, [23]uint8{Pf2, 0x2d}}, {ACVTSD2SQ, yxcvfq, Pw, [23]uint8{Pf2, 0x2d}},
{ACVTSD2SS, yxm, Pf2, [23]uint8{0x5a}}, {ACVTSD2SS, yxm, Pf2, [23]uint8{0x5a}},
@ -1303,26 +1297,6 @@ var optab =
{APEXTRB, yextr, Pq, [23]uint8{0x3a, 0x14, 00}}, {APEXTRB, yextr, Pq, [23]uint8{0x3a, 0x14, 00}},
{APEXTRD, yextr, Pq, [23]uint8{0x3a, 0x16, 00}}, {APEXTRD, yextr, Pq, [23]uint8{0x3a, 0x16, 00}},
{APEXTRQ, yextr, Pq3, [23]uint8{0x3a, 0x16, 00}}, {APEXTRQ, yextr, Pq3, [23]uint8{0x3a, 0x16, 00}},
{APF2IL, ymfp, Px, [23]uint8{0x1d}},
{APF2IW, ymfp, Px, [23]uint8{0x1c}},
{API2FL, ymfp, Px, [23]uint8{0x0d}},
{APFACC, ymfp, Px, [23]uint8{0xae}},
{APFADD, ymfp, Px, [23]uint8{0x9e}},
{APFCMPEQ, ymfp, Px, [23]uint8{0xb0}},
{APFCMPGE, ymfp, Px, [23]uint8{0x90}},
{APFCMPGT, ymfp, Px, [23]uint8{0xa0}},
{APFMAX, ymfp, Px, [23]uint8{0xa4}},
{APFMIN, ymfp, Px, [23]uint8{0x94}},
{APFMUL, ymfp, Px, [23]uint8{0xb4}},
{APFNACC, ymfp, Px, [23]uint8{0x8a}},
{APFPNACC, ymfp, Px, [23]uint8{0x8e}},
{APFRCP, ymfp, Px, [23]uint8{0x96}},
{APFRCPIT1, ymfp, Px, [23]uint8{0xa6}},
{APFRCPI2T, ymfp, Px, [23]uint8{0xb6}},
{APFRSQIT1, ymfp, Px, [23]uint8{0xa7}},
{APFRSQRT, ymfp, Px, [23]uint8{0x97}},
{APFSUB, ymfp, Px, [23]uint8{0x9a}},
{APFSUBR, ymfp, Px, [23]uint8{0xaa}},
{APHADDD, ymmxmm0f38, Px, [23]uint8{0x0F, 0x38, 0x02, 0, 0x66, 0x0F, 0x38, 0x02, 0}}, {APHADDD, ymmxmm0f38, Px, [23]uint8{0x0F, 0x38, 0x02, 0, 0x66, 0x0F, 0x38, 0x02, 0}},
{APHADDSW, yxm_q4, Pq4, [23]uint8{0x03}}, {APHADDSW, yxm_q4, Pq4, [23]uint8{0x03}},
{APHADDW, yxm_q4, Pq4, [23]uint8{0x01}}, {APHADDW, yxm_q4, Pq4, [23]uint8{0x01}},
@ -1353,7 +1327,6 @@ var optab =
{APMOVZXWD, yxm_q4, Pq4, [23]uint8{0x33}}, {APMOVZXWD, yxm_q4, Pq4, [23]uint8{0x33}},
{APMOVZXWQ, yxm_q4, Pq4, [23]uint8{0x34}}, {APMOVZXWQ, yxm_q4, Pq4, [23]uint8{0x34}},
{APMULDQ, yxm_q4, Pq4, [23]uint8{0x28}}, {APMULDQ, yxm_q4, Pq4, [23]uint8{0x28}},
{APMULHRW, ymfp, Px, [23]uint8{0xb7}},
{APMULHUW, ymm, Py1, [23]uint8{0xe4, Pe, 0xe4}}, {APMULHUW, ymm, Py1, [23]uint8{0xe4, Pe, 0xe4}},
{APMULHW, ymm, Py1, [23]uint8{0xe5, Pe, 0xe5}}, {APMULHW, ymm, Py1, [23]uint8{0xe5, Pe, 0xe5}},
{APMULLD, yxm_q4, Pq4, [23]uint8{0x40}}, {APMULLD, yxm_q4, Pq4, [23]uint8{0x40}},
@ -1395,7 +1368,6 @@ var optab =
{APSUBUSB, yxm, Pe, [23]uint8{0xd8}}, {APSUBUSB, yxm, Pe, [23]uint8{0xd8}},
{APSUBUSW, yxm, Pe, [23]uint8{0xd9}}, {APSUBUSW, yxm, Pe, [23]uint8{0xd9}},
{APSUBW, yxm, Pe, [23]uint8{0xf9}}, {APSUBW, yxm, Pe, [23]uint8{0xf9}},
{APSWAPL, ymfp, Px, [23]uint8{0xbb}},
{APUNPCKHBW, ymm, Py1, [23]uint8{0x68, Pe, 0x68}}, {APUNPCKHBW, ymm, Py1, [23]uint8{0x68, Pe, 0x68}},
{APUNPCKHLQ, ymm, Py1, [23]uint8{0x6a, Pe, 0x6a}}, {APUNPCKHLQ, ymm, Py1, [23]uint8{0x6a, Pe, 0x6a}},
{APUNPCKHQDQ, yxm, Pe, [23]uint8{0x6d}}, {APUNPCKHQDQ, yxm, Pe, [23]uint8{0x6d}},
@ -3533,15 +3505,6 @@ func doasm(ctxt *obj.Link, p *obj.Prog) {
ctxt.Andptr[0] = byte(p.To.Offset) ctxt.Andptr[0] = byte(p.To.Offset)
ctxt.Andptr = ctxt.Andptr[1:] ctxt.Andptr = ctxt.Andptr[1:]
case Zm_r_3d:
ctxt.Andptr[0] = 0x0f
ctxt.Andptr = ctxt.Andptr[1:]
ctxt.Andptr[0] = 0x0f
ctxt.Andptr = ctxt.Andptr[1:]
asmand(ctxt, p, &p.From, &p.To)
ctxt.Andptr[0] = byte(op)
ctxt.Andptr = ctxt.Andptr[1:]
case Zibm_r, Zibr_m: case Zibm_r, Zibr_m:
for { for {
tmp1 := z tmp1 := z