Skip to content

Commit b3094b8

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

File tree

1 file changed

+26
-48
lines changed

1 file changed

+26
-48
lines changed

rvv-intrinsic-generator/Makefile

Lines changed: 26 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,20 @@ define gen_docs
132132
$(TRIGGER_VENDOR_INST) $(TRIGGER_SKIP_DEFAULT_INST)
133133
endef
134134

135+
define gen_doc_rule
136+
$(call gen_doc,$(1),$(2),$(patsubst bf16-%,%,$(patsubst vector-crypto-%,%,$@)),$(3) $(EXTRA_FLAG))
137+
$(call gen_doc,$(4),$(2),$(patsubst bf16-%,%,$(patsubst vector-crypto-%,%,$@)),--has-policy $(3) $(EXTRA_FLAG))
138+
$(call clang_format_adoc, --file, $(1)/$(2))
139+
$(call clang_format_adoc, --file, $(4)/$(2))
140+
endef
141+
142+
define gen_docs_rule
143+
$(call gen_docs,$(1),$(2),$(patsubst bf16-%,%,$(patsubst vector-crypto-%,%,$@)),$(3) $(EXTRA_FLAG))
144+
$(call gen_docs,$(4),$(2),$(patsubst bf16-%,%,$(patsubst vector-crypto-%,%,$@)),--has-policy $(3) $(EXTRA_FLAG))
145+
$(call clang_format_adoc, --folder, $(1)/$(2))
146+
$(call clang_format_adoc, --folder, $(4)/$(2))
147+
endef
148+
135149
define gen_tests
136150
rm -f $(1)/*.c
137151
$(PY3) -m $(MAIN) --gen $(2) \
@@ -181,31 +195,19 @@ gen-gnu-test: gnu-overloaded-test gnu-non-overloaded-test
181195

182196
# Generate all-in-one document for non-overloaded intrinsics
183197
non-overloaded-doc:
184-
$(call gen_doc,$(DIR),intrinsic_funcs.adoc,$@,$(EXTRA_FLAG))
185-
$(call gen_doc,$(POLICY_DIR),intrinsic_funcs.adoc,$@,--has-policy $(EXTRA_FLAG))
186-
$(call clang_format_adoc, --file, $(DIR)/intrinsic_funcs.adoc)
187-
$(call clang_format_adoc, --file, $(POLICY_DIR)/intrinsic_funcs.adoc)
198+
$(call gen_doc_rule,$(DIR),intrinsic_funcs.adoc,,$(POLICY_DIR))
188199

189200
# Generate grouped documents for non-overloaded intrinsics
190201
non-overloaded-docs:
191-
$(call gen_docs,$(DIR),intrinsic_funcs,$@,$(EXTRA_FLAG))
192-
$(call gen_docs,$(POLICY_DIR),intrinsic_funcs,$@,--has-policy $(EXTRA_FLAG))
193-
$(call clang_format_adoc, --folder, $(DIR)/intrinsic_funcs)
194-
$(call clang_format_adoc, --folder, $(POLICY_DIR)/intrinsic_funcs)
202+
$(call gen_docs_rule,$(DIR),intrinsic_funcs,,$(POLICY_DIR))
195203

196204
# Generate all-in-one document for overloaded intrinsics
197205
overloaded-doc:
198-
$(call gen_doc,$(DIR),overloaded_intrinsic_funcs.adoc,$@,$(EXTRA_FLAG))
199-
$(call gen_doc,$(POLICY_DIR),overloaded_intrinsic_funcs.adoc,$@,--has-policy $(EXTRA_FLAG))
200-
$(call clang_format_adoc, --file, $(DIR)/overloaded_intrinsic_funcs.adoc)
201-
$(call clang_format_adoc, --file, $(POLICY_DIR)/overloaded_intrinsic_funcs.adoc)
206+
$(call gen_doc_rule,$(DIR),overloaded_intrinsic_funcs.adoc,,$(POLICY_DIR))
202207

203208
# Generate grouped documents for overloaded intrinsics
204209
overloaded-docs:
205-
$(call gen_docs,$(DIR),overloaded_intrinsic_funcs,$@,$(EXTRA_FLAG))
206-
$(call gen_docs,$(POLICY_DIR),overloaded_intrinsic_funcs,$@,--has-policy $(EXTRA_FLAG))
207-
$(call clang_format_adoc, --folder, $(DIR)/overloaded_intrinsic_funcs)
208-
$(call clang_format_adoc, --folder, $(POLICY_DIR)/overloaded_intrinsic_funcs)
210+
$(call gen_docs_rule,$(DIR),overloaded_intrinsic_funcs,,$(POLICY_DIR))
209211

210212
# Generate non-overloaded intrinsic testing C source files
211213
non-overloaded-test:
@@ -251,28 +253,16 @@ gnu-overloaded-test:
251253

252254
# BFloat16 documents
253255
bf16-non-overloaded-doc:
254-
$(call gen_doc, $(BF16_DIR),intrinsic_funcs.adoc,non-overloaded-doc,--skip-default-inst --vendor-inst $(BF16_INST))
255-
$(call gen_doc, $(BF16_POLICY_DIR),intrinsic_funcs.adoc,non-overloaded-doc,--has-policy --skip-default-inst --vendor-inst $(BF16_INST))
256-
$(call clang_format_adoc, --file, $(BF16_DIR)/intrinsic_funcs.adoc)
257-
$(call clang_format_adoc, --file, $(BF16_POLICY_DIR)/intrinsic_funcs.adoc)
256+
$(call gen_doc_rule,$(BF16_DIR),intrinsic_funcs.adoc,--skip-default-inst --vendor-inst $(BF16_INST),$(BF16_POLICY_DIR))
258257

259258
bf16-non-overloaded-docs:
260-
$(call gen_doc, $(BF16_DIR),intrinsic_funcs,non-overloaded-docs,--skip-default-inst --vendor-inst $(BF16_INST))
261-
$(call gen_doc, $(BF16_POLICY_DIR),intrinsic_funcs,non-overloaded-docs,--has-policy --skip-default-inst --vendor-inst $(BF16_INST))
262-
$(call clang_format_adoc, --folder, $(BF16_DIR)/intrinsic_funcs)
263-
$(call clang_format_adoc, --folder, $(BF16_POLICY_DIR)/intrinsic_funcs)
259+
$(call gen_docs_rule,$(BF16_DIR),intrinsic_funcs,--skip-default-inst --vendor-inst $(BF16_INST),$(BF16_POLICY_DIR))
264260

265261
bf16-overloaded-doc:
266-
$(call gen_doc, $(BF16_DIR),overloaded_intrinsic_funcs.adoc,overloaded-doc,--skip-default-inst --vendor-inst $(BF16_INST))
267-
$(call gen_doc, $(BF16_POLICY_DIR),overloaded_intrinsic_funcs.adoc,overloaded-doc,--has-policy --skip-default-inst --vendor-inst $(BF16_INST))
268-
$(call clang_format_adoc, --file, $(BF16_DIR)/overloaded_intrinsic_funcs.adoc)
269-
$(call clang_format_adoc, --file, $(BF16_POLICY_DIR)/overloaded_intrinsic_funcs.adoc)
262+
$(call gen_doc_rule,$(BF16_DIR),overloaded_intrinsic_funcs.adoc,--skip-default-inst --vendor-inst $(BF16_INST),$(BF16_POLICY_DIR))
270263

271264
bf16-overloaded-docs:
272-
$(call gen_doc, $(BF16_DIR),overloaded_intrinsic_funcs,overloaded-docs,--skip-default-inst --vendor-inst $(BF16_INST))
273-
$(call gen_doc, $(BF16_POLICY_DIR),overloaded_intrinsic_funcs,overloaded-docs,--has-policy --skip-default-inst --vendor-inst $(BF16_INST))
274-
$(call clang_format_adoc, --folder, $(BF16_DIR)/overloaded_intrinsic_funcs)
275-
$(call clang_format_adoc, --folder, $(BF16_POLICY_DIR)/overloaded_intrinsic_funcs)
265+
$(call gen_docs_rule,$(BF16_DIR),overloaded_intrinsic_funcs,--skip-default-inst --vendor-inst $(BF16_INST),$(BF16_POLICY_DIR))
276266

277267
# BFloat16 tests
278268
# Generate non-overloaded intrinsic testing C source files
@@ -309,28 +299,16 @@ bf16-llvm-overloaded-test:
309299

310300
# Vector crypto documents
311301
vector-crypto-non-overloaded-doc:
312-
$(call gen_doc,$(VECTOR_CRYPTO_DIR),intrinsic_funcs.adoc,non-overloaded-doc,--gen-vector-crypto $(EXTRA_FLAG))
313-
$(call gen_doc,$(VECTOR_CRYPTO_POLICY_DIR),intrinsic_funcs.adoc,non-overloaded-doc,--gen-vector-crypto --has-policy $(EXTRA_FLAG))
314-
$(call clang_format_adoc, --file, $(VECTOR_CRYPTO_DIR)/intrinsic_funcs.adoc)
315-
$(call clang_format_adoc, --file, $(VECTOR_CRYPTO_POLICY_DIR)/intrinsic_funcs.adoc)
302+
$(call gen_doc_rule,$(VECTOR_CRYPTO_DIR),intrinsic_funcs.adoc,--gen-vector-crypto,$(VECTOR_CRYPTO_POLICY_DIR))
316303

317304
vector-crypto-non-overloaded-docs:
318-
$(call gen_doc,$(VECTOR_CRYPTO_DIR),intrinsic_funcs,non-overloaded-docs,--gen-vector-crypto $(EXTRA_FLAG))
319-
$(call gen_doc,$(VECTOR_CRYPTO_POLICY_DIR),intrinsic_funcs,non-overloaded-docs,--gen-vector-crypto --has-policy $(EXTRA_FLAG))
320-
$(call clang_format_adoc, --folder, $(VECTOR_CRYPTO_DIR)/intrinsic_funcs)
321-
$(call clang_format_adoc, --folder, $(VECTOR_CRYPTO_POLICY_DIR)/intrinsic_funcs)
305+
$(call gen_docs_rule,$(VECTOR_CRYPTO_DIR),intrinsic_funcs,--gen-vector-crypto,$(VECTOR_CRYPTO_POLICY_DIR))
322306

323307
vector-crypto-overloaded-doc:
324-
$(call gen_doc,$(VECTOR_CRYPTO_DIR),overloaded_intrinsic_funcs.adoc,overloaded-doc,--gen-vector-crypto $(EXTRA_FLAG))
325-
$(call gen_doc,$(VECTOR_CRYPTO_POLICY_DIR),overloaded_intrinsic_funcs.adoc,overloaded-doc,--gen-vector-crypto --has-policy $(EXTRA_FLAG))
326-
$(call clang_format_adoc, --file, $(VECTOR_CRYPTO_DIR)/overloaded_intrinsic_funcs.adoc)
327-
$(call clang_format_adoc, --file, $(VECTOR_CRYPTO_POLICY_DIR)/overloaded_intrinsic_funcs.adoc)
308+
$(call gen_doc_rule,$(VECTOR_CRYPTO_DIR),overloaded_intrinsic_funcs.adoc,--gen-vector-crypto,$(VECTOR_CRYPTO_POLICY_DIR))
328309

329310
vector-crypto-overloaded-docs:
330-
$(call gen_doc,$(VECTOR_CRYPTO_DIR),overloaded_intrinsic_funcs,overloaded-docs,--gen-vector-crypto $(EXTRA_FLAG))
331-
$(call gen_doc,$(VECTOR_CRYPTO_POLICY_DIR),overloaded_intrinsic_funcs,overloaded-docs,--gen-vector-crypto --has-policy $(EXTRA_FLAG))
332-
$(call clang_format_adoc, --folder, $(VECTOR_CRYPTO_DIR)/overloaded_intrinsic_funcs)
333-
$(call clang_format_adoc, --folder, $(VECTOR_CRYPTO_POLICY_DIR)/overloaded_intrinsic_funcs)
311+
$(call gen_docs_rule,$(VECTOR_CRYPTO_DIR),overloaded_intrinsic_funcs,--gen-vector-crypto,$(VECTOR_CRYPTO_POLICY_DIR))
334312

335313
# Vector-crypto tests
336314
vector-crypto-non-overloaded-test:

0 commit comments

Comments
 (0)