Skip to content

Commit 1ead8dc

Browse files
committed
Include i386-rust-and-jit.inc to remove code duplication
1 parent 1ab6eed commit 1ead8dc

File tree

1 file changed

+4
-140
lines changed

1 file changed

+4
-140
lines changed

gcc/config/i386/i386-jit.cc

+4-140
Original file line numberDiff line numberDiff line change
@@ -66,147 +66,11 @@ ix86_jit_register_target_info (void)
6666

6767
if (float64_type_node != NULL && TYPE_PRECISION(float64_type_node) == 64)
6868
jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT64);
69-
69+
7070
if (float128_type_node != NULL && TYPE_PRECISION(float128_type_node) == 128)
7171
jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT128);
7272

73-
if (TARGET_MMX)
74-
jit_add_target_info ("target_feature", "mmx");
75-
if (TARGET_SSE)
76-
jit_add_target_info("target_feature", "sse");
77-
if (TARGET_SSE2)
78-
jit_add_target_info("target_feature", "sse2");
79-
if (TARGET_SSE3)
80-
jit_add_target_info("target_feature", "sse3");
81-
if (TARGET_SSSE3)
82-
jit_add_target_info("target_feature", "ssse3");
83-
if (TARGET_SSE4_1)
84-
jit_add_target_info("target_feature", "sse4.1");
85-
if (TARGET_SSE4_2)
86-
jit_add_target_info("target_feature", "sse4.2");
87-
if (TARGET_AES)
88-
jit_add_target_info("target_feature", "aes");
89-
if (TARGET_SHA)
90-
jit_add_target_info("target_feature", "sha");
91-
if (TARGET_AVX)
92-
jit_add_target_info("target_feature", "avx");
93-
if (TARGET_AVX2)
94-
jit_add_target_info("target_feature", "avx2");
95-
if (TARGET_AVX512F)
96-
jit_add_target_info("target_feature", "avx512f");
97-
if (TARGET_AVX512ER)
98-
jit_add_target_info("target_feature", "avx512er");
99-
if (TARGET_AVX512CD)
100-
jit_add_target_info("target_feature", "avx512cd");
101-
if (TARGET_AVX512PF)
102-
jit_add_target_info("target_feature", "avx512pf");
103-
if (TARGET_AVX512DQ)
104-
jit_add_target_info("target_feature", "avx512dq");
105-
if (TARGET_AVX512BW)
106-
jit_add_target_info("target_feature", "avx512bw");
107-
if (TARGET_AVX512VL)
108-
jit_add_target_info("target_feature", "avx512vl");
109-
if (TARGET_AVX512VBMI)
110-
jit_add_target_info("target_feature", "avx512vbmi");
111-
if (TARGET_AVX512IFMA)
112-
jit_add_target_info("target_feature", "avx512ifma");
113-
if (TARGET_AVX512VPOPCNTDQ)
114-
jit_add_target_info("target_feature", "avx512vpopcntdq");
115-
if (TARGET_FMA)
116-
jit_add_target_info("target_feature", "fma");
117-
if (TARGET_RTM)
118-
jit_add_target_info("target_feature", "rtm");
119-
if (TARGET_SSE4A)
120-
jit_add_target_info("target_feature", "sse4a");
121-
if (TARGET_BMI) {
122-
jit_add_target_info("target_feature", "bmi1");
123-
jit_add_target_info("target_feature", "bmi");
124-
}
125-
if (TARGET_BMI2)
126-
jit_add_target_info("target_feature", "bmi2");
127-
if (TARGET_LZCNT)
128-
jit_add_target_info("target_feature", "lzcnt");
129-
if (TARGET_TBM)
130-
jit_add_target_info("target_feature", "tbm");
131-
if (TARGET_POPCNT)
132-
jit_add_target_info("target_feature", "popcnt");
133-
if (TARGET_RDRND) {
134-
jit_add_target_info("target_feature", "rdrand");
135-
jit_add_target_info("target_feature", "rdrnd");
136-
}
137-
if (TARGET_F16C)
138-
jit_add_target_info("target_feature", "f16c");
139-
if (TARGET_RDSEED)
140-
jit_add_target_info("target_feature", "rdseed");
141-
if (TARGET_ADX)
142-
jit_add_target_info("target_feature", "adx");
143-
if (TARGET_FXSR)
144-
jit_add_target_info("target_feature", "fxsr");
145-
if (TARGET_XSAVE)
146-
jit_add_target_info("target_feature", "xsave");
147-
if (TARGET_XSAVEOPT)
148-
jit_add_target_info("target_feature", "xsaveopt");
149-
if (TARGET_XSAVEC)
150-
jit_add_target_info("target_feature", "xsavec");
151-
if (TARGET_XSAVES)
152-
jit_add_target_info("target_feature", "xsaves");
153-
if (TARGET_VPCLMULQDQ) {
154-
jit_add_target_info("target_feature", "pclmulqdq");
155-
jit_add_target_info("target_feature", "vpclmulqdq");
156-
}
157-
if (TARGET_CMPXCHG16B)
158-
jit_add_target_info("target_feature", "cmpxchg16b");
159-
if (TARGET_MOVBE)
160-
jit_add_target_info("target_feature", "movbe");
161-
if (TARGET_AVX512VBMI2)
162-
jit_add_target_info("target_feature", "avx512vbmi2");
163-
if (TARGET_PKU)
164-
jit_add_target_info("target_feature", "pku");
165-
if (TARGET_AVX512VNNI)
166-
jit_add_target_info("target_feature", "avx512vnni");
167-
if (TARGET_AVX512BF16)
168-
jit_add_target_info("target_feature", "avx512bf16");
169-
if (TARGET_AVX512BITALG)
170-
jit_add_target_info("target_feature", "avx512bitalg");
171-
if (TARGET_AVX512VP2INTERSECT)
172-
jit_add_target_info("target_feature", "avx512vp2intersect");
173-
if (TARGET_PCLMUL)
174-
jit_add_target_info("target_feature", "pclmul");
175-
if (TARGET_GFNI)
176-
jit_add_target_info("target_feature", "gfni");
177-
if (TARGET_FMA4)
178-
jit_add_target_info("target_feature", "fma4");
179-
if (TARGET_XOP)
180-
jit_add_target_info("target_feature", "xop");
181-
182-
// this is only enabled by choice in llvm, never by default - TODO determine if gcc enables it
183-
// jit_add_target_info("target_feature", "sse-unaligned-mem");
184-
185-
if (TARGET_VAES)
186-
jit_add_target_info("target_feature", "vaes");
187-
if (TARGET_LWP)
188-
jit_add_target_info("target_feature", "lwp");
189-
if (TARGET_FSGSBASE)
190-
jit_add_target_info("target_feature", "fsgsbase");
191-
if (TARGET_SHSTK)
192-
jit_add_target_info("target_feature", "shstk");
193-
if (TARGET_PRFCHW)
194-
jit_add_target_info("target_feature", "prfchw");
195-
if (TARGET_SAHF) // would this be better as TARGET_USE_SAHF?
196-
jit_add_target_info("target_feature", "sahf");
197-
if (TARGET_MWAITX)
198-
jit_add_target_info("target_feature", "mwaitx");
199-
if (TARGET_CLZERO)
200-
jit_add_target_info("target_feature", "clzero");
201-
if (TARGET_CLDEMOTE)
202-
jit_add_target_info("target_feature", "cldemote");
203-
if (TARGET_PTWRITE)
204-
jit_add_target_info("target_feature", "ptwrite");
205-
bool hasERMSB = ix86_arch == PROCESSOR_HASWELL || ix86_arch == PROCESSOR_SKYLAKE
206-
|| ix86_arch == PROCESSOR_SKYLAKE_AVX512 || ix86_arch == PROCESSOR_CANNONLAKE
207-
|| ix86_arch == PROCESSOR_ICELAKE_CLIENT || ix86_arch == PROCESSOR_ICELAKE_SERVER
208-
|| ix86_arch == PROCESSOR_CASCADELAKE || ix86_arch == PROCESSOR_TIGERLAKE
209-
|| ix86_arch == PROCESSOR_COOPERLAKE;
210-
if (hasERMSB)
211-
jit_add_target_info("target_feature", "ermsbd");
73+
#define ADD_TARGET_INFO jit_add_target_info
74+
#include "i386-rust-and-jit.inc"
75+
#undef ADD_TARGET_INFO
21276
}

0 commit comments

Comments
 (0)