@@ -4160,9 +4160,11 @@ function builtin_v128_load_zero(ctx: BuiltinContext): ExpressionRef {
4160
4160
if ( type . isValue ) {
4161
4161
switch ( type . kind ) {
4162
4162
case TypeKind . I32 :
4163
- case TypeKind . U32 : return module . simd_load ( SIMDLoadOp . Load32Zero , arg0 , immOffset , immAlign ) ;
4163
+ case TypeKind . U32 :
4164
+ case TypeKind . F32 : return module . simd_load ( SIMDLoadOp . Load32Zero , arg0 , immOffset , immAlign ) ;
4164
4165
case TypeKind . I64 :
4165
- case TypeKind . U64 : return module . simd_load ( SIMDLoadOp . Load64Zero , arg0 , immOffset , immAlign ) ;
4166
+ case TypeKind . U64 :
4167
+ case TypeKind . F64 : return module . simd_load ( SIMDLoadOp . Load64Zero , arg0 , immOffset , immAlign ) ;
4166
4168
case TypeKind . ISIZE :
4167
4169
case TypeKind . USIZE : return module . simd_load ( compiler . options . isWasm64 ? SIMDLoadOp . Load64Zero : SIMDLoadOp . Load32Zero , arg0 , immOffset , immAlign ) ;
4168
4170
}
@@ -4233,9 +4235,11 @@ function builtin_v128_load_lane(ctx: BuiltinContext): ExpressionRef {
4233
4235
case TypeKind . I16 :
4234
4236
case TypeKind . U16 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Load16Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4235
4237
case TypeKind . I32 :
4236
- case TypeKind . U32 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Load32Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4238
+ case TypeKind . U32 :
4239
+ case TypeKind . F32 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Load32Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4237
4240
case TypeKind . I64 :
4238
- case TypeKind . U64 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Load64Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4241
+ case TypeKind . U64 :
4242
+ case TypeKind . F64 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Load64Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4239
4243
case TypeKind . ISIZE :
4240
4244
case TypeKind . USIZE : return module . simd_loadstorelane ( compiler . options . isWasm64 ? SIMDLoadStoreLaneOp . Load64Lane : SIMDLoadStoreLaneOp . Load32Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4241
4245
}
@@ -4306,9 +4310,11 @@ function builtin_v128_store_lane(ctx: BuiltinContext): ExpressionRef {
4306
4310
case TypeKind . I16 :
4307
4311
case TypeKind . U16 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Store16Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4308
4312
case TypeKind . I32 :
4309
- case TypeKind . U32 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Store32Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4313
+ case TypeKind . U32 :
4314
+ case TypeKind . F32 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Store32Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4310
4315
case TypeKind . I64 :
4311
- case TypeKind . U64 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Store64Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4316
+ case TypeKind . U64 :
4317
+ case TypeKind . F64 : return module . simd_loadstorelane ( SIMDLoadStoreLaneOp . Store64Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4312
4318
case TypeKind . ISIZE :
4313
4319
case TypeKind . USIZE : return module . simd_loadstorelane ( compiler . options . isWasm64 ? SIMDLoadStoreLaneOp . Store64Lane : SIMDLoadStoreLaneOp . Store32Lane , arg0 , immOffset , immAlign , < u8 > idx , arg1 ) ;
4314
4320
}
0 commit comments