You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This makes them match the other docs (e.g. pthreads) and makes the
index levels match, so that under the "Porting" section in the index
there is just one element for SIMD, which expands when you click
on it.
Copy file name to clipboardExpand all lines: site/source/docs/porting/simd.rst
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,15 +33,15 @@ See `WebAssembly Roadmap <https://webassembly.org/roadmap/>`_ for details about
33
33
34
34
An upcoming `Relaxed SIMD proposal <https://github.com/WebAssembly/relaxed-simd/tree/main/proposals/relaxed-simd>`_ will add more SIMD instructions to WebAssembly.
35
35
36
-
================================
36
+
37
37
GCC/Clang SIMD Vector Extensions
38
38
================================
39
39
40
40
At the source level, the GCC/Clang `SIMD Vector Extensions <https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html>`_ can be used and will be lowered to WebAssembly SIMD instructions where possible.
41
41
42
42
This enables developers to create custom wide vector types via typedefs, and use arithmetic operators (+,-,*,/) on the vectorized types, as well as allow individual lane access via the vector[i] notation. However, the `GCC vector built-in functions <https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html>`_ are not available. Instead, use the WebAssembly SIMD Intrinsics functions below.
43
43
44
-
===========================
44
+
45
45
WebAssembly SIMD Intrinsics
46
46
===========================
47
47
@@ -72,7 +72,7 @@ Pass flag ``-msimd128`` at compile time to enable targeting WebAssembly SIMD Int
72
72
73
73
Pass ``-mrelaxed-simd`` to target WebAssembly Relaxed SIMD Intrinsics. C/C++ code can use the built-in preprocessor define ``#ifdef __wasm_relaxed_simd__`` to detect when this target is active.
74
74
75
-
======================================
75
+
76
76
Limitations and behavioral differences
77
77
======================================
78
78
@@ -88,7 +88,7 @@ When porting native SIMD code, it should be noted that because of portability co
88
88
89
89
SIMD-related bug reports are tracked in the `Emscripten bug tracker with the label SIMD <https://github.com/emscripten-core/emscripten/issues?q=is%3Aopen+is%3Aissue+label%3ASIMD>`_.
90
90
91
-
===========================
91
+
92
92
Optimization considerations
93
93
===========================
94
94
@@ -140,7 +140,7 @@ When developing SIMD code to use WebAssembly SIMD, implementors should be aware
140
140
- Included for orthogonality, these instructions have no equivalent x86 instruction and are `emulated with 10 x86 instructions in v8 <https://github.com/v8/v8/blob/b6520eda5eafc3b007a5641b37136dfc9d92f63d/src/compiler/backend/x64/code-generator-x64.cc#L2834-L2858>`_.
0 commit comments