@@ -25,6 +25,8 @@ fn eq_i32x4(i32x4(x0, x1, x2, x3): i32x4, i32x4(y0, y1, y2, y3): i32x4) -> bool
2525}
2626
2727pub fn main ( ) {
28+ // arithmetic operators
29+
2830 assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) + u32x4( 4 , 3 , 2 , 1 ) , u32x4( 5 , 5 , 5 , 5 ) ) ) ;
2931 assert ! ( eq_u32x4( u32x4( 4 , 5 , 6 , 7 ) - u32x4( 4 , 3 , 2 , 1 ) , u32x4( 0 , 2 , 4 , 6 ) ) ) ;
3032 assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) * u32x4( 4 , 3 , 2 , 1 ) , u32x4( 4 , 6 , 6 , 4 ) ) ) ;
@@ -43,8 +45,28 @@ pub fn main() {
4345 assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) << i32x4( 4 , 3 , 2 , 1 ) , i32x4( 16 , 16 , 12 , 8 ) ) ) ;
4446 assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) >> i32x4( 4 , 3 , 2 , 1 ) , i32x4( 0 , 0 , 0 , 2 ) ) ) ;
4547
46- assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) + f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) , f32x4( 5.0 , 5.0 , 5.0 , 5.0 ) ) ) ;
47- assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) - f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) , f32x4( -3.0 , -1.0 , 1.0 , 3.0 ) ) ) ;
48- assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) * f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) , f32x4( 4.0 , 6.0 , 6.0 , 4.0 ) ) ) ;
49- assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) / f32x4( 4.0 , 4.0 , 2.0 , 1.0 ) , f32x4( 0.25 , 0.5 , 1.5 , 4.0 ) ) ) ;
48+ assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) + f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) ,
49+ f32x4( 5.0 , 5.0 , 5.0 , 5.0 ) ) ) ;
50+ assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) - f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) ,
51+ f32x4( -3.0 , -1.0 , 1.0 , 3.0 ) ) ) ;
52+ assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) * f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) ,
53+ f32x4( 4.0 , 6.0 , 6.0 , 4.0 ) ) ) ;
54+ assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) / f32x4( 4.0 , 4.0 , 2.0 , 1.0 ) ,
55+ f32x4( 0.25 , 0.5 , 1.5 , 4.0 ) ) ) ;
56+
57+ // comparison operators
58+
59+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) == u32x4( 3 , 2 , 1 , 0 ) , u32x4( 0 , !0 , 0 , 0 ) ) ) ;
60+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) != u32x4( 3 , 2 , 1 , 0 ) , u32x4( !0 , 0 , !0 , !0 ) ) ) ;
61+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) < u32x4( 3 , 2 , 1 , 0 ) , u32x4( !0 , 0 , 0 , 0 ) ) ) ;
62+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) <= u32x4( 3 , 2 , 1 , 0 ) , u32x4( !0 , !0 , 0 , 0 ) ) ) ;
63+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) >= u32x4( 3 , 2 , 1 , 0 ) , u32x4( 0 , !0 , !0 , !0 ) ) ) ;
64+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) > u32x4( 3 , 2 , 1 , 0 ) , u32x4( 0 , 0 , !0 , !0 ) ) ) ;
65+
66+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) == i32x4( 3 , 2 , 1 , 0 ) , i32x4( 0 , !0 , 0 , 0 ) ) ) ;
67+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) != i32x4( 3 , 2 , 1 , 0 ) , i32x4( !0 , 0 , !0 , !0 ) ) ) ;
68+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) < i32x4( 3 , 2 , 1 , 0 ) , i32x4( !0 , 0 , 0 , 0 ) ) ) ;
69+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) <= i32x4( 3 , 2 , 1 , 0 ) , i32x4( !0 , !0 , 0 , 0 ) ) ) ;
70+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) >= i32x4( 3 , 2 , 1 , 0 ) , i32x4( 0 , !0 , !0 , !0 ) ) ) ;
71+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) > i32x4( 3 , 2 , 1 , 0 ) , i32x4( 0 , 0 , !0 , !0 ) ) ) ;
5072}
0 commit comments