@@ -132,6 +132,20 @@ define gen_docs
132132 $(TRIGGER_VENDOR_INST ) $(TRIGGER_SKIP_DEFAULT_INST )
133133endef
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+
135149define 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
183197non-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
190201non-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
197205overloaded-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
204209overloaded-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
211213non-overloaded-test :
@@ -251,28 +253,16 @@ gnu-overloaded-test:
251253
252254# BFloat16 documents
253255bf16-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
259258bf16-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
265261bf16-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
271264bf16-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
311301vector-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
317304vector-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
323307vector-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
329310vector-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
336314vector-crypto-non-overloaded-test :
0 commit comments