Skip to content

Support denormal flush to zero mode #1290

@squidbus

Description

@squidbus

The project https://github.com/hedge-dev/XenonRecomp is used for a recompilation of the game Sonic Unleashed from Xbox 360 to PC. There's a PR open now to use simde for SIMD intrinsics, to make the generated code cross-architecture instead of x86_64 only.

We noticed however that denormal flush to zero flags don't seem to be supported by simde; for example, _MM_FLUSH_ZERO_MASK seems to be ignored and _MM_DENORMALS_ZERO_MASK does not exist at all. These flags are required to make part of the game work properly.

Right now we are handling this by manually setting FPCR bits for ARM64 instead of using simde_mm_getcsr/simde_mm_setcsr, but it would be easier for us if simde could support handling these bits.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions