Skip to content

Commit a765272

Browse files
Minimal SIMD types support
Nothing is implemented yet but just not to prevent parsing a name section of a module with SIMD types.
1 parent e714e82 commit a765272

File tree

4 files changed

+6
-0
lines changed

4 files changed

+6
-0
lines changed

Sources/WAT/Encoder.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ extension ValueType: WasmEncodable {
119119
case .i64: encoder.output.append(0x7E)
120120
case .f32: encoder.output.append(0x7D)
121121
case .f64: encoder.output.append(0x7C)
122+
case .v128: encoder.output.append(0x7B)
122123
case .ref(let refType): refType.encode(to: &encoder)
123124
}
124125
}

Sources/WasmKit/Execution/UntypedValue.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ struct UntypedValue: Equatable, Hashable {
142142
case .i64: return .i64(i64)
143143
case .f32: return .f32(rawF32)
144144
case .f64: return .f64(rawF64)
145+
case .v128:
146+
fatalError("v128 value type is not supported yet.")
145147
case .ref(let referenceType):
146148
return .ref(asReference(referenceType))
147149
}

Sources/WasmParser/WasmParser.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,7 @@ extension Parser {
430430
case 0x7E: return .i64
431431
case 0x7D: return .f32
432432
case 0x7C: return .f64
433+
case 0x7B: return .f64
433434
case 0x70: return .ref(.funcRef)
434435
case 0x6F: return .ref(.externRef)
435436
default:

Sources/WasmTypes/WasmTypes.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ public enum ValueType: Equatable, Hashable {
3131
case f32
3232
/// 64-bit IEEE 754 floating-point number.
3333
case f64
34+
/// 128-bit vector of packed integer or floating-point data.
35+
case v128
3436
/// Reference value type.
3537
case ref(ReferenceType)
3638
}

0 commit comments

Comments
 (0)