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

Implement shufflevector builtin. #36650

Merged
merged 1 commit into from
Apr 5, 2021

Conversation

stephentyrone
Copy link
Contributor

The only constant mask you can get at from Swift at present is the zeroinitializer, but even that is quite useful for optimizing SIMD.init(repeating:). At some future point we should wire up generating constant masks for the .even, .odd, .high and .low properties (and also eventually make shufflevector take non-constant masks in LLVM). But this is enough to be useful, so let's get it in.

This isn't _terribly_ useful as-is, because the only constant mask you can get at from Swift at present is the zeroinitializer, but even that is quite useful for optimizing the repeating: intializer on SIMD. At some future point we should wire up generating constant masks for the .even, .odd, .high and .low properties (and also eventually make shufflevector take non-constant masks in LLVM). But this is enough to be useful, so let's get it in.
@stephentyrone
Copy link
Contributor Author

@swift-ci smoke test

@stephentyrone
Copy link
Contributor Author

@swift-ci please smoke test

1 similar comment
@stephentyrone
Copy link
Contributor Author

@swift-ci please smoke test

@stephentyrone
Copy link
Contributor Author

@swift-ci smoke test macOS

1 similar comment
@stephentyrone
Copy link
Contributor Author

@swift-ci smoke test macOS

@stephentyrone stephentyrone merged commit 511b50e into swiftlang:main Apr 5, 2021
@stephentyrone stephentyrone deleted the shuffle-dem-vectors branch April 5, 2021 03:23
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.

None yet

1 participant