Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading.
Please reload this page
.
dotnet
/
runtime
Public
Notifications
You must be signed in to change notification settings
Fork
5.6k
Star
18.3k
Code
Issues
5k+
Pull requests
563
Discussions
Actions
Projects
Security and quality
67
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Add vectorized paths for Span<T>.Reverse
- #64412
#64412
Merged
adamsitnik
merged 14 commits into
dotnet:main
dotnet/runtime:main
from
amd:vectorize-span-reverse
amd/dotnet-runtime:vectorize-span-reverse
Copy head branch name to clipboard
Apr 26, 2022
Conversation
Commits
14
(14)
Checks
Files changed
Merged
Add vectorized paths for Span<T>.Reverse
#64412
adamsitnik
merged 14 commits into
dotnet:main
dotnet/runtime:main
from
amd:vectorize-span-reverse
amd/dotnet-runtime:vectorize-span-reverse
Copy head branch name to clipboard
Commits
Commits on Apr 25, 2022
Adding vectorized path for Span<byte>.Reverse that uses SSSE3 and AVX2 where possible
alexcovington
committed
904bb85
View commit details
Copy full SHA for 904bb85
Browse repository at this point
Added vectorized paths for Span<T>.Reverse for primitive types that are the same size as char, int, or long that use AVX2 or SSSE3 where possible
alexcovington
committed
088771f
View commit details
Copy full SHA for 088771f
Browse repository at this point
Apply suggestions from code review
Show description for fd882e9
alexcovington
and
teo-tsirpanis
committed
fd882e9
View commit details
Copy full SHA for fd882e9
Browse repository at this point
Added vectorized paths for Span.Reverse to Array.Reverse. Added explicit inlining and moved generic fallbacks into their own private methods.
alexcovington
committed
74deff7
View commit details
Copy full SHA for 74deff7
Browse repository at this point
Consolidate fall back case into single method, use one wrapper for both Span.Reverse and Array.Reverse
alexcovington
committed
2899789
View commit details
Copy full SHA for 2899789
Browse repository at this point
Remove redundant AggressiveInlining, add AggressiveInlining to single wrapper instead
alexcovington
committed
a6c8101
View commit details
Copy full SHA for a6c8101
Browse repository at this point
Simplify method names, add comments
alexcovington
committed
3aa7cf1
View commit details
Copy full SHA for 3aa7cf1
Browse repository at this point
Just overload Reverse
alexcovington
committed
86caa86
View commit details
Copy full SHA for 86caa86
Browse repository at this point
Use Unsafe.Subtract where it is semantically more intuitive, camelCase for reverseMask variable
alexcovington
committed
7c4cd52
View commit details
Copy full SHA for 7c4cd52
Browse repository at this point
Camel case formatting, add condition check for Array.Reverse to avoid reversing empty or single-element array, better shuffle for int and long Reverse using bit control mask instead of vector contr…
Show description for 3c3f140
alexcovington
committed
3c3f140
View commit details
Copy full SHA for 3c3f140
Browse repository at this point
Rework loops to use new LoadUnsafe/StoreUnsafe vector APIs. Use Permute4x64 and PermuteVar8x32 for Int32 and Int64 respectively to reduce total operations.
alexcovington
committed
94f45cc
View commit details
Copy full SHA for 94f45cc
Browse repository at this point
Improve readability of code
alexcovington
committed
39e906f
View commit details
Copy full SHA for 39e906f
Browse repository at this point
Fix formatting, fix typos in comments
alexcovington
committed
1ed5bef
View commit details
Copy full SHA for 1ed5bef
Browse repository at this point
Use temporary variable for generic case instead for better IL
alexcovington
committed
80ae8ab
View commit details
Copy full SHA for 80ae8ab
Browse repository at this point
You can’t perform that action at this time.