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
- ACES Tonemapping causes banding artifacts and negative values in ColorGradingLUT when HDR is enabled and "High Dynamic Range" Grading mode is selected while Android Platform is used
- Android Player freezes when an Audio Source is playing and an incoming call is picked up and then hung up and the Audio Source is started again
- Green success icon is poorly visible in the light Unity theme
- Incorrect input into the Input Field when using Microsoft IME Japanese
- Multiplayer role "ClientAndServer" is displayed without the spaces in the "Play Mode Scenarios" window
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.