#define True ((Bool)1)
-#define ITERS 1
+#define ITERS 20
typedef
enum { TySF=1234, TyDF, TyB, TyH, TyS, TyD, TyNONE }
// sshl (reg) d
// ushl (reg) d
- if (0) test_sshl_d_d_d(TyD);
- if (0) test_ushl_d_d_d(TyD);
+ if (1) test_sshl_d_d_d(TyD);
+ if (1) test_ushl_d_d_d(TyD);
// sshl (reg) 2d,4s,2s,8h,4h,16b,8b
// ushl (reg) 2d,4s,2s,8h,4h,16b,8b
- if (0) test_sshl_2d_2d_2d(TyD);
- if (0) test_sshl_4s_4s_4s(TyS);
- if (0) test_sshl_2s_2s_2s(TyS);
- if (0) test_sshl_8h_8h_8h(TyH);
- if (0) test_sshl_4h_4h_4h(TyH);
- if (0) test_sshl_16b_16b_16b(TyB);
- if (0) test_sshl_8b_8b_8b(TyB);
- if (0) test_ushl_2d_2d_2d(TyD);
- if (0) test_ushl_4s_4s_4s(TyS);
- if (0) test_ushl_2s_2s_2s(TyS);
- if (0) test_ushl_8h_8h_8h(TyH);
- if (0) test_ushl_4h_4h_4h(TyH);
- if (0) test_ushl_16b_16b_16b(TyB);
- if (0) test_ushl_8b_8b_8b(TyB);
+ if (1) test_sshl_2d_2d_2d(TyD);
+ if (1) test_sshl_4s_4s_4s(TyS);
+ if (1) test_sshl_2s_2s_2s(TyS);
+ if (1) test_sshl_8h_8h_8h(TyH);
+ if (1) test_sshl_4h_4h_4h(TyH);
+ if (1) test_sshl_16b_16b_16b(TyB);
+ if (1) test_sshl_8b_8b_8b(TyB);
+ if (1) test_ushl_2d_2d_2d(TyD);
+ if (1) test_ushl_4s_4s_4s(TyS);
+ if (1) test_ushl_2s_2s_2s(TyS);
+ if (1) test_ushl_8h_8h_8h(TyH);
+ if (1) test_ushl_4h_4h_4h(TyH);
+ if (1) test_ushl_16b_16b_16b(TyB);
+ if (1) test_ushl_8b_8b_8b(TyB);
// shl (imm) d
// sshr (imm) d
if (1) test_shl_d_d_0(TyD);
if (1) test_shl_d_d_32(TyD);
if (1) test_shl_d_d_63(TyD);
- if (0) test_sshr_d_d_1(TyD);
- if (0) test_sshr_d_d_32(TyD);
- if (0) test_sshr_d_d_64(TyD);
+ if (1) test_sshr_d_d_1(TyD);
+ if (1) test_sshr_d_d_32(TyD);
+ if (1) test_sshr_d_d_64(TyD);
if (1) test_ushr_d_d_1(TyD);
if (1) test_ushr_d_d_32(TyD);
if (1) test_ushr_d_d_64(TyD);
// ssra (imm) d
// usra (imm) d
- if (0) test_ssra_d_d_1(TyD);
- if (0) test_ssra_d_d_32(TyD);
- if (0) test_ssra_d_d_64(TyD);
- if (0) test_usra_d_d_1(TyD);
- if (0) test_usra_d_d_32(TyD);
- if (0) test_usra_d_d_64(TyD);
+ if (1) test_ssra_d_d_1(TyD);
+ if (1) test_ssra_d_d_32(TyD);
+ if (1) test_ssra_d_d_64(TyD);
+ if (1) test_usra_d_d_1(TyD);
+ if (1) test_usra_d_d_32(TyD);
+ if (1) test_usra_d_d_64(TyD);
// ssra (imm) 2d,4s,2s,8h,4h,16b,8b
// usra (imm) 2d,4s,2s,8h,4h,16b,8b
- if (0) test_ssra_2d_2d_1(TyD);
- if (0) test_ssra_2d_2d_32(TyD);
- if (0) test_ssra_2d_2d_64(TyD);
- if (0) test_ssra_4s_4s_1(TyS);
- if (0) test_ssra_4s_4s_16(TyS);
- if (0) test_ssra_4s_4s_32(TyS);
- if (0) test_ssra_2s_2s_1(TyS);
- if (0) test_ssra_2s_2s_16(TyS);
- if (0) test_ssra_2s_2s_32(TyS);
- if (0) test_ssra_8h_8h_1(TyH);
- if (0) test_ssra_8h_8h_8(TyH);
- if (0) test_ssra_8h_8h_16(TyH);
- if (0) test_ssra_4h_4h_1(TyH);
- if (0) test_ssra_4h_4h_8(TyH);
- if (0) test_ssra_4h_4h_16(TyH);
- if (0) test_ssra_16b_16b_1(TyB);
- if (0) test_ssra_16b_16b_3(TyB);
- if (0) test_ssra_16b_16b_8(TyB);
- if (0) test_ssra_8b_8b_1(TyB);
- if (0) test_ssra_8b_8b_3(TyB);
- if (0) test_ssra_8b_8b_8(TyB);
- if (0) test_usra_2d_2d_1(TyD);
- if (0) test_usra_2d_2d_32(TyD);
- if (0) test_usra_2d_2d_64(TyD);
- if (0) test_usra_4s_4s_1(TyS);
- if (0) test_usra_4s_4s_16(TyS);
- if (0) test_usra_4s_4s_32(TyS);
- if (0) test_usra_2s_2s_1(TyS);
- if (0) test_usra_2s_2s_16(TyS);
- if (0) test_usra_2s_2s_32(TyS);
- if (0) test_usra_8h_8h_1(TyH);
- if (0) test_usra_8h_8h_8(TyH);
- if (0) test_usra_8h_8h_16(TyH);
- if (0) test_usra_4h_4h_1(TyH);
- if (0) test_usra_4h_4h_8(TyH);
- if (0) test_usra_4h_4h_16(TyH);
- if (0) test_usra_16b_16b_1(TyB);
- if (0) test_usra_16b_16b_3(TyB);
- if (0) test_usra_16b_16b_8(TyB);
- if (0) test_usra_8b_8b_1(TyB);
- if (0) test_usra_8b_8b_3(TyB);
- if (0) test_usra_8b_8b_8(TyB);
+ if (1) test_ssra_2d_2d_1(TyD);
+ if (1) test_ssra_2d_2d_32(TyD);
+ if (1) test_ssra_2d_2d_64(TyD);
+ if (1) test_ssra_4s_4s_1(TyS);
+ if (1) test_ssra_4s_4s_16(TyS);
+ if (1) test_ssra_4s_4s_32(TyS);
+ if (1) test_ssra_2s_2s_1(TyS);
+ if (1) test_ssra_2s_2s_16(TyS);
+ if (1) test_ssra_2s_2s_32(TyS);
+ if (1) test_ssra_8h_8h_1(TyH);
+ if (1) test_ssra_8h_8h_8(TyH);
+ if (1) test_ssra_8h_8h_16(TyH);
+ if (1) test_ssra_4h_4h_1(TyH);
+ if (1) test_ssra_4h_4h_8(TyH);
+ if (1) test_ssra_4h_4h_16(TyH);
+ if (1) test_ssra_16b_16b_1(TyB);
+ if (1) test_ssra_16b_16b_3(TyB);
+ if (1) test_ssra_16b_16b_8(TyB);
+ if (1) test_ssra_8b_8b_1(TyB);
+ if (1) test_ssra_8b_8b_3(TyB);
+ if (1) test_ssra_8b_8b_8(TyB);
+ if (1) test_usra_2d_2d_1(TyD);
+ if (1) test_usra_2d_2d_32(TyD);
+ if (1) test_usra_2d_2d_64(TyD);
+ if (1) test_usra_4s_4s_1(TyS);
+ if (1) test_usra_4s_4s_16(TyS);
+ if (1) test_usra_4s_4s_32(TyS);
+ if (1) test_usra_2s_2s_1(TyS);
+ if (1) test_usra_2s_2s_16(TyS);
+ if (1) test_usra_2s_2s_32(TyS);
+ if (1) test_usra_8h_8h_1(TyH);
+ if (1) test_usra_8h_8h_8(TyH);
+ if (1) test_usra_8h_8h_16(TyH);
+ if (1) test_usra_4h_4h_1(TyH);
+ if (1) test_usra_4h_4h_8(TyH);
+ if (1) test_usra_4h_4h_16(TyH);
+ if (1) test_usra_16b_16b_1(TyB);
+ if (1) test_usra_16b_16b_3(TyB);
+ if (1) test_usra_16b_16b_8(TyB);
+ if (1) test_usra_8b_8b_1(TyB);
+ if (1) test_usra_8b_8b_3(TyB);
+ if (1) test_usra_8b_8b_8(TyB);
// srshl (reg) d
// urshl (reg) d
- if (0) test_srshl_d_d_d(TyD);
- if (0) test_urshl_d_d_d(TyD);
+ if (1) test_srshl_d_d_d(TyD);
+ if (1) test_urshl_d_d_d(TyD);
// srshl (reg) 2d,4s,2s,8h,4h,16b,8b
// urshl (reg) 2d,4s,2s,8h,4h,16b,8b
- if (0) test_srshl_2d_2d_2d(TyD);
- if (0) test_srshl_4s_4s_4s(TyS);
- if (0) test_srshl_2s_2s_2s(TyS);
- if (0) test_srshl_8h_8h_8h(TyH);
- if (0) test_srshl_4h_4h_4h(TyH);
- if (0) test_srshl_16b_16b_16b(TyB);
- if (0) test_srshl_8b_8b_8b(TyB);
- if (0) test_urshl_2d_2d_2d(TyD);
- if (0) test_urshl_4s_4s_4s(TyS);
- if (0) test_urshl_2s_2s_2s(TyS);
- if (0) test_urshl_8h_8h_8h(TyH);
- if (0) test_urshl_4h_4h_4h(TyH);
- if (0) test_urshl_16b_16b_16b(TyB);
- if (0) test_urshl_8b_8b_8b(TyB);
+ if (1) test_srshl_2d_2d_2d(TyD);
+ if (1) test_srshl_4s_4s_4s(TyS);
+ if (1) test_srshl_2s_2s_2s(TyS);
+ if (1) test_srshl_8h_8h_8h(TyH);
+ if (1) test_srshl_4h_4h_4h(TyH);
+ if (1) test_srshl_16b_16b_16b(TyB);
+ if (1) test_srshl_8b_8b_8b(TyB);
+ if (1) test_urshl_2d_2d_2d(TyD);
+ if (1) test_urshl_4s_4s_4s(TyS);
+ if (1) test_urshl_2s_2s_2s(TyS);
+ if (1) test_urshl_8h_8h_8h(TyH);
+ if (1) test_urshl_4h_4h_4h(TyH);
+ if (1) test_urshl_16b_16b_16b(TyB);
+ if (1) test_urshl_8b_8b_8b(TyB);
// srshr (imm) d
// urshr (imm) d
- if (0) test_srshr_d_d_1(TyD);
- if (0) test_srshr_d_d_32(TyD);
- if (0) test_srshr_d_d_64(TyD);
- if (0) test_urshr_d_d_1(TyD);
- if (0) test_urshr_d_d_32(TyD);
- if (0) test_urshr_d_d_64(TyD);
+ if (1) test_srshr_d_d_1(TyD);
+ if (1) test_srshr_d_d_32(TyD);
+ if (1) test_srshr_d_d_64(TyD);
+ if (1) test_urshr_d_d_1(TyD);
+ if (1) test_urshr_d_d_32(TyD);
+ if (1) test_urshr_d_d_64(TyD);
// srshr (imm) 2d,4s,2s,8h,4h,16b,8b
// urshr (imm) 2d,4s,2s,8h,4h,16b,8b
- if (0) test_srshr_2d_2d_1(TyD);
- if (0) test_srshr_2d_2d_32(TyD);
- if (0) test_srshr_2d_2d_64(TyD);
- if (0) test_srshr_4s_4s_1(TyS);
- if (0) test_srshr_4s_4s_16(TyS);
- if (0) test_srshr_4s_4s_32(TyS);
- if (0) test_srshr_2s_2s_1(TyS);
- if (0) test_srshr_2s_2s_16(TyS);
- if (0) test_srshr_2s_2s_32(TyS);
- if (0) test_srshr_8h_8h_1(TyH);
- if (0) test_srshr_8h_8h_8(TyH);
- if (0) test_srshr_8h_8h_16(TyH);
- if (0) test_srshr_4h_4h_1(TyH);
- if (0) test_srshr_4h_4h_8(TyH);
- if (0) test_srshr_4h_4h_16(TyH);
- if (0) test_srshr_16b_16b_1(TyB);
- if (0) test_srshr_16b_16b_3(TyB);
- if (0) test_srshr_16b_16b_8(TyB);
- if (0) test_srshr_8b_8b_1(TyB);
- if (0) test_srshr_8b_8b_3(TyB);
- if (0) test_srshr_8b_8b_8(TyB);
- if (0) test_urshr_2d_2d_1(TyD);
- if (0) test_urshr_2d_2d_32(TyD);
- if (0) test_urshr_2d_2d_64(TyD);
- if (0) test_urshr_4s_4s_1(TyS);
- if (0) test_urshr_4s_4s_16(TyS);
- if (0) test_urshr_4s_4s_32(TyS);
- if (0) test_urshr_2s_2s_1(TyS);
- if (0) test_urshr_2s_2s_16(TyS);
- if (0) test_urshr_2s_2s_32(TyS);
- if (0) test_urshr_8h_8h_1(TyH);
- if (0) test_urshr_8h_8h_8(TyH);
- if (0) test_urshr_8h_8h_16(TyH);
- if (0) test_urshr_4h_4h_1(TyH);
- if (0) test_urshr_4h_4h_8(TyH);
- if (0) test_urshr_4h_4h_16(TyH);
- if (0) test_urshr_16b_16b_1(TyB);
- if (0) test_urshr_16b_16b_3(TyB);
- if (0) test_urshr_16b_16b_8(TyB);
- if (0) test_urshr_8b_8b_1(TyB);
- if (0) test_urshr_8b_8b_3(TyB);
- if (0) test_urshr_8b_8b_8(TyB);
+ if (1) test_srshr_2d_2d_1(TyD);
+ if (1) test_srshr_2d_2d_32(TyD);
+ if (1) test_srshr_2d_2d_64(TyD);
+ if (1) test_srshr_4s_4s_1(TyS);
+ if (1) test_srshr_4s_4s_16(TyS);
+ if (1) test_srshr_4s_4s_32(TyS);
+ if (1) test_srshr_2s_2s_1(TyS);
+ if (1) test_srshr_2s_2s_16(TyS);
+ if (1) test_srshr_2s_2s_32(TyS);
+ if (1) test_srshr_8h_8h_1(TyH);
+ if (1) test_srshr_8h_8h_8(TyH);
+ if (1) test_srshr_8h_8h_16(TyH);
+ if (1) test_srshr_4h_4h_1(TyH);
+ if (1) test_srshr_4h_4h_8(TyH);
+ if (1) test_srshr_4h_4h_16(TyH);
+ if (1) test_srshr_16b_16b_1(TyB);
+ if (1) test_srshr_16b_16b_3(TyB);
+ if (1) test_srshr_16b_16b_8(TyB);
+ if (1) test_srshr_8b_8b_1(TyB);
+ if (1) test_srshr_8b_8b_3(TyB);
+ if (1) test_srshr_8b_8b_8(TyB);
+ if (1) test_urshr_2d_2d_1(TyD);
+ if (1) test_urshr_2d_2d_32(TyD);
+ if (1) test_urshr_2d_2d_64(TyD);
+ if (1) test_urshr_4s_4s_1(TyS);
+ if (1) test_urshr_4s_4s_16(TyS);
+ if (1) test_urshr_4s_4s_32(TyS);
+ if (1) test_urshr_2s_2s_1(TyS);
+ if (1) test_urshr_2s_2s_16(TyS);
+ if (1) test_urshr_2s_2s_32(TyS);
+ if (1) test_urshr_8h_8h_1(TyH);
+ if (1) test_urshr_8h_8h_8(TyH);
+ if (1) test_urshr_8h_8h_16(TyH);
+ if (1) test_urshr_4h_4h_1(TyH);
+ if (1) test_urshr_4h_4h_8(TyH);
+ if (1) test_urshr_4h_4h_16(TyH);
+ if (1) test_urshr_16b_16b_1(TyB);
+ if (1) test_urshr_16b_16b_3(TyB);
+ if (1) test_urshr_16b_16b_8(TyB);
+ if (1) test_urshr_8b_8b_1(TyB);
+ if (1) test_urshr_8b_8b_3(TyB);
+ if (1) test_urshr_8b_8b_8(TyB);
// srsra (imm) d
// ursra (imm) d
- if (0) test_srsra_d_d_1(TyD);
- if (0) test_srsra_d_d_32(TyD);
- if (0) test_srsra_d_d_64(TyD);
- if (0) test_ursra_d_d_1(TyD);
- if (0) test_ursra_d_d_32(TyD);
- if (0) test_ursra_d_d_64(TyD);
+ if (1) test_srsra_d_d_1(TyD);
+ if (1) test_srsra_d_d_32(TyD);
+ if (1) test_srsra_d_d_64(TyD);
+ if (1) test_ursra_d_d_1(TyD);
+ if (1) test_ursra_d_d_32(TyD);
+ if (1) test_ursra_d_d_64(TyD);
// srsra (imm) 2d,4s,2s,8h,4h,16b,8b
// ursra (imm) 2d,4s,2s,8h,4h,16b,8b
- if (0) test_srsra_2d_2d_1(TyD);
- if (0) test_srsra_2d_2d_32(TyD);
- if (0) test_srsra_2d_2d_64(TyD);
- if (0) test_srsra_4s_4s_1(TyS);
- if (0) test_srsra_4s_4s_16(TyS);
- if (0) test_srsra_4s_4s_32(TyS);
- if (0) test_srsra_2s_2s_1(TyS);
- if (0) test_srsra_2s_2s_16(TyS);
- if (0) test_srsra_2s_2s_32(TyS);
- if (0) test_srsra_8h_8h_1(TyH);
- if (0) test_srsra_8h_8h_8(TyH);
- if (0) test_srsra_8h_8h_16(TyH);
- if (0) test_srsra_4h_4h_1(TyH);
- if (0) test_srsra_4h_4h_8(TyH);
- if (0) test_srsra_4h_4h_16(TyH);
- if (0) test_srsra_16b_16b_1(TyB);
- if (0) test_srsra_16b_16b_3(TyB);
- if (0) test_srsra_16b_16b_8(TyB);
- if (0) test_srsra_8b_8b_1(TyB);
- if (0) test_srsra_8b_8b_3(TyB);
- if (0) test_srsra_8b_8b_8(TyB);
- if (0) test_ursra_2d_2d_1(TyD);
- if (0) test_ursra_2d_2d_32(TyD);
- if (0) test_ursra_2d_2d_64(TyD);
- if (0) test_ursra_4s_4s_1(TyS);
- if (0) test_ursra_4s_4s_16(TyS);
- if (0) test_ursra_4s_4s_32(TyS);
- if (0) test_ursra_2s_2s_1(TyS);
- if (0) test_ursra_2s_2s_16(TyS);
- if (0) test_ursra_2s_2s_32(TyS);
- if (0) test_ursra_8h_8h_1(TyH);
- if (0) test_ursra_8h_8h_8(TyH);
- if (0) test_ursra_8h_8h_16(TyH);
- if (0) test_ursra_4h_4h_1(TyH);
- if (0) test_ursra_4h_4h_8(TyH);
- if (0) test_ursra_4h_4h_16(TyH);
- if (0) test_ursra_16b_16b_1(TyB);
- if (0) test_ursra_16b_16b_3(TyB);
- if (0) test_ursra_16b_16b_8(TyB);
- if (0) test_ursra_8b_8b_1(TyB);
- if (0) test_ursra_8b_8b_3(TyB);
- if (0) test_ursra_8b_8b_8(TyB);
+ if (1) test_srsra_2d_2d_1(TyD);
+ if (1) test_srsra_2d_2d_32(TyD);
+ if (1) test_srsra_2d_2d_64(TyD);
+ if (1) test_srsra_4s_4s_1(TyS);
+ if (1) test_srsra_4s_4s_16(TyS);
+ if (1) test_srsra_4s_4s_32(TyS);
+ if (1) test_srsra_2s_2s_1(TyS);
+ if (1) test_srsra_2s_2s_16(TyS);
+ if (1) test_srsra_2s_2s_32(TyS);
+ if (1) test_srsra_8h_8h_1(TyH);
+ if (1) test_srsra_8h_8h_8(TyH);
+ if (1) test_srsra_8h_8h_16(TyH);
+ if (1) test_srsra_4h_4h_1(TyH);
+ if (1) test_srsra_4h_4h_8(TyH);
+ if (1) test_srsra_4h_4h_16(TyH);
+ if (1) test_srsra_16b_16b_1(TyB);
+ if (1) test_srsra_16b_16b_3(TyB);
+ if (1) test_srsra_16b_16b_8(TyB);
+ if (1) test_srsra_8b_8b_1(TyB);
+ if (1) test_srsra_8b_8b_3(TyB);
+ if (1) test_srsra_8b_8b_8(TyB);
+ if (1) test_ursra_2d_2d_1(TyD);
+ if (1) test_ursra_2d_2d_32(TyD);
+ if (1) test_ursra_2d_2d_64(TyD);
+ if (1) test_ursra_4s_4s_1(TyS);
+ if (1) test_ursra_4s_4s_16(TyS);
+ if (1) test_ursra_4s_4s_32(TyS);
+ if (1) test_ursra_2s_2s_1(TyS);
+ if (1) test_ursra_2s_2s_16(TyS);
+ if (1) test_ursra_2s_2s_32(TyS);
+ if (1) test_ursra_8h_8h_1(TyH);
+ if (1) test_ursra_8h_8h_8(TyH);
+ if (1) test_ursra_8h_8h_16(TyH);
+ if (1) test_ursra_4h_4h_1(TyH);
+ if (1) test_ursra_4h_4h_8(TyH);
+ if (1) test_ursra_4h_4h_16(TyH);
+ if (1) test_ursra_16b_16b_1(TyB);
+ if (1) test_ursra_16b_16b_3(TyB);
+ if (1) test_ursra_16b_16b_8(TyB);
+ if (1) test_ursra_8b_8b_1(TyB);
+ if (1) test_ursra_8b_8b_3(TyB);
+ if (1) test_ursra_8b_8b_8(TyB);
// sshll{2} (imm) 2d_2s/4s, 4s_4h/8h, 8h_8b/16b
// ushll{2} (imm) 2d_2s/4s, 4s_4h/8h, 8h_8b/16b