Skip to content

Commit 8ae5801

Browse files
committed
[NFC] Simplify test generation targets
Signed-off-by: Jerry Zhang Jian <[email protected]>
1 parent b3094b8 commit 8ae5801

File tree

1 file changed

+30
-64
lines changed

1 file changed

+30
-64
lines changed

rvv-intrinsic-generator/Makefile

Lines changed: 30 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,22 @@ define gen_tests
153153
$(TRIGGER_VENDOR_INST) $(TRIGGER_SKIP_DEFAULT_INST)
154154
endef
155155

156+
define gen_test_rule
157+
$(call gen_tests,$(1),$(2),$(3) $(EXTRA_FLAG))
158+
$(call gen_tests,$(4),$(2),--has-policy $(3) $(EXTRA_FLAG))
159+
$(if $(filter --toolchain-type gnu,$(3)),,$(call clang_format,$(1)))
160+
$(if $(filter --toolchain-type gnu,$(3)),,$(call clang_format,$(4)))
161+
endef
162+
163+
define gen_llvm_test_rule
164+
$(call gen_tests,$(1),$(2),--toolchain-type llvm $(strip $(3)) $(EXTRA_FLAG))
165+
$(call gen_tests,$(4),$(2),--toolchain-type llvm --has-policy $(strip $(3)) $(EXTRA_FLAG))
166+
$(call replace_float, $(1))
167+
$(call replace_float, $(4))
168+
clang-format -i $(1)/*
169+
clang-format -i $(4)/*
170+
endef
171+
156172
# Compile all *.c under $(1) with $(2), then pretty-print with testing-report
157173
# $(1): Path to testing folder, containing .c files
158174
# $(2): Path to compiler
@@ -211,45 +227,27 @@ overloaded-docs:
211227

212228
# Generate non-overloaded intrinsic testing C source files
213229
non-overloaded-test:
214-
$(call gen_tests,$(DIR)/api-testing,non-overloaded-test,$(EXTRA_FLAG))
215-
$(call gen_tests,$(POLICY_DIR)/api-testing,non-overloaded-test,--has-policy $(EXTRA_FLAG))
216-
clang-format -i $(DIR)/api-testing/*
217-
clang-format -i $(POLICY_DIR)/api-testing/*
230+
$(call gen_test_rule,$(DIR)/api-testing,non-overloaded-test,, $(POLICY_DIR)/api-testing)
218231

219232
# Generate overloaded intrinsic testing C source files
220233
overloaded-test:
221-
$(call gen_tests,$(DIR)/overloaded-api-testing,overloaded-test,$(EXTRA_FLAG))
222-
$(call gen_tests,$(POLICY_DIR)/overloaded-api-testing,overloaded-test,--has-policy $(EXTRA_FLAG))
223-
clang-format -i $(DIR)/overloaded-api-testing/*
224-
clang-format -i $(POLICY_DIR)/overloaded-api-testing/*
234+
$(call gen_test_rule,$(DIR)/overloaded-api-testing,overloaded-test,, $(POLICY_DIR)/overloaded-api-testing)
225235

226236
# Generate non-overloaded intrinsic testing C source files
227237
llvm-non-overloaded-test:
228-
$(call gen_tests,$(DIR)/llvm-api-tests,non-overloaded-test,--toolchain-type llvm $(EXTRA_FLAG))
229-
$(call gen_tests,$(POLICY_DIR)/llvm-api-tests,non-overloaded-test,--toolchain-type llvm --has-policy $(EXTRA_FLAG))
230-
$(call replace_float, $(DIR)/llvm-api-tests)
231-
$(call replace_float, $(POLICY_DIR)/llvm-api-tests)
232-
clang-format -i $(DIR)/llvm-api-tests/*
233-
clang-format -i $(POLICY_DIR)/llvm-api-tests/*
238+
$(call gen_llvm_test_rule,$(DIR)/llvm-api-tests,non-overloaded-test,,$(POLICY_DIR)/llvm-api-tests)
234239

235240
# Generate overloaded intrinsic testing C source files
236241
llvm-overloaded-test:
237-
$(call gen_tests,$(DIR)/llvm-overloaded-tests,overloaded-test,--toolchain-type llvm $(EXTRA_FLAG))
238-
$(call gen_tests,$(POLICY_DIR)/llvm-overloaded-tests,overloaded-test,--toolchain-type llvm --has-policy $(EXTRA_FLAG))
239-
$(call replace_float, $(DIR)/llvm-overloaded-tests)
240-
$(call replace_float, $(POLICY_DIR)/llvm-overloaded-tests)
241-
clang-format -i $(DIR)/llvm-overloaded-tests/*
242-
clang-format -i $(POLICY_DIR)/llvm-overloaded-tests/*
242+
$(call gen_llvm_test_rule,$(DIR)/llvm-overloaded-tests,overloaded-test,,$(POLICY_DIR)/llvm-overloaded-tests)
243243

244244
# Generate GNU non-overloaded intrinsic testing source files
245245
gnu-non-overloaded-test:
246-
$(call gen_tests,$(DIR)/gnu-api-tests,non-overloaded-test,--toolchain-type gnu)
247-
$(call gen_tests,$(POLICY_DIR)/gnu-api-tests,non-overloaded-test,--toolchain-type gnu --has-policy)
246+
$(call gen_test_rule,$(DIR)/gnu-api-tests,non-overloaded-test,--toolchain-type gnu,$(POLICY_DIR)/gnu-api-tests)
248247

249248
# Generate GNU overloaded intrinsic testing source files
250249
gnu-overloaded-test:
251-
$(call gen_tests,$(DIR)/gnu-overloaded-tests,overloaded-test,--toolchain-type gnu)
252-
$(call gen_tests,$(POLICY_DIR)/gnu-overloaded-tests,overloaded-test,--toolchain-type gnu --has-policy)
250+
$(call gen_test_rule,$(DIR)/gnu-overloaded-tests,overloaded-test,--toolchain-type gnu,$(POLICY_DIR)/gnu-overloaded-tests)
253251

254252
# BFloat16 documents
255253
bf16-non-overloaded-doc:
@@ -267,35 +265,19 @@ bf16-overloaded-docs:
267265
# BFloat16 tests
268266
# Generate non-overloaded intrinsic testing C source files
269267
bf16-non-overloaded-test:
270-
$(call gen_tests,$(BF16_DIR)/api-testing,non-overloaded-test,--skip-default-inst --vendor-inst $(BF16_INST))
271-
$(call gen_tests,$(BF16_POLICY_DIR)/api-testing,non-overloaded-test,--has-policy --skip-default-inst --vendor-inst $(BF16_INST))
272-
clang-format -i $(BF16_DIR)/api-testing/*
273-
clang-format -i $(BF16_POLICY_DIR)/api-testing/*
268+
$(call gen_test_rule,$(BF16_DIR)/api-testing,non-overloaded-test,--skip-default-inst --vendor-inst $(BF16_INST),$(BF16_POLICY_DIR)/api-testing)
274269

275270
# Generate overloaded intrinsic testing C source files
276271
bf16-overloaded-test:
277-
$(call gen_tests,$(BF16_DIR)/overloaded-api-testing,overloaded-test,--skip-default-inst --vendor-inst $(BF16_INST))
278-
$(call gen_tests,$(BF16_POLICY_DIR)/overloaded-api-testing,overloaded-test,--has-policy --skip-default-inst --vendor-inst $(BF16_INST))
279-
clang-format -i $(BF16_DIR)/overloaded-api-testing/*
280-
clang-format -i $(BF16_POLICY_DIR)/overloaded-api-testing/*
272+
$(call gen_test_rule,$(BF16_DIR)/overloaded-api-testing,overloaded-test,--skip-default-inst --vendor-inst $(BF16_INST),$(BF16_POLICY_DIR)/overloaded-api-testing)
281273

282274
# Generate non-overloaded intrinsic testing C source files
283275
bf16-llvm-non-overloaded-test:
284-
$(call gen_tests,$(BF16_DIR)/llvm-api-tests,non-overloaded-test,--toolchain-type llvm --skip-default-inst --vendor-inst $(BF16_INST))
285-
$(call gen_tests,$(BF16_POLICY_DIR)/llvm-api-tests,non-overloaded-test,--toolchain-type llvm --has-policy --skip-default-inst --vendor-inst $(BF16_INST))
286-
$(call replace_float, $(BF16_DIR)/llvm-api-tests)
287-
$(call replace_float, $(BF16_POLICY_DIR)/llvm-api-tests)
288-
clang-format -i $(BF16_DIR)/llvm-api-tests/*
289-
clang-format -i $(BF16_POLICY_DIR)/llvm-api-tests/*
276+
$(call gen_llvm_test_rule,$(BF16_DIR)/llvm-api-tests,non-overloaded-test,--skip-default-inst --vendor-inst $(BF16_INST),$(BF16_POLICY_DIR)/llvm-api-tests)
290277

291278
# Generate overloaded intrinsic testing C source files
292279
bf16-llvm-overloaded-test:
293-
$(call gen_tests,$(BF16_DIR)/llvm-overloaded-tests,overloaded-test,--toolchain-type llvm --skip-default-inst --vendor-inst $(BF16_INST))
294-
$(call gen_tests,$(BF16_POLICY_DIR)/llvm-overloaded-tests,overloaded-test,--toolchain-type llvm --has-policy --skip-default-inst --vendor-inst $(BF16_INST))
295-
$(call replace_float, $(BF16_DIR)/llvm-overloaded-tests)
296-
$(call replace_float, $(BF16_POLICY_DIR)/llvm-overloaded-tests)
297-
clang-format -i $(BF16_DIR)/llvm-overloaded-tests/*
298-
clang-format -i $(BF16_POLICY_DIR)/llvm-overloaded-tests/*
280+
$(call gen_llvm_test_rule,$(BF16_DIR)/llvm-overloaded-tests,overloaded-test,--skip-default-inst --vendor-inst $(BF16_INST),$(BF16_POLICY_DIR)/llvm-overloaded-tests)
299281

300282
# Vector crypto documents
301283
vector-crypto-non-overloaded-doc:
@@ -312,32 +294,16 @@ vector-crypto-overloaded-docs:
312294

313295
# Vector-crypto tests
314296
vector-crypto-non-overloaded-test:
315-
$(call gen_tests,$(VECTOR_CRYPTO_DIR)/api-testing,non-overloaded-test,--gen-vector-crypto $(EXTRA_FLAG))
316-
$(call gen_tests,$(VECTOR_CRYPTO_POLICY_DIR)/api-testing,non-overloaded-test,--gen-vector-crypto --has-policy $(EXTRA_FLAG))
317-
clang-format -i $(VECTOR_CRYPTO_DIR)/api-testing/*
318-
clang-format -i $(VECTOR_CRYPTO_POLICY_DIR)/api-testing/*
297+
$(call gen_test_rule,$(VECTOR_CRYPTO_DIR)/api-testing,non-overloaded-test,--gen-vector-crypto, $(VECTOR_CRYPTO_POLICY_DIR)/api-testing)
319298

320299
vector-crypto-overloaded-test:
321-
$(call gen_tests,$(VECTOR_CRYPTO_DIR)/overloaded-api-testing,overloaded-test,--gen-vector-crypto $(EXTRA_FLAG))
322-
$(call gen_tests,$(VECTOR_CRYPTO_POLICY_DIR)/overloaded-api-testing,overloaded-test,--gen-vector-crypto --has-policy $(EXTRA_FLAG))
323-
clang-format -i $(VECTOR_CRYPTO_DIR)/overloaded-api-testing/*
324-
clang-format -i $(VECTOR_CRYPTO_POLICY_DIR)/overloaded-api-testing/*
300+
$(call gen_test_rule,$(VECTOR_CRYPTO_DIR)/overloaded-api-testing,overloaded-test,--gen-vector-crypto, $(VECTOR_CRYPTO_POLICY_DIR)/overloaded-api-testing)
325301

326302
vector-crypto-llvm-non-overloaded-test:
327-
$(call gen_tests,$(VECTOR_CRYPTO_DIR)/llvm-api-tests,non-overloaded-test,--toolchain-type llvm --gen-vector-crypto $(EXTRA_FLAG))
328-
$(call gen_tests,$(VECTOR_CRYPTO_POLICY_DIR)/llvm-api-tests,non-overloaded-test,--toolchain-type llvm --gen-vector-crypto --has-policy $(EXTRA_FLAG))
329-
$(call replace_float, $(VECTOR_CRYPTO_DIR)/llvm-api-tests)
330-
$(call replace_float, $(VECTOR_CRYPTO_POLICY_DIR)/llvm-api-tests)
331-
clang-format -i $(VECTOR_CRYPTO_DIR)/llvm-api-tests/*
332-
clang-format -i $(VECTOR_CRYPTO_POLICY_DIR)/llvm-api-tests/*
303+
$(call gen_llvm_test_rule,$(VECTOR_CRYPTO_DIR)/llvm-api-tests,non-overloaded-test,--gen-vector-crypto,$(VECTOR_CRYPTO_POLICY_DIR)/llvm-api-tests)
333304

334305
vector-crypto-llvm-overloaded-test:
335-
$(call gen_tests,$(VECTOR_CRYPTO_DIR)/llvm-overloaded-tests,overloaded-test,--toolchain-type llvm --gen-vector-crypto $(EXTRA_FLAG))
336-
$(call gen_tests,$(VECTOR_CRYPTO_POLICY_DIR)/llvm-overloaded-tests,overloaded-test,--toolchain-type llvm --gen-vector-crypto --has-policy $(EXTRA_FLAG))
337-
$(call replace_float, $(VECTOR_CRYPTO_DIR)/llvm-overloaded-tests)
338-
$(call replace_float, $(VECTOR_CRYPTO_POLICY_DIR)/llvm-overloaded-tests)
339-
clang-format -i $(VECTOR_CRYPTO_DIR)/llvm-overloaded-tests/*
340-
clang-format -i $(VECTOR_CRYPTO_POLICY_DIR)/llvm-overloaded-tests/*
306+
$(call gen_llvm_test_rule,$(VECTOR_CRYPTO_DIR)/llvm-overloaded-tests,overloaded-test,--gen-vector-crypto,$(VECTOR_CRYPTO_POLICY_DIR)/llvm-overloaded-tests)
341307

342308
###############################################################################
343309

0 commit comments

Comments
 (0)