Skip to content

ARC-V DSP extensions #89

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: arc-2025.06
Choose a base branch
from
Open

ARC-V DSP extensions #89

wants to merge 3 commits into from

Conversation

artemiy-volkov
Copy link
Collaborator

@artemiy-volkov artemiy-volkov commented May 29, 2025

See commit descriptions.
Do not merge until the GCC part is published and reviewed.

Remove line numbers from x-arcv-udsp-fail.l.

Signed-off-by: Artemiy Volkov <[email protected]>
Copy link

@dobbelaj-snps dobbelaj-snps left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had a rough look at this. Some small comments.

One question: has part of these changes been generated in some way ?

@@ -3152,7 +3152,142 @@ const struct riscv_opcode riscv_opcodes[] =
{"arcv.xvwscjmul.vv", 0, INSN_CLASS_XARCVUDSP, "d,s,t,Xav", MATCH_ARCV_UDSP_XVWSCJMUL_VV, MASK_ARCV_UDSP_XVWSCJMUL_VV, match_opcode, 0},
{"arcv.xvwscrdot.vv", 0, INSN_CLASS_XARCVUDSP, "d,s,t,Xav", MATCH_ARCV_UDSP_XVWSCRDOT_VV, MASK_ARCV_UDSP_XVWSCRDOT_VV, match_opcode, 0},
{"arcv.xvwscjrdot.vv", 0, INSN_CLASS_XARCVUDSP, "d,s,t,Xav", MATCH_ARCV_UDSP_XVWSCJRDOT_VV, MASK_ARCV_UDSP_XVWSCJRDOT_VV, match_opcode, 0},
{"arcv.bitrev", 0, INSN_CLASS_XARCVUDSP, "d,s,t", MATCH_ARCV_UDSP_BITREV, MASK_ARCV_UDSP_BITREV, match_opcode, 0},

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happened to the 'arc.bitrev' for udsp related defines ? ( MATCH_ARCV_UDSP_BITREV )
Should it still exist or is it only part of the XARVBITREV ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is now part of the xarcvbitrev extension, on which xarcvudsp depends

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In that case the MATCH/MASK_ARCV_UDSP_BITREV defines should be omitted as well

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, many thanks.

Comment on lines -77 to -80
arcv.bitrev t0,t3,t6
arcv.bitrev t3,t6,t0
arcv.bitrev t6,t0,t3

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bitrev must still be part of udsp; better to keep checking for that.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These bitrev tests have been moved to x-arcv-bitrev* files.

The arcv.bitrev instruction actually belongs to its own extension
(XARCVbitrev), rather than XARCVudsp.  Remove it.

Signed-off-by: Artemiy Volkov <[email protected]>
This commit implements the following extensions:

XARCVbitrev v1.5.1
XARCVbitstream v1.5.1
XARCVvdsp v1.5.1
XARCVvcplx v1.5.1
XARCVvsad v1.5.1
XARCVmxmb v1.5.1
XARCVmxmc v1.5.1
XARCVmxmd v1.5.1

Signed-off-by: Artemiy Volkov <[email protected]>
@artemiy-volkov
Copy link
Collaborator Author

Had a rough look at this. Some small comments.

One question: has part of these changes been generated in some way ?

Yes, all of them were.

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.

2 participants