llvm.org GIT mirror llvm / cd6cea0
We only need to specify the most-implied feature for an architecture. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37275 91177308-0d34-0410-b5e6-96231b3b80d8 Bill Wendling 13 years ago
1 changed file(s) with 21 addition(s) and 33 deletion(s). Raw diff Collapse all Expand all
4040 [Feature3DNow]>;
4141 def Feature64Bit : SubtargetFeature<"64bit", "HasX86_64", "true",
4242 "Support 64-bit instructions",
43 [FeatureMMX, FeatureSSE1, FeatureSSE2]>;
43 [FeatureSSE2]>;
4444
4545 //===----------------------------------------------------------------------===//
4646 // X86 processors supported.
5757 def : Proc<"i686", []>;
5858 def : Proc<"pentiumpro", []>;
5959 def : Proc<"pentium2", [FeatureMMX]>;
60 def : Proc<"pentium3", [FeatureMMX, FeatureSSE1]>;
61 def : Proc<"pentium-m", [FeatureMMX, FeatureSSE1, FeatureSSE2]>;
62 def : Proc<"pentium4", [FeatureMMX, FeatureSSE1, FeatureSSE2]>;
63 def : Proc<"x86-64", [FeatureMMX, FeatureSSE1, FeatureSSE2,
64 Feature64Bit]>;
65 def : Proc<"yonah", [FeatureMMX, FeatureSSE1, FeatureSSE2,
66 FeatureSSE3]>;
67 def : Proc<"prescott", [FeatureMMX, FeatureSSE1, FeatureSSE2,
68 FeatureSSE3]>;
69 def : Proc<"nocona", [FeatureMMX, FeatureSSE1, FeatureSSE2,
70 FeatureSSE3, Feature64Bit]>;
71 def : Proc<"core2", [FeatureMMX, FeatureSSE1, FeatureSSE2,
72 FeatureSSE3, FeatureSSSE3, Feature64Bit]>;
60 def : Proc<"pentium3", [FeatureSSE1]>;
61 def : Proc<"pentium-m", [FeatureSSE2]>;
62 def : Proc<"pentium4", [FeatureSSE2]>;
63 def : Proc<"x86-64", [Feature64Bit]>;
64 def : Proc<"yonah", [FeatureSSE3]>;
65 def : Proc<"prescott", [FeatureSSE3]>;
66 def : Proc<"nocona", [FeatureSSE3]>;
67 def : Proc<"core2", [FeatureSSSE3]>;
7368
7469 def : Proc<"k6", [FeatureMMX]>;
75 def : Proc<"k6-2", [FeatureMMX, Feature3DNow]>;
76 def : Proc<"k6-3", [FeatureMMX, Feature3DNow]>;
77 def : Proc<"athlon", [FeatureMMX, Feature3DNow, Feature3DNowA]>;
78 def : Proc<"athlon-tbird", [FeatureMMX, Feature3DNow, Feature3DNowA]>;
79 def : Proc<"athlon-4", [FeatureMMX, FeatureSSE1, Feature3DNow,
80 Feature3DNowA]>;
81 def : Proc<"athlon-xp", [FeatureMMX, FeatureSSE1, Feature3DNow,
82 Feature3DNowA]>;
83 def : Proc<"athlon-mp", [FeatureMMX, FeatureSSE1, Feature3DNow,
84 Feature3DNowA]>;
85 def : Proc<"k8", [FeatureMMX, FeatureSSE1, FeatureSSE2,
86 Feature3DNow, Feature3DNowA, Feature64Bit]>;
87 def : Proc<"opteron", [FeatureMMX, FeatureSSE1, FeatureSSE2,
88 Feature3DNow, Feature3DNowA, Feature64Bit]>;
89 def : Proc<"athlon64", [FeatureMMX, FeatureSSE1, FeatureSSE2,
90 Feature3DNow, Feature3DNowA, Feature64Bit]>;
91 def : Proc<"athlon-fx", [FeatureMMX, FeatureSSE1, FeatureSSE2,
92 Feature3DNow, Feature3DNowA, Feature64Bit]>;
70 def : Proc<"k6-2", [FeatureMMX, Feature3DNow]>;
71 def : Proc<"k6-3", [FeatureMMX, Feature3DNow]>;
72 def : Proc<"athlon", [FeatureMMX, Feature3DNowA]>;
73 def : Proc<"athlon-tbird", [FeatureMMX, Feature3DNowA]>;
74 def : Proc<"athlon-4", [FeatureSSE1, Feature3DNowA]>;
75 def : Proc<"athlon-xp", [FeatureSSE1, Feature3DNowA]>;
76 def : Proc<"athlon-mp", [FeatureSSE1, Feature3DNowA]>;
77 def : Proc<"k8", [Feature3DNowA, Feature64Bit]>;
78 def : Proc<"opteron", [Feature3DNowA, Feature64Bit]>;
79 def : Proc<"athlon64", [Feature3DNowA, Feature64Bit]>;
80 def : Proc<"athlon-fx", [Feature3DNowA, Feature64Bit]>;
9381
9482 def : Proc<"winchip-c6", [FeatureMMX]>;
9583 def : Proc<"winchip2", [FeatureMMX, Feature3DNow]>;
9684 def : Proc<"c3", [FeatureMMX, Feature3DNow]>;
97 def : Proc<"c3-2", [FeatureMMX, FeatureSSE1]>;
85 def : Proc<"c3-2", [FeatureSSE1]>;
9886
9987 //===----------------------------------------------------------------------===//
10088 // Register File Description