Search Issue Tracker
By Design
Votes
1
Found in [Package]
1.8.4
Issue ID
BUR-2410
Regression
No
SLEEF Calls are not automatically vectorized when FloatMode.Deterministic 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 “Sin128Floats” and “SinDeterministic128Floats” methods
Expected result: The methods are vectorized
Actual result: The “SinDeterministic128Floats” method is not vectorized while “Sin128Floats” is
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.4
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
- GPU utilization increases by 20% on Meta Quest headsets when Render Graph is enabled on 6000.0.16f1 and higher
- Value on Slider (Int) control in UI Builder displays as default when saving UI Document
- Color mismatch in UI Builders Library panel when the Editors theme is set to Light Mode
- [Android ] "AndroidJNI.ToBooleanArray" returns a random non-zero value instead of "IntPtr.Zero" when the method argument is null
- Non-HDR color picker opens when selecting material color with HDR enabled
Resolution Note:
We've investigated this, and while it may be possible to improve the situation here in the future, it's currently working as-designed, so I'm going to close this bug.
Currently, vectorization is intentionally disabled when FloatMode.Deterministic is used, because LLVM can use some non-deterministic instructions when vectorizing, specifically on Arm/Neon where it doesn't respect the floating-point control register.
We may be able to do something here, but it's enough work that we'll need to treat it as a feature request, so I've logged that for us to consider.