@@ -215,57 +215,57 @@ interp_v128_i2_op_left_shift (gpointer res, gpointer v1, gpointer s1)
215215static  void 
216216interp_v128_i4_op_left_shift  (gpointer  res , gpointer  v1 , gpointer  s1 )
217217{
218- 	* (v128_i4 * )res  =  * (v128_i4 * )v1  << * (gint32 * )s1 ;
218+ 	* (v128_i4 * )res  =  * (v128_i4 * )v1  << ( * (gint32 * )s1   &   31 ) ;
219219}
220220
221221static  void 
222222interp_v128_i8_op_left_shift  (gpointer  res , gpointer  v1 , gpointer  s1 )
223223{
224- 	* (v128_i8 * )res  =  * (v128_i8 * )v1  << * (gint32 * )s1 ;
224+ 	* (v128_i8 * )res  =  * (v128_i8 * )v1  << ( * (gint32 * )s1   &   63 ) ;
225225}
226226
227227// op_RightShift 
228228static  void 
229229interp_v128_i1_op_right_shift  (gpointer  res , gpointer  v1 , gpointer  s1 )
230230{
231- 	* (v128_i1 * )res  =  * (v128_i1 * )v1  >> * (gint32 * )s1 ;
231+ 	* (v128_i1 * )res  =  * (v128_i1 * )v1  >> ( * (gint32 * )s1   &   7 ) ;
232232}
233233
234234static  void 
235235interp_v128_i2_op_right_shift  (gpointer  res , gpointer  v1 , gpointer  s1 )
236236{
237- 	* (v128_i2 * )res  =  * (v128_i2 * )v1  >> * (gint32 * )s1 ;
237+ 	* (v128_i2 * )res  =  * (v128_i2 * )v1  >> ( * (gint32 * )s1   &   15 ) ;
238238}
239239
240240static  void 
241241interp_v128_i4_op_right_shift  (gpointer  res , gpointer  v1 , gpointer  s1 )
242242{
243- 	* (v128_i4 * )res  =  * (v128_i4 * )v1  >> * (gint32 * )s1 ;
243+ 	* (v128_i4 * )res  =  * (v128_i4 * )v1  >> ( * (gint32 * )s1   &   31 ) ;
244244}
245245
246246// op_UnsignedRightShift 
247247static  void 
248248interp_v128_i1_op_uright_shift  (gpointer  res , gpointer  v1 , gpointer  s1 )
249249{
250- 	* (v128_u1 * )res  =  * (v128_u1 * )v1  >> * (gint32 * )s1 ;
250+ 	* (v128_u1 * )res  =  * (v128_u1 * )v1  >> ( * (gint32 * )s1   &   7 ) ;
251251}
252252
253253static  void 
254254interp_v128_i2_op_uright_shift  (gpointer  res , gpointer  v1 , gpointer  s1 )
255255{
256- 	* (v128_u2 * )res  =  * (v128_u2 * )v1  >> * (gint32 * )s1 ;
256+ 	* (v128_u2 * )res  =  * (v128_u2 * )v1  >> ( * (gint32 * )s1   &   15 ) ;
257257}
258258
259259static  void 
260260interp_v128_i4_op_uright_shift  (gpointer  res , gpointer  v1 , gpointer  s1 )
261261{
262- 	* (v128_u4 * )res  =  * (v128_u4 * )v1  >> * (gint32 * )s1 ;
262+ 	* (v128_u4 * )res  =  * (v128_u4 * )v1  >> ( * (gint32 * )s1   &   31 ) ;
263263}
264264
265265static  void 
266266interp_v128_i8_op_uright_shift  (gpointer  res , gpointer  v1 , gpointer  s1 )
267267{
268- 	* (v128_u8 * )res  =  * (v128_u8 * )v1  >> * (gint32 * )s1 ;
268+ 	* (v128_u8 * )res  =  * (v128_u8 * )v1  >> ( * (gint32 * )s1   &   63 ) ;
269269}
270270
271271// op_OnesComplement 
0 commit comments