@@ -389,17 +389,15 @@ rule token = parse
389
389
| " output" { OUTPUT }
390
390
391
391
| (simd_shape as s)" .neg"
392
- { if s <> " i32x4" && s <> " f32x4" then error lexbuf " unknown operator" ;
393
- UNARY (simdop s unreachable unreachable i32x4_neg unreachable f32x4_neg unreachable) }
394
- | (simd_float_shape as s)" .sqrt"
395
- { if s <> " f32x4" then error lexbuf " unknown operator" ;
396
- UNARY (simd_float_op s f32x4_sqrt unreachable) }
392
+ { if s <> " i32x4" && s <> " f32x4" && s <> " f64x2" then error lexbuf " unknown operator" ;
393
+ UNARY (simdop s unreachable unreachable i32x4_neg unreachable f32x4_neg f64x2_neg) }
394
+ | (simd_float_shape as s)" .sqrt" { UNARY (simd_float_op s f32x4_sqrt f64x2_sqrt) }
397
395
| (simd_shape as s)" .add"
398
- { if s <> " i32x4" && s <> " f32x4" then error lexbuf " unknown operator" ;
399
- BINARY (simdop s unreachable unreachable i32x4_add unreachable f32x4_add unreachable ) }
396
+ { if s <> " i32x4" && s <> " f32x4" && s <> " f64x2 " then error lexbuf " unknown operator" ;
397
+ BINARY (simdop s unreachable unreachable i32x4_add unreachable f32x4_add f64x2_add ) }
400
398
| (simd_shape as s)" .sub"
401
- { if s <> " i32x4" && s <> " f32x4" then error lexbuf " unknown operator" ;
402
- BINARY (simdop s unreachable unreachable i32x4_sub unreachable f32x4_sub unreachable ) }
399
+ { if s <> " i32x4" && s <> " f32x4" && s <> " f64x2 " then error lexbuf " unknown operator" ;
400
+ BINARY (simdop s unreachable unreachable i32x4_sub unreachable f32x4_sub f64x2_sub ) }
403
401
| (simd_shape as s)" .min_s"
404
402
{ if s <> " i32x4" then error lexbuf " unknown operator" ;
405
403
BINARY (simdop s unreachable unreachable i32x4_min_s unreachable unreachable unreachable) }
@@ -413,17 +411,11 @@ rule token = parse
413
411
{ if s <> " i32x4" then error lexbuf " unknown operator" ;
414
412
BINARY (simdop s unreachable unreachable i32x4_max_u unreachable unreachable unreachable) }
415
413
| (simd_shape as s)" .mul"
416
- { if s <> " i32x4" && s <> " f32x4" then error lexbuf " unknown operator" ;
417
- BINARY (simdop s unreachable unreachable i32x4_mul unreachable f32x4_mul unreachable) }
418
- | (simd_float_shape as s)" .div"
419
- { if s <> " f32x4" then error lexbuf " unknown operator" ;
420
- BINARY (simd_float_op s f32x4_div unreachable) }
421
- | (simd_shape as s)" .min"
422
- { if s <> " f32x4" && s <> " f64x2" then error lexbuf " unknown operator" ;
423
- BINARY (simdop s unreachable unreachable unreachable unreachable f32x4_min f64x2_min) }
424
- | (simd_shape as s)" .max"
425
- { if s <> " f32x4" && s <> " f64x2" then error lexbuf " unknown operator" ;
426
- BINARY (simdop s unreachable unreachable unreachable unreachable f32x4_max f64x2_max) }
414
+ { if s <> " i32x4" && s <> " f32x4" && s <> " f64x2" then error lexbuf " unknown operator" ;
415
+ BINARY (simdop s unreachable unreachable i32x4_mul unreachable f32x4_mul f64x2_mul) }
416
+ | (simd_float_shape as s)" .div" { BINARY (simd_float_op s f32x4_div f64x2_div) }
417
+ | (simd_float_shape as s)" .min" { BINARY (simd_float_op s f32x4_min f64x2_min) }
418
+ | (simd_float_shape as s)" .max" { BINARY (simd_float_op s f32x4_max f64x2_max) }
427
419
| (simd_shape as s)" .abs"
428
420
{ if s <> " i32x4" && s <> " f32x4" && s <> " f64x2" then error lexbuf " unknown operator" ;
429
421
UNARY (simdop s unreachable unreachable i32x4_abs unreachable f32x4_abs f64x2_abs) }
0 commit comments