Skip to content
This repository has been archived by the owner on Dec 22, 2021. It is now read-only.

Commit

Permalink
Omit the reciprocal [sqrt] approximation operations.
Browse files Browse the repository at this point in the history
To be debated in #3.

Add a complete list of omitted operations to Overview.md.
  • Loading branch information
Jakob Stoklund Olesen authored and stoklund committed Apr 25, 2017
1 parent 4c6fa4f commit 2ce1c71
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
11 changes: 7 additions & 4 deletions proposals/simd/Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,19 @@ There are three parts to the proposal:
3. This document which describes the mapping between WebAssembly and the
portable specification.

Referencing a common specification of the portable SIMD semantics reduces the
work required to support both SIMD.js and WebAssembly SIMD in the same
implementation.

# Mapping portable SIMD to WebAssembly

The types and operations in the portable SIMD specification are relatively
straightforward to map to WebAssembly. This section describes the details of
the mapping.

The following operations are *not* provided in WebAssembly:

- `f*.maxNum` and `f*.minNum`. These NaN-suppressing operations don't exist in
scalar WebAssembly versions either. The NaN-propagating versions are provided.
- `f*.reciprocalApproximation` and `f*.reciprocalSqrtApproximation` are omitted
from WebAssembly pending further discussion.

## New value types

The following value types are added to the WebAssembly type system to support
Expand Down
4 changes: 0 additions & 4 deletions proposals/simd/webassembly-opcodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,6 @@ and output vectors:
| `f32x4.max(a: v128, b: v128) -> v128` | [f32x4.max](portable-simd.md#nan-propagating-maximum) |
| `f32x4.div(a: v128, b: v128) -> v128` | [f32x4.div](portable-simd.md#division) |
| `f32x4.sqrt(a: v128) -> v128` | [f32x4.sqrt](portable-simd.md#square-root) |
| `f32x4.reciprocalApproximation(a: v128) -> v128` | [f32x4.reciprocalApproximation](portable-simd.md#reciprocal-approximation) |
| `f32x4.reciprocalSqrtApproximation(a: v128) -> v128` | [f32x4.reciprocalSqrtApproximation](portable-simd.md#reciprocal-square-root-approximation) |
| `f32x4.convert_s/i32x4(a: v128) -> v128` | [f32x4.fromSignedInt](portable-simd.md#integer-to-floating-point) |
| `f32x4.convert_u/i32x4(a: v128) -> v128` | [f32x4.fromUnsignedInt](portable-simd.md#integer-to-floating-point) |

Expand Down Expand Up @@ -217,8 +215,6 @@ and output vectors:
| `f64x2.max(a: v128, b: v128) -> v128` | [f64x2.max](portable-simd.md#nan-propagating-maximum) |
| `f64x2.div(a: v128, b: v128) -> v128` | [f64x2.div](portable-simd.md#division) |
| `f64x2.sqrt(a: v128) -> v128` | [f64x2.sqrt](portable-simd.md#square-root) |
| `f64x2.reciprocalApproximation(a: v128) -> v128` | [f64x2.reciprocalApproximation](portable-simd.md#reciprocal-approximation) |
| `f64x2.reciprocalSqrtApproximation(a: v128) -> v128` | [f64x2.reciprocalSqrtApproximation](portable-simd.md#reciprocal-square-root-approximation) |
| `f64x2.convert_s/i64x2(a: v128) -> v128` | [f64x2.fromSignedInt](portable-simd.md#integer-to-floating-point) |
| `f64x2.convert_u/i64x2(a: v128) -> v128` | [f64x2.fromUnsignedInt](portable-simd.md#integer-to-floating-point) |

Expand Down

0 comments on commit 2ce1c71

Please sign in to comment.