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

[SYCL] Workaround for vec::load and vec::store #272

Merged
merged 1 commit into from
Jun 28, 2019

Conversation

againull
Copy link
Contributor

This is a workaround for vec::load and vec::store to avoid unaligned
load and stores.

Signed-off-by: Vlad Romanov vlad.romanov@intel.com

This is a workaround for vec::load and vec::store to avoid unaligned
load and stores.

Signed-off-by: Vlad Romanov <vlad.romanov@intel.com>
@bader bader merged commit aa02e77 into intel:sycl Jun 28, 2019
bb-sycl pushed a commit that referenced this pull request Apr 15, 2022
…n a loop

When untagging the stack, the compiler may emit a sequence like:
```
        .LBB0_1:
          st2g sp, [sp], #32
          sub x8, x8, #32
          cbnz x8, .LBB0_1
          stg sp, [sp], #16
```
These stack adjustments cannot be described by CFI instructions.

This patch disables merging of SP update with untagging, i.e. makes the
compiler use an additional scratch register (there should be plenty
available at this point as we are in the epilogue) and generate:
```
            mov     x9, sp
            mov     x8, #256
            stg     x9, [x9], #16
    .LBB0_1:
            sub     x8, x8, #32
            st2g    x9, [x9], #32
            cbnz    x8, .LBB0_1
            add     sp, sp, #272
```
Merging is disabled only when we need to generate asynchronous unwind
tables.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D114548
@againull againull deleted the WAVecLoadVecStore branch December 3, 2022 00:02
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.

4 participants