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
- "Property (urp_ReflProbes_BoxMin) exceeds previous array size" warning spams console after switching platforms
- Have to change Input Mapping Path twice for change to take effect when Auto-Save is enabled
- No Duplicate option is available when right clicking States in the Animator Window even though it's available via Shortcut
- Copied and Pasted States appear in a set location instead of where the Users cursor is located at when using the Pasting Shortcut
- Animator Component information box text is not centered
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.