mirror of
https://github.com/golang/go
synced 2024-11-24 21:20:05 -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:
parent
b04f3b06ec
commit
76f272d717
@ -162,8 +162,6 @@ func archX86(linkArch *obj.LinkArch) *Arch {
|
||||
instructions["MOVDQ2Q"] = x86.AMOVQ
|
||||
instructions["MOVNTDQ"] = x86.AMOVNTO
|
||||
instructions["MOVOA"] = x86.AMOVO
|
||||
instructions["PF2ID"] = x86.APF2IL
|
||||
instructions["PI2FD"] = x86.API2FL
|
||||
instructions["PSLLDQ"] = x86.APSLLO
|
||||
instructions["PSRLDQ"] = x86.APSRLO
|
||||
instructions["PADDD"] = x86.APADDL
|
||||
|
@ -644,23 +644,6 @@ const (
|
||||
APEXTRD
|
||||
APEXTRQ
|
||||
APEXTRW
|
||||
APFACC
|
||||
APFADD
|
||||
APFCMPEQ
|
||||
APFCMPGE
|
||||
APFCMPGT
|
||||
APFMAX
|
||||
APFMIN
|
||||
APFMUL
|
||||
APFNACC
|
||||
APFPNACC
|
||||
APFRCP
|
||||
APFRCPI2T
|
||||
APFRCPIT1
|
||||
APFRSQIT1
|
||||
APFRSQRT
|
||||
APFSUB
|
||||
APFSUBR
|
||||
APHADDD
|
||||
APHADDSW
|
||||
APHADDW
|
||||
@ -691,7 +674,6 @@ const (
|
||||
APMOVZXWD
|
||||
APMOVZXWQ
|
||||
APMULDQ
|
||||
APMULHRW
|
||||
APMULHUW
|
||||
APMULHW
|
||||
APMULLD
|
||||
@ -722,7 +704,6 @@ const (
|
||||
APSUBUSB
|
||||
APSUBUSW
|
||||
APSUBW
|
||||
APSWAPL
|
||||
APUNPCKHBW
|
||||
APUNPCKHLQ
|
||||
APUNPCKHQDQ
|
||||
@ -761,11 +742,6 @@ const (
|
||||
AUNPCKLPS
|
||||
AXORPD
|
||||
AXORPS
|
||||
|
||||
APF2IW
|
||||
APF2IL
|
||||
API2FW
|
||||
API2FL
|
||||
ARETFW
|
||||
ARETFL
|
||||
ARETFQ
|
||||
|
@ -593,23 +593,6 @@ var Anames = []string{
|
||||
"PEXTRD",
|
||||
"PEXTRQ",
|
||||
"PEXTRW",
|
||||
"PFACC",
|
||||
"PFADD",
|
||||
"PFCMPEQ",
|
||||
"PFCMPGE",
|
||||
"PFCMPGT",
|
||||
"PFMAX",
|
||||
"PFMIN",
|
||||
"PFMUL",
|
||||
"PFNACC",
|
||||
"PFPNACC",
|
||||
"PFRCP",
|
||||
"PFRCPI2T",
|
||||
"PFRCPIT1",
|
||||
"PFRSQIT1",
|
||||
"PFRSQRT",
|
||||
"PFSUB",
|
||||
"PFSUBR",
|
||||
"PHADDD",
|
||||
"PHADDSW",
|
||||
"PHADDW",
|
||||
@ -640,7 +623,6 @@ var Anames = []string{
|
||||
"PMOVZXWD",
|
||||
"PMOVZXWQ",
|
||||
"PMULDQ",
|
||||
"PMULHRW",
|
||||
"PMULHUW",
|
||||
"PMULHW",
|
||||
"PMULLD",
|
||||
@ -671,7 +653,6 @@ var Anames = []string{
|
||||
"PSUBUSB",
|
||||
"PSUBUSW",
|
||||
"PSUBW",
|
||||
"PSWAPL",
|
||||
"PUNPCKHBW",
|
||||
"PUNPCKHLQ",
|
||||
"PUNPCKHQDQ",
|
||||
@ -710,10 +691,6 @@ var Anames = []string{
|
||||
"UNPCKLPS",
|
||||
"XORPD",
|
||||
"XORPS",
|
||||
"PF2IW",
|
||||
"PF2IL",
|
||||
"PI2FW",
|
||||
"PI2FL",
|
||||
"RETFW",
|
||||
"RETFL",
|
||||
"RETFQ",
|
||||
|
@ -184,7 +184,6 @@ const (
|
||||
Zm2_r
|
||||
Zm_r_xm
|
||||
Zm_r_i_xm
|
||||
Zm_r_3d
|
||||
Zm_r_xm_nr
|
||||
Zr_m_xm_nr
|
||||
Zibm_r /* mmx1,mmx2/mem64,imm8 */
|
||||
@ -753,10 +752,6 @@ var yxrrl = []ytab{
|
||||
{Yxr, Ynone, Yrl, Zm_r, 1},
|
||||
}
|
||||
|
||||
var ymfp = []ytab{
|
||||
{Ymm, Ynone, Ymr, Zm_r_3d, 1},
|
||||
}
|
||||
|
||||
var ymrxr = []ytab{
|
||||
{Ymr, Ynone, Yxr, Zm_r, 1},
|
||||
{Yxm, Ynone, Yxr, Zm_r_xm, 1},
|
||||
@ -1085,7 +1080,6 @@ var optab =
|
||||
{ACVTPD2PS, yxm, Pe, [23]uint8{0x5a}},
|
||||
{ACVTPS2PL, yxcvm1, Px, [23]uint8{Pe, 0x5b, Pm, 0x2d}},
|
||||
{ACVTPS2PD, yxm, Pm, [23]uint8{0x5a}},
|
||||
{API2FW, ymfp, Px, [23]uint8{0x0c}},
|
||||
{ACVTSD2SL, yxcvfl, Pf2, [23]uint8{0x2d}},
|
||||
{ACVTSD2SQ, yxcvfq, Pw, [23]uint8{Pf2, 0x2d}},
|
||||
{ACVTSD2SS, yxm, Pf2, [23]uint8{0x5a}},
|
||||
@ -1303,26 +1297,6 @@ var optab =
|
||||
{APEXTRB, yextr, Pq, [23]uint8{0x3a, 0x14, 00}},
|
||||
{APEXTRD, yextr, Pq, [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}},
|
||||
{APHADDSW, yxm_q4, Pq4, [23]uint8{0x03}},
|
||||
{APHADDW, yxm_q4, Pq4, [23]uint8{0x01}},
|
||||
@ -1353,7 +1327,6 @@ var optab =
|
||||
{APMOVZXWD, yxm_q4, Pq4, [23]uint8{0x33}},
|
||||
{APMOVZXWQ, yxm_q4, Pq4, [23]uint8{0x34}},
|
||||
{APMULDQ, yxm_q4, Pq4, [23]uint8{0x28}},
|
||||
{APMULHRW, ymfp, Px, [23]uint8{0xb7}},
|
||||
{APMULHUW, ymm, Py1, [23]uint8{0xe4, Pe, 0xe4}},
|
||||
{APMULHW, ymm, Py1, [23]uint8{0xe5, Pe, 0xe5}},
|
||||
{APMULLD, yxm_q4, Pq4, [23]uint8{0x40}},
|
||||
@ -1395,7 +1368,6 @@ var optab =
|
||||
{APSUBUSB, yxm, Pe, [23]uint8{0xd8}},
|
||||
{APSUBUSW, yxm, Pe, [23]uint8{0xd9}},
|
||||
{APSUBW, yxm, Pe, [23]uint8{0xf9}},
|
||||
{APSWAPL, ymfp, Px, [23]uint8{0xbb}},
|
||||
{APUNPCKHBW, ymm, Py1, [23]uint8{0x68, Pe, 0x68}},
|
||||
{APUNPCKHLQ, ymm, Py1, [23]uint8{0x6a, Pe, 0x6a}},
|
||||
{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 = 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:
|
||||
for {
|
||||
tmp1 := z
|
||||
|
Loading…
Reference in New Issue
Block a user