Search Issue Tracker
By Design
Votes
1
Found in [Package]
1.8.4
Issue ID
BUR-2409
Regression
No
Burst does not auto-vectorize a method when the SinCos method is used
Reproduction steps:
1. Open the attached “ASDQWE” project
2. Open the “Asset/Scenes/SampleScene.unity” Scene
3. Open the Burst Inspector (Jobs > Burst > Open Inspector…)
4. Observe the “SinCos128Floats” method
Expected result: The method is automatically vectorized
Actual result: The method is not automatically vectorized and remains unoptimized
Reproducible with: 1.7.4 (2021.3.27f1), 1.8.3(2021.3.27f1), 1.8.4 (2022.3.1f1, 2023.1.0b21, 2023.2.0a18)
Reproducible on: Intel MacOS 13.3.1
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
Resolution Note:
This is, unfortunately, by-design. LLVM's loop vectorizer is currently unable to vectorize calls that have pointer-type parameters, such as sincos.
There's some initial community [effort|https://reviews.llvm.org/D116879] to improve this situation, but that PR is from 2022 and hasn't landed yet. If LLVM gains the ability to vectorize such calls, then we'd be able to make use of it in Burst.