Skip to content

Conversation

CohenArthur
Copy link
Member

Requires #3 so only review the last two commits

@CohenArthur CohenArthur force-pushed the builtins/misc-plus-cmdbuf branch 3 times, most recently from b75b0ac to 81f9fbd Compare October 16, 2025 18:06
This commit adds basic support for the ttrocc RISC-V extension as well as
two builtins, __builtin_riscv_ttrocc_noc_fence() and __builtin_riscv_ttrocc_dbg_postcode()

gcc/ChangeLog:

	* common/config/riscv/riscv-common.cc: Add ttrocc extension.
	* config/riscv/riscv-builtins.cc: Insert ttrocc def file, define rocc availability
	macro.
	* config/riscv/riscv-ftypes.def: Define required types for all builtins of the spec.
	* config/riscv/riscv.md: Include ttrocc machine description file.
	* config/riscv/riscv.opt: Add ttrocc extension flag.
	* config/riscv/ttrocc.def: New file.
	* config/riscv/ttrocc.md: New file.

gcc/testsuite/ChangeLog:

	* gcc.target/riscv/ttrocc_dbg_postcode.c: New test.
	* gcc.target/riscv/ttrocc_noc_fence.c: New test.
gcc/ChangeLog:

	* config/riscv/riscv-builtins.cc: Change start index of sfpu builtins.
	* config/riscv/ttrocc.def: Add definitions for misc and cmdbuf builtins.
	* config/riscv/ttrocc.md (riscv_ttrocc_llk_intf_write): New insn.
	(riscv_ttrocc_llk_intf_read): Likewise.
	(riscv_ttrocc_fds_intf_write): Likewise.
	(riscv_ttrocc_fds_intf_read): Likewise.
	(riscv_ttrocc_cmdbuf_wr_reg): Likewise.
	(riscv_ttrocc_cmdbuf_rd_reg): Likewise.
	(riscv_ttrocc_cmdbuf_get_vc_space): Likewise.
	(riscv_ttrocc_cmdbuf_get_vc_space_vc): Likewise.
	(riscv_ttrocc_cmdbuf_wr_sent): Likewise.
	(riscv_ttrocc_cmdbuf_wr_sent_trid): Likewise.
	(riscv_ttrocc_cmdbuf_tr_ack): Likewise.
	(riscv_ttrocc_cmdbuf_tr_ack_trid): Likewise.
	(riscv_ttrocc_cmdbuf_reset): Likewise.
	(riscv_ttrocc_cmdbuf_idma_get_vc_space): Likewise.
	(riscv_ttrocc_cmdbuf_idma_get_vc_space_vc): Likewise.
	(riscv_ttrocc_cmdbuf_idma_tr_ack): Likewise.
	(riscv_ttrocc_cmdbuf_idma_tr_ack_trid): Likewise.
	(riscv_ttrocc_cmdbuf_issue_trans): Likewise.
	(riscv_ttrocc_cmdbuf_issue_inline_trans): Likewise.
	(riscv_ttrocc_cmdbuf_issue_inline_addr_trans): Likewise.
	(riscv_ttrocc_cmdbuf_issue_read1_trans): Likewise.
	(riscv_ttrocc_cmdbuf_issue_read2_trans): Likewise.
	(riscv_ttrocc_cmdbuf_issue_write1_trans): Likewise.
	(riscv_ttrocc_cmdbuf_issue_write2_trans): Likewise.

gcc/testsuite/ChangeLog:

	* gcc.target/riscv/ttrocc_cmdbuf.c: New test.
	* gcc.target/riscv/ttrocc_fds.c: New test.
	* gcc.target/riscv/ttrocc_llk.c: New test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant