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

Workaround wrong codegen with ASAN+std::simd #780

Conversation

bernhardmgruber
Copy link
Member

This is a workaround for GCC > 11 generating an aligned store to an unaligned address when calling placement new on std::simd, when ASAN is enabled.

Fixes: #777

@codecov
Copy link

codecov bot commented Sep 28, 2023

Codecov Report

Merging #780 (55f27e0) into develop (06c03c2) will increase coverage by 0.00%.
The diff coverage is 100.00%.

❗ Current head 55f27e0 differs from pull request most recent head b5279fc. Consider uploading reports for the commit b5279fc to get more accurate results

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #780   +/-   ##
========================================
  Coverage    98.79%   98.79%           
========================================
  Files           75       75           
  Lines         7306     7309    +3     
========================================
+ Hits          7218     7221    +3     
  Misses          88       88           

This is a workaround for GCC > 11 generating an aligned store to an unaligned address when calling placement new on std::simd, when ASAN is enabled.

Fixes: alpaka-group#777
@bernhardmgruber
Copy link
Member Author

There seems to be more places where g++-12 with ASan creates wrong code when SIMD is involved ..

@bernhardmgruber
Copy link
Member Author

Superseded by #783

@bernhardmgruber bernhardmgruber deleted the constructfields_asan branch October 2, 2023 10:05
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.

SEGV in std::simd tests
1 participant