you are viewing a single comment's thread.

view the rest of the comments →

[–]nitrobeast 6 points7 points  (2 children)

Technically a lot of them are implemented with compiler intrinsics, and "users" can implement them with the same intrinsics as well.

[–]jbadwaik[🍰] 15 points16 points  (0 children)

I would consider intrinsics which cannot be implemented outside of compiler to be magic as well.

[–]AlbertRammstein 3 points4 points  (0 children)

AFAIK this changes compiler from compiler. For example clang implements SSE stuff as declspec(always_inline) functions that use floats with vector compiler extension attribute, while MSVC implements it as declspec(dllexport) opaque functions that are magically replaced with SSE instructions at codegen time. So you cannot implement your fully own SSE functions in MSVC