Search Issue Tracker
By Design
By Design in 1.8.X
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
- Texture Import Warnings are obscured by other Terrain Layer options in the Inspector
- Burst Inspector middle divider is jittering when resized with the Burst Inspector window docked
- JsonConvert conversion fails trying to call GetCallbackMethodsForType when [OnDeserialized] is used in a class
- Different text alignment in the column header in Entities "System" window
- Objects with Universal Render Pipeline/Particles/Lit shader are always lit up when changing their Rendering Layer Mask
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.
Resolution Note (1.8.X):
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.