Skip to content
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

Consider the Thead extensions #72

Open
koute opened this issue Nov 26, 2023 · 1 comment
Open

Consider the Thead extensions #72

koute opened this issue Nov 26, 2023 · 1 comment
Labels
K-performance Performance optimization P-medium Medium priority

Comments

@koute
Copy link
Collaborator

koute commented Nov 26, 2023

    xtheadba                      - 'xtheadba' (T-Head address calculation instructions).
    xtheadbb                      - 'xtheadbb' (T-Head basic bit-manipulation instructions).
    xtheadbs                      - 'xtheadbs' (T-Head single-bit instructions).
    xtheadcmo                     - 'xtheadcmo' (T-Head cache management instructions).
    xtheadcondmov                 - 'xtheadcondmov' (T-Head conditional move instructions).
    xtheadfmemidx                 - 'xtheadfmemidx' (T-Head FP Indexed Memory Operations).
    xtheadmac                     - 'xtheadmac' (T-Head Multiply-Accumulate Instructions).
    xtheadmemidx                  - 'xtheadmemidx' (T-Head Indexed Memory Operations).
    xtheadmempair                 - 'xtheadmempair' (T-Head two-GPR Memory Operations).
    xtheadsync                    - 'xtheadsync' (T-Head multicore synchronization instructions).
    xtheadvdot                    - 'xtheadvdot' (T-Head Vector Extensions for Dot).
@koute koute added K-performance Performance optimization P-medium Medium priority labels Nov 26, 2023
@koute
Copy link
Collaborator Author

koute commented Nov 26, 2023

Number of instruction from a given extension when compiling the Pinky example:

  • xtheadba - 75
  • xtheadbs - 54
  • xtheadbb - 174
  • xtheadcondmov - 179
  • xtheadmemidx - 67
  • xtheadmempair - 86
  • all above enabled at the same time - 594

The most promising one is most likely the conditional move extension as it's relatively widely applicable, can reduce the number of basic blocks, and the whole extension is only two extra instructions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
K-performance Performance optimization P-medium Medium priority
Projects
None yet
Development

No branches or pull requests

1 participant