llvm.org GIT mirror llvm / f132fa0
what the heck, add support for the rest of the 3dNow! binary operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115467 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 10 years ago
2 changed file(s) with 78 addition(s) and 3 deletion(s). Raw diff Collapse all Expand all
3535 }
3636 }
3737
38 defm PAVGUSB : I3DNow_binop_rm<0xBF, "pavgusb">;
38 defm PAVGUSB : I3DNow_binop_rm<0xBF, "pavgusb">;
39 defm PF2ID : I3DNow_binop_rm<0x1D, "pf2id">;
40 defm PFACC : I3DNow_binop_rm<0xAE, "pfacc">;
41 defm PFADD : I3DNow_binop_rm<0x9E, "pfadd">;
42 defm PFCMPEQ : I3DNow_binop_rm<0xB0, "pfcmpeq">;
43 defm PFCMPGE : I3DNow_binop_rm<0x90, "pfcmpge">;
44 defm PFCMPGT : I3DNow_binop_rm<0xA0, "pfcmpgt">;
45 defm PFMAX : I3DNow_binop_rm<0xA4, "pfmax">;
46 defm PFMIN : I3DNow_binop_rm<0x94, "pfmin">;
47 defm PFMUL : I3DNow_binop_rm<0xB4, "pfmul">;
48 defm PFRCP : I3DNow_binop_rm<0x96, "pfrcp">;
49 defm PFRCPIT1 : I3DNow_binop_rm<0xA6, "pfrcpit1">;
50 defm PFRCPIT2 : I3DNow_binop_rm<0xB6, "pfrcpit2">;
51 defm PFRSQIT1 : I3DNow_binop_rm<0xA7, "pfrsqit1">;
52 defm PFRSQRT : I3DNow_binop_rm<0x97, "pfrsqrt">;
53 defm PFSUB : I3DNow_binop_rm<0x9A, "pfsub">;
54 defm PFSUBR : I3DNow_binop_rm<0xAA, "pfsubr">;
55 defm PI2FD : I3DNow_binop_rm<0x0D, "pi2fd">;
56 defm PMULHRW : I3DNow_binop_rm<0xB7, "pmulhrw">;
3957
4058
4159
4260
43 // TODO: Add support for the rest of the 3DNow! and "3DNowA" instructions.
61 // TODO: Add support for the "3DNowA" instructions.
44 // CHECK: pavgusb %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xbf]
55 pavgusb %mm2, %mm1
66
7 // CHECK: pavgusb 9(%esi,%edx), %mm3 # encoding: [0x0f,0x0f,0x5c,0x16,0x09,0
7 // CHECK: pavgusb 9(%esi,%edx), %mm3 # encoding: [0x0f,0x0f,0x5c,0x16,0x09,0xbf]
88 pavgusb 9(%esi,%edx), %mm3
99
1010
11 // CHECK: pf2id %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0x1d]
12 pf2id %mm2, %mm1
13
14 // CHECK: pf2id 9(%esi,%edx), %mm3 # encoding: [0x0f,0x0f,0x5c,0x16,0x09,0x1d]
15 pf2id 9(%esi,%edx), %mm3
16
17 // CHECK: pfacc %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xae]
18 pfacc %mm2, %mm1
19
20 // CHECK: pfadd %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0x9e]
21 pfadd %mm2, %mm1
22
23 // CHECK: pfcmpeq %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xb0]
24 pfcmpeq %mm2, %mm1
25
26 // CHECK: pfcmpge %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0x90]
27 pfcmpge %mm2, %mm1
28
29 // CHECK: pfcmpgt %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xa0]
30 pfcmpgt %mm2, %mm1
31
32 // CHECK: pfmax %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xa4]
33 pfmax %mm2, %mm1
34
35 // CHECK: pfmin %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0x94]
36 pfmin %mm2, %mm1
37
38 // CHECK: pfmul %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xb4]
39 pfmul %mm2, %mm1
40
41 // CHECK: pfrcp %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0x96]
42 pfrcp %mm2, %mm1
43
44 // CHECK: pfrcpit1 %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xa6]
45 pfrcpit1 %mm2, %mm1
46
47 // CHECK: pfrcpit2 %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xb6]
48 pfrcpit2 %mm2, %mm1
49
50 // CHECK: pfrsqit1 %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xa7]
51 pfrsqit1 %mm2, %mm1
52
53 // CHECK: pfrsqrt %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0x97]
54 pfrsqrt %mm2, %mm1
55
56 // CHECK: pfsub %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0x9a]
57 pfsub %mm2, %mm1
58
59 // CHECK: pfsubr %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xaa]
60 pfsubr %mm2, %mm1
61
62 // CHECK: pi2fd %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0x0d]
63 pi2fd %mm2, %mm1
64
65 // CHECK: pmulhrw %mm2, %mm1 # encoding: [0x0f,0x0f,0xca,0xb7]
66 pmulhrw %mm2, %mm1
67