Skip to content

Imply -msimd128 when -msse* or other similar flags are specified #12714

Open
@RReverser

Description

@RReverser

Right now, Emscripten errors out if one of the SIMD flags, e.g. -msse2, is used without also specifying -msimd128.

While this works fine for Wasm-specific projects, it adds friction to building existing projects relying on SSE intrinsics. For example, CMake checks that try to use those flags, error out by default, and the only ways to fix it are either 1) modify CFLAGS / CXXFLAGS / etc. on the caller side to include -msimd128, which will now affect all targets in CMake and not only those that used -msse2 or 2) selectively modify CMakeFiles to include this extra flag only in places where -msse2 is used too and only on Emscripten target.

Both those options are a bit cumbersome and I'd argue the underlying friction is unnecessary. Just like -pthread implies enabling atomics, bulk-memory etc., -msse2 and friends should imply enabling -msimd128 feature, as on their own they already are a clear signal that user intends to use SIMD instructions.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions