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

Backport xtensa_codegen to main (v2) #7432

Open
wants to merge 632 commits into
base: main
Choose a base branch
from
Open

Conversation

steven-johnson
Copy link
Contributor

@steven-johnson steven-johnson commented Mar 17, 2023

This backports the branch for Xtensa codegen into main. Note that it deliberately ignores changes to apps/ (which had grown stale); those changes may or may not be backported at a later date.

Aside from simd_op_check_xtensa, there are few tests for the new codegen paths; the next step to remedy that will be updating the buildbots to add code coverage for the existing test suite to the extent that is possible via AOT only (since the Xtensa codegen does not support JIT).

steven-johnson and others added 30 commits December 13, 2022 12:52
* [xtensa] Add xtensa_io.cpp

This is a better option than posix_io.cpp on Xtensa

* Update xtensa_io.cpp
* [xtensa] DMA support improvements.

This includes multiple related changes:
* all transactions are 2D.
* Each buffer will use a separate DMA channel.
* For the case when destination is an output buffer, we can delay the wait for completion until the beginning of it's producer.

* Fix review comments

* Handle an error in halide_init_dma

* Address review comments
Fix was made in Codegen_C.cpp a while back; the cache must be clear and end-of-func to avoid trying to share assignments between do-par-for lambdas.
Passing __user_context doesn't always get the constness right; _ucon does and is terser
Extend fp16 support for Xtensa
* handle min/max expressions in strides calculations
* more robust check for nested loops
…#7303)

* [xtensa] added infrastructure code for running tests

* moved google related calls to CL
steven-johnson and others added 30 commits March 8, 2024 13:20
…8215)

Fixed index conversion for gather_load with undefined ramp
* [xtensa] Added a new optimize rule to avoid int32->int64->int32 path for a saturated cast of widening shift right

* [xtensa] Added tests for i32_sat(widening_shifts) to simd_op_checik_xtensa

* xtensa shifts handle 32th shift for int32x word differently. Adjusted the tests and add a missing rule for the optimizer.

* Commented on the constraints for the IVP_SRSN_2X32 instruction argument
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.

5 participants