1  #include <arm_neon.h>
       2  #include "arm-neon-ref.h"
       3  #include "compute-ref-data.h"
       4  
       5  #define INSN_NAME vhsub
       6  #define TEST_MSG "VHSUB/VHSUBQ"
       7  
       8  /* Expected results.  */
       9  VECT_VAR_DECL(expected,int,8,8) [] = { 0xfe, 0xff, 0xff, 0x0,
      10  				       0x0, 0x1, 0x1, 0x2 };
      11  VECT_VAR_DECL(expected,int,16,4) [] = { 0xffff, 0xffff, 0x0, 0x0 };
      12  VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
      13  VECT_VAR_DECL(expected,uint,8,8) [] = { 0xfe, 0xff, 0xff, 0x0,
      14  					0x0, 0x1, 0x1, 0x2 };
      15  VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0x0, 0x0, 0x1 };
      16  VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
      17  VECT_VAR_DECL(expected,int,8,16) [] = { 0xfe, 0xfe, 0xff, 0xff,
      18  					0x0, 0x0, 0x1, 0x1,
      19  					0x2, 0x2, 0x3, 0x3,
      20  					0x4, 0x4, 0x5, 0x5 };
      21  VECT_VAR_DECL(expected,int,16,8) [] = { 0xfffe, 0xffff, 0xffff, 0x0,
      22  					0x0, 0x1, 0x1, 0x2 };
      23  VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffff, 0x0, 0x0, 0x1 };
      24  VECT_VAR_DECL(expected,uint,8,16) [] = { 0xfb, 0xfc, 0xfc, 0xfd,
      25  					 0xfd, 0xfe, 0xfe, 0xff,
      26  					 0xff, 0x0, 0x0, 0x1,
      27  					 0x1, 0x2, 0x2, 0x3 };
      28  VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0x0, 0x0,
      29  					 0x1, 0x1, 0x2, 0x2 };
      30  VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0x0, 0x0, 0x1 };
      31  
      32  #include "binary_op_no64.inc"