@@ -267,13 +267,21 @@ switch (op[0]) {
267267 }
268268 }
269269 case ' c' : {
270- switch (op[20 ]) {
271- case ' s' :
272- if (strcmp (op, " f32x4.convert_i32x4_s" ) == 0 ) { return makeUnary (s, UnaryOp::ConvertSVecI32x4ToVecF32x4); }
273- goto parse_error;
274- case ' u' :
275- if (strcmp (op, " f32x4.convert_i32x4_u" ) == 0 ) { return makeUnary (s, UnaryOp::ConvertUVecI32x4ToVecF32x4); }
270+ switch (op[7 ]) {
271+ case ' e' :
272+ if (strcmp (op, " f32x4.ceil" ) == 0 ) { return makeUnary (s, UnaryOp::CeilVecF32x4); }
276273 goto parse_error;
274+ case ' o' : {
275+ switch (op[20 ]) {
276+ case ' s' :
277+ if (strcmp (op, " f32x4.convert_i32x4_s" ) == 0 ) { return makeUnary (s, UnaryOp::ConvertSVecI32x4ToVecF32x4); }
278+ goto parse_error;
279+ case ' u' :
280+ if (strcmp (op, " f32x4.convert_i32x4_u" ) == 0 ) { return makeUnary (s, UnaryOp::ConvertUVecI32x4ToVecF32x4); }
281+ goto parse_error;
282+ default : goto parse_error;
283+ }
284+ }
277285 default : goto parse_error;
278286 }
279287 }
@@ -291,6 +299,9 @@ switch (op[0]) {
291299 default : goto parse_error;
292300 }
293301 }
302+ case ' f' :
303+ if (strcmp (op, " f32x4.floor" ) == 0 ) { return makeUnary (s, UnaryOp::FloorVecF32x4); }
304+ goto parse_error;
294305 case ' g' : {
295306 switch (op[7 ]) {
296307 case ' e' :
@@ -332,6 +343,9 @@ switch (op[0]) {
332343 case ' \0 ' :
333344 if (strcmp (op, " f32x4.ne" ) == 0 ) { return makeBinary (s, BinaryOp::NeVecF32x4); }
334345 goto parse_error;
346+ case ' a' :
347+ if (strcmp (op, " f32x4.nearest" ) == 0 ) { return makeUnary (s, UnaryOp::NearestVecF32x4); }
348+ goto parse_error;
335349 case ' g' :
336350 if (strcmp (op, " f32x4.neg" ) == 0 ) { return makeUnary (s, UnaryOp::NegVecF32x4); }
337351 goto parse_error;
@@ -377,6 +391,9 @@ switch (op[0]) {
377391 default : goto parse_error;
378392 }
379393 }
394+ case ' t' :
395+ if (strcmp (op, " f32x4.trunc" ) == 0 ) { return makeUnary (s, UnaryOp::TruncVecF32x4); }
396+ goto parse_error;
380397 default : goto parse_error;
381398 }
382399 }
@@ -559,13 +576,21 @@ switch (op[0]) {
559576 }
560577 }
561578 case ' c' : {
562- switch (op[20 ]) {
563- case ' s' :
564- if (strcmp (op, " f64x2.convert_i64x2_s" ) == 0 ) { return makeUnary (s, UnaryOp::ConvertSVecI64x2ToVecF64x2); }
565- goto parse_error;
566- case ' u' :
567- if (strcmp (op, " f64x2.convert_i64x2_u" ) == 0 ) { return makeUnary (s, UnaryOp::ConvertUVecI64x2ToVecF64x2); }
579+ switch (op[7 ]) {
580+ case ' e' :
581+ if (strcmp (op, " f64x2.ceil" ) == 0 ) { return makeUnary (s, UnaryOp::CeilVecF64x2); }
568582 goto parse_error;
583+ case ' o' : {
584+ switch (op[20 ]) {
585+ case ' s' :
586+ if (strcmp (op, " f64x2.convert_i64x2_s" ) == 0 ) { return makeUnary (s, UnaryOp::ConvertSVecI64x2ToVecF64x2); }
587+ goto parse_error;
588+ case ' u' :
589+ if (strcmp (op, " f64x2.convert_i64x2_u" ) == 0 ) { return makeUnary (s, UnaryOp::ConvertUVecI64x2ToVecF64x2); }
590+ goto parse_error;
591+ default : goto parse_error;
592+ }
593+ }
569594 default : goto parse_error;
570595 }
571596 }
@@ -583,6 +608,9 @@ switch (op[0]) {
583608 default : goto parse_error;
584609 }
585610 }
611+ case ' f' :
612+ if (strcmp (op, " f64x2.floor" ) == 0 ) { return makeUnary (s, UnaryOp::FloorVecF64x2); }
613+ goto parse_error;
586614 case ' g' : {
587615 switch (op[7 ]) {
588616 case ' e' :
@@ -624,6 +652,9 @@ switch (op[0]) {
624652 case ' \0 ' :
625653 if (strcmp (op, " f64x2.ne" ) == 0 ) { return makeBinary (s, BinaryOp::NeVecF64x2); }
626654 goto parse_error;
655+ case ' a' :
656+ if (strcmp (op, " f64x2.nearest" ) == 0 ) { return makeUnary (s, UnaryOp::NearestVecF64x2); }
657+ goto parse_error;
627658 case ' g' :
628659 if (strcmp (op, " f64x2.neg" ) == 0 ) { return makeUnary (s, UnaryOp::NegVecF64x2); }
629660 goto parse_error;
@@ -669,6 +700,9 @@ switch (op[0]) {
669700 default : goto parse_error;
670701 }
671702 }
703+ case ' t' :
704+ if (strcmp (op, " f64x2.trunc" ) == 0 ) { return makeUnary (s, UnaryOp::TruncVecF64x2); }
705+ goto parse_error;
672706 default : goto parse_error;
673707 }
674708 }
0 commit comments