1eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#include <stdio.h> 3eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#include <assert.h> 4eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#include <malloc.h> // memalign 5eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#include <string.h> // memset 6eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#include <math.h> // isnormal 7eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 8eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovtypedef unsigned char UChar; 9eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovtypedef unsigned short int UShort; 10eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovtypedef unsigned int UInt; 11eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovtypedef signed int Int; 12eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovtypedef unsigned char UChar; 13eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovtypedef unsigned long long int ULong; 14eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 15eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovtypedef unsigned char Bool; 16eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#define False ((Bool)0) 17eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#define True ((Bool)1) 18eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 19eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 20eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#define ITERS 1 21eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 22eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovtypedef 23eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov enum { TySF=1234, TyDF, TyB, TyH, TyS, TyD, TyNONE } 24eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov LaneTy; 25eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 26eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovunion _V128 { 27eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov UChar u8[16]; 28eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov UShort u16[8]; 29eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov UInt u32[4]; 30eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ULong u64[2]; 31eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov float f32[4]; 32eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov double f64[2]; 33eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov}; 34eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovtypedef union _V128 V128; 35eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 36eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovstatic inline UChar randUChar ( void ) 37eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 38eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov static UInt seed = 80021; 39eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov seed = 1103515245 * seed + 12345; 40eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov return (seed >> 17) & 0xFF; 41eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 42eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 43eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovstatic ULong randULong ( LaneTy ty ) 44eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 45eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov Int i; 46eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ULong r = 0; 47eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 8; i++) { 48eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov r = (r << 8) | (ULong)(0xFF & randUChar()); 49eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 50eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov return r; 51eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 52eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 53eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* Generates a random V128. Ensures that that it contains normalised 54eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov FP numbers when viewed as either F32x4 or F64x2, so that it is 55eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov reasonable to use in FP test cases. */ 56eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovstatic void randV128 ( /*OUT*/V128* v, LaneTy ty ) 57eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 58eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov static UInt nCalls = 0, nIters = 0; 59eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov Int i; 60eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov nCalls++; 61eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov while (1) { 62eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov nIters++; 63eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 16; i++) { 64eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov v->u8[i] = randUChar(); 65eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 66eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov if (isnormal(v->f32[0]) && isnormal(v->f32[1]) && isnormal(v->f32[2]) 67eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov && isnormal(v->f32[3]) && isnormal(v->f64[0]) && isnormal(v->f64[1])) 68eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov break; 69eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 70eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov if (0 == (nCalls & 0xFF)) 71eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("randV128: %u calls, %u iters\n", nCalls, nIters); 72eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 73eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 74eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovstatic void showV128 ( V128* v ) 75eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 76eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov Int i; 77eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 15; i >= 0; i--) 78eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("%02x", (Int)v->u8[i]); 79eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 80eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 81eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov__attribute__((unused)) 82eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovstatic void* memalign16(size_t szB) 83eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 84eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov void* x; 85eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov x = memalign(16, szB); 86eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov assert(x); 87eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov assert(0 == ((16-1) & (unsigned long)x)); 88eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov return x; 89eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 90eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 91eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 92eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* ---------------------------------------------------------------- */ 93eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* -- Test functions -- */ 94eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* ---------------------------------------------------------------- */ 95eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 96eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* Note this also sets the destination register to a known value (0x55..55) 97eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov since it can sometimes be an input to the instruction too. */ 98eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#define GEN_UNARY_TEST(INSN,SUFFIXD,SUFFIXN) \ 99eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __attribute__((noinline)) \ 100eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov static void test_##INSN##_##SUFFIXD##_##SUFFIXN ( LaneTy ty ) { \ 101eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov Int i; \ 102eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < ITERS; i++) { \ 103eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[2]; \ 104eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(block, 0x55, sizeof(block)); \ 105eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], ty); \ 106eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], ty); \ 107eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( \ 108eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " \ 109eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q8, [%0, #16] ; " \ 110eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov #INSN " v8." #SUFFIXD ", v7." #SUFFIXN " ; " \ 111eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " \ 112eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" \ 113eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); \ 114eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf(#INSN " v8." #SUFFIXD ", v7." #SUFFIXN); \ 115eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); \ 116eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); \ 117eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } \ 118eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 119eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 120eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 121eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* Note this also sets the destination register to a known value (0x55..55) 122eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov since it can sometimes be an input to the instruction too. */ 123eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#define GEN_BINARY_TEST(INSN,SUFFIXD,SUFFIXN,SUFFIXM) \ 124eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __attribute__((noinline)) \ 125eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov static void test_##INSN##_##SUFFIXD##_##SUFFIXN##_##SUFFIXM ( LaneTy ty ) { \ 126eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov Int i; \ 127eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < ITERS; i++) { \ 128eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[3]; \ 129eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(block, 0x55, sizeof(block)); \ 130eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], ty); \ 131eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], ty); \ 132eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[2], ty); \ 133eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( \ 134eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " \ 135eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q8, [%0, #16] ; " \ 136eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q9, [%0, #32] ; " \ 137eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov #INSN " v9." #SUFFIXD ", v7." #SUFFIXN ", v8." #SUFFIXM " ; " \ 138eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q9, [%0, #32] " \ 139eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8", "v9" \ 140eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); \ 141eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf(#INSN " v9." #SUFFIXD \ 142eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ", v7." #SUFFIXN ", v8." #SUFFIXM " "); \ 143eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); \ 144eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf(" "); \ 145eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); \ 146eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } \ 147eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 148eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 149eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 150eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* Note this also sets the destination register to a known value (0x55..55) 151eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov since it can sometimes be an input to the instruction too. */ 152eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#define GEN_SHIFT_TEST(INSN,SUFFIXD,SUFFIXN,AMOUNT) \ 153eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __attribute__((noinline)) \ 154eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov static void test_##INSN##_##SUFFIXD##_##SUFFIXN##_##AMOUNT ( LaneTy ty ) { \ 155eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov Int i; \ 156eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < ITERS; i++) { \ 157eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[2]; \ 158eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(block, 0x55, sizeof(block)); \ 159eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], ty); \ 160eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], ty); \ 161eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( \ 162eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " \ 163eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q8, [%0, #16] ; " \ 164eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov #INSN " v8." #SUFFIXD ", v7." #SUFFIXN ", #" #AMOUNT " ; " \ 165eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " \ 166eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" \ 167eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); \ 168eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf(#INSN " v8." #SUFFIXD ", v7." #SUFFIXN ", #" #AMOUNT " "); \ 169eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); \ 170eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); \ 171eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } \ 172eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 173eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 174eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 175eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* Generate a test that involves one integer reg and one vector reg, 176eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov with no bias as towards which is input or output. */ 177eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#define GEN_ONEINT_ONEVEC_TEST(TESTNAME,INSN,INTREGNO,VECREGNO) \ 178eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __attribute__((noinline)) \ 179eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov static void test_##TESTNAME ( LaneTy ty ) { \ 180eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov Int i; \ 181eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < ITERS; i++) { \ 182eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[4]; \ 183eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(block, 0x55, sizeof(block)); \ 184eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], ty); \ 185eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], ty); \ 186eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[2], ty); \ 187eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[3], ty); \ 188eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( \ 189eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q"#VECREGNO", [%0, #0] ; " \ 190eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x"#INTREGNO", [%0, #16] ; " \ 191eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov INSN " ; " \ 192eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q"#VECREGNO", [%0, #32] ; " \ 193eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str x"#INTREGNO", [%0, #48] ; " \ 194eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v"#VECREGNO, "x"#INTREGNO \ 195eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); \ 196eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf(INSN " "); \ 197eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); \ 198eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf(" "); \ 199eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf(" "); \ 200eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[3]); printf("\n"); \ 201eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } \ 202eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 203eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 204eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 205eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* Generate a test that involves two vector regs, 206eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov with no bias as towards which is input or output. 207eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov It's OK to use x10 as scratch.*/ 208eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#define GEN_TWOVEC_TEST(TESTNAME,INSN,VECREG1NO,VECREG2NO) \ 209eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __attribute__((noinline)) \ 210eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov static void test_##TESTNAME ( LaneTy ty ) { \ 211eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov Int i; \ 212eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < ITERS; i++) { \ 213eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[4]; \ 214eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(block, 0x55, sizeof(block)); \ 215eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], ty); \ 216eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], ty); \ 217eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[2], ty); \ 218eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[3], ty); \ 219eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( \ 220eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q"#VECREG1NO", [%0, #0] ; " \ 221eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q"#VECREG2NO", [%0, #16] ; " \ 222eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov INSN " ; " \ 223eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q"#VECREG1NO", [%0, #32] ; " \ 224eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q"#VECREG2NO", [%0, #48] ; " \ 225eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) \ 226eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : "memory", "v"#VECREG1NO, "v"#VECREG2NO, "x10" \ 227eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); \ 228eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf(INSN " "); \ 229eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); \ 230eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf(" "); \ 231eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf(" "); \ 232eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[3]); printf("\n"); \ 233eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } \ 234eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 235eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 236eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 237eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* Generate a test that involves three vector regs, 238eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov with no bias as towards which is input or output. It's also OK 239eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov to use v16, v17, v18 as scratch. */ 240eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov#define GEN_THREEVEC_TEST(TESTNAME,INSN,VECREG1NO,VECREG2NO,VECREG3NO) \ 241eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __attribute__((noinline)) \ 242eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov static void test_##TESTNAME ( LaneTy ty ) { \ 243eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov Int i; \ 244eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < ITERS; i++) { \ 245eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[6]; \ 246eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(block, 0x55, sizeof(block)); \ 247eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], ty); \ 248eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], ty); \ 249eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[2], ty); \ 250eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[3], ty); \ 251eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[4], ty); \ 252eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[5], ty); \ 253eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( \ 254eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q"#VECREG1NO", [%0, #0] ; " \ 255eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q"#VECREG2NO", [%0, #16] ; " \ 256eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q"#VECREG3NO", [%0, #32] ; " \ 257eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov INSN " ; " \ 258eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q"#VECREG1NO", [%0, #48] ; " \ 259eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q"#VECREG2NO", [%0, #64] ; " \ 260eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q"#VECREG3NO", [%0, #80] ; " \ 261eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) \ 262eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : "memory", "v"#VECREG1NO, "v"#VECREG2NO, "v"#VECREG3NO, \ 263eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "v16", "v17", "v18" \ 264eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); \ 265eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf(INSN " "); \ 266eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); \ 267eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf(" "); \ 268eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf(" "); \ 269eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[3]); printf(" "); \ 270eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[4]); printf(" "); \ 271eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[5]); printf("\n"); \ 272eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } \ 273eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 274eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 275eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 276eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovvoid test_UMINV ( void ) 277eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 278eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov int i; 279eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[2]; 280eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 281eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 4s -- */ 282eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 283eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 284eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 285eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyS); 286eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyS); 287eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 288eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 289eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "uminv s8, v7.4s ; " 290eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 291eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 292eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 293eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMINV v8, v7.4s "); 294eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 295eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 296eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 297eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 298eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 8h -- */ 299eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 300eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 301eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 302eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyH); 303eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyH); 304eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 305eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 306eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "uminv h8, v7.8h ; " 307eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 308eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 309eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 310eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMINV h8, v7.8h "); 311eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 312eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 313eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 314eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 315eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 4h -- */ 316eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 317eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 318eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 319eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyH); 320eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyH); 321eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 322eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 323eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "uminv h8, v7.4h ; " 324eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 325eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 326eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 327eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMINV h8, v7.4h "); 328eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 329eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 330eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 331eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 332eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 16b -- */ 333eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 334eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 335eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 336eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyB); 337eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyB); 338eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 339eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 340eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "uminv b8, v7.16b ; " 341eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 342eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 343eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 344eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMINV b8, v7.16b "); 345eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 346eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 347eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 348eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 349eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 8b -- */ 350eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 351eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 352eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 353eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyB); 354eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyB); 355eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 356eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 357eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "uminv b8, v7.8b ; " 358eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 359eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 360eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 361eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMINV b8, v7.8b "); 362eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 363eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 364eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 365eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 366eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 367eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 368eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 369eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovvoid test_UMAXV ( void ) 370eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 371eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov int i; 372eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[2]; 373eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 374eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 4s -- */ 375eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 376eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 377eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 378eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyS); 379eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyS); 380eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 381eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 382eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "umaxv s8, v7.4s ; " 383eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 384eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 385eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 386eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMAXV v8, v7.4s "); 387eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 388eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 389eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 390eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 391eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 8h -- */ 392eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 393eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 394eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 395eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyH); 396eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyH); 397eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 398eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 399eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "umaxv h8, v7.8h ; " 400eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 401eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 402eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 403eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMAXV h8, v7.8h "); 404eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 405eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 406eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 407eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 408eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 4h -- */ 409eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 410eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 411eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 412eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyH); 413eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyH); 414eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 415eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 416eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "umaxv h8, v7.4h ; " 417eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 418eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 419eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 420eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMAXV h8, v7.4h "); 421eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 422eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 423eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 424eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 425eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 16b -- */ 426eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 427eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 428eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 429eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyB); 430eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyB); 431eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 432eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 433eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "umaxv b8, v7.16b ; " 434eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 435eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 436eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 437eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMAXV b8, v7.16b "); 438eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 439eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 440eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 441eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 442eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 8b -- */ 443eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 444eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 445eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 446eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyB); 447eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyB); 448eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 449eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 450eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "umaxv b8, v7.8b ; " 451eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 452eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 453eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 454eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("UMAXV b8, v7.8b "); 455eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 456eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 457eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 458eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 459eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 460eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 461eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 462eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovvoid test_INS_general ( void ) 463eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 464eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[3]; 465eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 466eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- D[0..1] -- */ 467eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 468eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 469eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyD); 470eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 471eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 472eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 473eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.d[0], x19 ; " 474eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 475eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 476eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 477eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.u64[0],x19 "); 478eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 479eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 480eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 481eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 482eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyD); 483eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 484eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 485eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 486eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.d[1], x19 ; " 487eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 488eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 489eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 490eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.d[1],x19 "); 491eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 492eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 493eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 494eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- S[0..3] -- */ 495eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 496eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 497eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyS); 498eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 499eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 500eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 501eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.s[0], w19 ; " 502eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 503eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 504eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 505eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.s[0],x19 "); 506eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 507eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 508eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 509eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 510eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyS); 511eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 512eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 513eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 514eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.s[1], w19 ; " 515eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 516eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 517eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 518eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.s[1],x19 "); 519eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 520eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 521eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 522eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 523eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyS); 524eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 525eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 526eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 527eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.s[2], w19 ; " 528eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 529eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 530eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 531eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.s[2],x19 "); 532eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 533eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 534eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 535eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 536eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyS); 537eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 538eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 539eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 540eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.s[3], w19 ; " 541eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 542eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 543eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 544eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.s[3],x19 "); 545eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 546eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 547eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 548eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- H[0..7] -- */ 549eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 550eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 551eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyH); 552eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 553eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 554eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 555eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.h[0], w19 ; " 556eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 557eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 558eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 559eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.h[0],x19 "); 560eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 561eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 562eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 563eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 564eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyH); 565eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 566eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 567eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 568eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.h[1], w19 ; " 569eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 570eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 571eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 572eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.h[1],x19 "); 573eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 574eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 575eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 576eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 577eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyH); 578eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 579eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 580eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 581eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.h[2], w19 ; " 582eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 583eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 584eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 585eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.h[2],x19 "); 586eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 587eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 588eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 589eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 590eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyH); 591eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 592eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 593eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 594eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.h[3], w19 ; " 595eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 596eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 597eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 598eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.h[3],x19 "); 599eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 600eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 601eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 602eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 603eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyH); 604eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 605eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 606eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 607eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.h[4], w19 ; " 608eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 609eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 610eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 611eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.h[4],x19 "); 612eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 613eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 614eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 615eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 616eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyH); 617eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 618eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 619eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 620eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.h[5], w19 ; " 621eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 622eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 623eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 624eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.h[5],x19 "); 625eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 626eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 627eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 628eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 629eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyH); 630eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 631eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 632eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 633eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.h[6], w19 ; " 634eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 635eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 636eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 637eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.h[6],x19 "); 638eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 639eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 640eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 641eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 642eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyH); 643eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 644eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 645eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 646eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.h[7], w19 ; " 647eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 648eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 649eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 650eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.h[7],x19 "); 651eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 652eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 653eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 654eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- B[0,15] -- */ 655eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 656eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 657eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyB); 658eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 659eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 660eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 661eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.b[0], w19 ; " 662eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 663eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 664eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 665eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.b[0],x19 "); 666eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 667eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 668eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 669eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 670eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov block[1].u64[0] = randULong(TyB); 671eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 672eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 673eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr x19, [%0, #16] ; " 674eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ins v7.b[15], w19 ; " 675eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q7, [%0, #32] " 676eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "x19", "v7" 677eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 678eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("INS v7.b[15],x19 "); 679eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" %016llx ", block[1].u64[0]); 680eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[2]); printf("\n"); 681eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 682eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 683eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 684eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 685eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovvoid test_SMINV ( void ) 686eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 687eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov int i; 688eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[2]; 689eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 690eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 4s -- */ 691eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 692eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 693eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 694eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyS); 695eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyS); 696eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 697eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 698eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "sminv s8, v7.4s ; " 699eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 700eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 701eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 702eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMINV v8, v7.4s "); 703eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 704eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 705eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 706eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 707eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 8h -- */ 708eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 709eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 710eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 711eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyH); 712eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyH); 713eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 714eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 715eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "sminv h8, v7.8h ; " 716eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 717eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 718eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 719eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMINV h8, v7.8h "); 720eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 721eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 722eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 723eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 724eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 4h -- */ 725eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 726eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 727eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 728eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyH); 729eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyH); 730eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 731eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 732eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "sminv h8, v7.4h ; " 733eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 734eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 735eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 736eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMINV h8, v7.4h "); 737eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 738eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 739eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 740eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 741eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 16b -- */ 742eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 743eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 744eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 745eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyB); 746eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyB); 747eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 748eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 749eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "sminv b8, v7.16b ; " 750eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 751eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 752eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 753eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMINV b8, v7.16b "); 754eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 755eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 756eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 757eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 758eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 8b -- */ 759eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 760eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 761eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 762eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyB); 763eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyB); 764eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 765eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 766eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "sminv b8, v7.8b ; " 767eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 768eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 769eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 770eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMINV b8, v7.8b "); 771eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 772eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 773eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 774eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 775eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 776eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 777eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 778eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovvoid test_SMAXV ( void ) 779eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 780eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov int i; 781eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov V128 block[2]; 782eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 783eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 4s -- */ 784eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 785eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 786eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 787eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyS); 788eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyS); 789eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 790eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 791eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "smaxv s8, v7.4s ; " 792eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 793eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 794eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 795eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMAXV v8, v7.4s "); 796eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 797eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 798eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 799eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 800eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 8h -- */ 801eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 802eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 803eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 804eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyH); 805eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyH); 806eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 807eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 808eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "smaxv h8, v7.8h ; " 809eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 810eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 811eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 812eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMAXV h8, v7.8h "); 813eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 814eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 815eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 816eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 817eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 4h -- */ 818eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 819eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 820eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 821eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyH); 822eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyH); 823eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 824eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 825eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "smaxv h8, v7.4h ; " 826eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 827eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 828eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 829eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMAXV h8, v7.4h "); 830eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 831eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 832eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 833eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 834eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 16b -- */ 835eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 836eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 837eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 838eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyB); 839eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyB); 840eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 841eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 842eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "smaxv b8, v7.16b ; " 843eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 844eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 845eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 846eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMAXV b8, v7.16b "); 847eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 848eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 849eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 850eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 851eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov /* -- 8b -- */ 852eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 853eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov for (i = 0; i < 10; i++) { 854eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov memset(&block, 0x55, sizeof(block)); 855eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[0], TyB); 856eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov randV128(&block[1], TyB); 857eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov __asm__ __volatile__( 858eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ldr q7, [%0, #0] ; " 859eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "smaxv b8, v7.8b ; " 860eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "str q8, [%0, #16] " 861eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov : : "r"(&block[0]) : "memory", "v7", "v8" 862eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ); 863eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov printf("SMAXV b8, v7.8b "); 864eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[0]); printf(" "); 865eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov showV128(&block[1]); printf("\n"); 866eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov } 867eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 868eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 869eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 870eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 871eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umax, 4s, 4s, 4s) 872eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umax, 2s, 2s, 2s) 873eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umax, 8h, 8h, 8h) 874eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umax, 4h, 4h, 4h) 875eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umax, 16b, 16b, 16b) 876eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umax, 8b, 8b, 8b) 877eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 878eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umin, 4s, 4s, 4s) 879eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umin, 2s, 2s, 2s) 880eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umin, 8h, 8h, 8h) 881eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umin, 4h, 4h, 4h) 882eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umin, 16b, 16b, 16b) 883eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umin, 8b, 8b, 8b) 884eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 885eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smax, 4s, 4s, 4s) 886eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smax, 2s, 2s, 2s) 887eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smax, 8h, 8h, 8h) 888eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smax, 4h, 4h, 4h) 889eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smax, 16b, 16b, 16b) 890eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smax, 8b, 8b, 8b) 891eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 892eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smin, 4s, 4s, 4s) 893eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smin, 2s, 2s, 2s) 894eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smin, 8h, 8h, 8h) 895eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smin, 4h, 4h, 4h) 896eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smin, 16b, 16b, 16b) 897eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smin, 8b, 8b, 8b) 898eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 899eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(add, 2d, 2d, 2d) 900eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(add, 4s, 4s, 4s) 901eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(add, 2s, 2s, 2s) 902eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(add, 8h, 8h, 8h) 903eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(add, 4h, 4h, 4h) 904eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(add, 16b, 16b, 16b) 905eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(add, 8b, 8b, 8b) 906eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 907eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sub, 2d, 2d, 2d) 908eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sub, 4s, 4s, 4s) 909eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sub, 2s, 2s, 2s) 910eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sub, 8h, 8h, 8h) 911eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sub, 4h, 4h, 4h) 912eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sub, 16b, 16b, 16b) 913eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sub, 8b, 8b, 8b) 914eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 915eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mul, 4s, 4s, 4s) 916eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mul, 2s, 2s, 2s) 917eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mul, 8h, 8h, 8h) 918eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mul, 4h, 4h, 4h) 919eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mul, 16b, 16b, 16b) 920eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mul, 8b, 8b, 8b) 921eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 922eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mla, 4s, 4s, 4s) 923eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mla, 2s, 2s, 2s) 924eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mla, 8h, 8h, 8h) 925eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mla, 4h, 4h, 4h) 926eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mla, 16b, 16b, 16b) 927eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mla, 8b, 8b, 8b) 928eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 929eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mls, 4s, 4s, 4s) 930eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mls, 2s, 2s, 2s) 931eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mls, 8h, 8h, 8h) 932eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mls, 4h, 4h, 4h) 933eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mls, 16b, 16b, 16b) 934eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(mls, 8b, 8b, 8b) 935eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 936eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(and, 16b, 16b, 16b) 937eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(and, 8b, 8b, 8b) 938eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 939eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(bic, 16b, 16b, 16b) 940eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(bic, 8b, 8b, 8b) 941eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 942eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(orr, 16b, 16b, 16b) 943eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(orr, 8b, 8b, 8b) 944eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 945eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(orn, 16b, 16b, 16b) 946eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(orn, 8b, 8b, 8b) 947eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 948eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(eor, 16b, 16b, 16b) 949eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(eor, 8b, 8b, 8b) 950eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 951eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(bsl, 16b, 16b, 16b) 952eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(bsl, 8b, 8b, 8b) 953eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 954eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(bit, 16b, 16b, 16b) 955eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(bit, 8b, 8b, 8b) 956eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 957eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(bif, 16b, 16b, 16b) 958eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(bif, 8b, 8b, 8b) 959eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 960eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmeq, 2d, 2d, 2d) 961eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmeq, 4s, 4s, 4s) 962eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmeq, 2s, 2s, 2s) 963eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmeq, 8h, 8h, 8h) 964eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmeq, 4h, 4h, 4h) 965eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmeq, 16b, 16b, 16b) 966eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmeq, 8b, 8b, 8b) 967eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 968eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmtst, 2d, 2d, 2d) 969eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmtst, 4s, 4s, 4s) 970eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmtst, 2s, 2s, 2s) 971eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmtst, 8h, 8h, 8h) 972eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmtst, 4h, 4h, 4h) 973eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmtst, 16b, 16b, 16b) 974eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmtst, 8b, 8b, 8b) 975eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 976eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhi, 2d, 2d, 2d) 977eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhi, 4s, 4s, 4s) 978eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhi, 2s, 2s, 2s) 979eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhi, 8h, 8h, 8h) 980eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhi, 4h, 4h, 4h) 981eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhi, 16b, 16b, 16b) 982eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhi, 8b, 8b, 8b) 983eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 984eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmgt, 2d, 2d, 2d) 985eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmgt, 4s, 4s, 4s) 986eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmgt, 2s, 2s, 2s) 987eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmgt, 8h, 8h, 8h) 988eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmgt, 4h, 4h, 4h) 989eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmgt, 16b, 16b, 16b) 990eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmgt, 8b, 8b, 8b) 991eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 992eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhs, 2d, 2d, 2d) 993eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhs, 4s, 4s, 4s) 994eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhs, 2s, 2s, 2s) 995eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhs, 8h, 8h, 8h) 996eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhs, 4h, 4h, 4h) 997eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhs, 16b, 16b, 16b) 998eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmhs, 8b, 8b, 8b) 999eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1000eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmge, 2d, 2d, 2d) 1001eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmge, 4s, 4s, 4s) 1002eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmge, 2s, 2s, 2s) 1003eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmge, 8h, 8h, 8h) 1004eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmge, 4h, 4h, 4h) 1005eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmge, 16b, 16b, 16b) 1006eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(cmge, 8b, 8b, 8b) 1007eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1008eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 2d, 2d, 1) 1009eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 2d, 2d, 13) 1010eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 2d, 2d, 64) 1011eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 2d, 2d, 1) 1012eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 2d, 2d, 13) 1013eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 2d, 2d, 64) 1014eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 2d, 2d, 0) 1015eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 2d, 2d, 13) 1016eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 2d, 2d, 63) 1017eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1018eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 4s, 4s, 1) 1019eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 4s, 4s, 13) 1020eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 4s, 4s, 32) 1021eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 4s, 4s, 1) 1022eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 4s, 4s, 13) 1023eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 4s, 4s, 32) 1024eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 4s, 4s, 0) 1025eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 4s, 4s, 13) 1026eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 4s, 4s, 31) 1027eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1028eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 2s, 2s, 1) 1029eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 2s, 2s, 13) 1030eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 2s, 2s, 32) 1031eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 2s, 2s, 1) 1032eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 2s, 2s, 13) 1033eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 2s, 2s, 32) 1034eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 2s, 2s, 0) 1035eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 2s, 2s, 13) 1036eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 2s, 2s, 31) 1037eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1038eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 8h, 8h, 1) 1039eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 8h, 8h, 13) 1040eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 8h, 8h, 16) 1041eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 8h, 8h, 1) 1042eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 8h, 8h, 13) 1043eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 8h, 8h, 16) 1044eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 8h, 8h, 0) 1045eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 8h, 8h, 13) 1046eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 8h, 8h, 15) 1047eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1048eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 4h, 4h, 1) 1049eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 4h, 4h, 13) 1050eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 4h, 4h, 16) 1051eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 4h, 4h, 1) 1052eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 4h, 4h, 13) 1053eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 4h, 4h, 16) 1054eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 4h, 4h, 0) 1055eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 4h, 4h, 13) 1056eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 4h, 4h, 15) 1057eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1058eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 16b, 16b, 1) 1059eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 16b, 16b, 8) 1060eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 16b, 16b, 1) 1061eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 16b, 16b, 8) 1062eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 16b, 16b, 0) 1063eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 16b, 16b, 7) 1064eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1065eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 8b, 8b, 1) 1066eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushr, 8b, 8b, 8) 1067eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 8b, 8b, 1) 1068eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshr, 8b, 8b, 8) 1069eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 8b, 8b, 0) 1070eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(shl, 8b, 8b, 7) 1071eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1072eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll, 2d, 2s, 0) 1073eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll, 2d, 2s, 15) 1074eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll, 2d, 2s, 31) 1075eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll2, 2d, 4s, 0) 1076eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll2, 2d, 4s, 15) 1077eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll2, 2d, 4s, 31) 1078eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll, 4s, 4h, 0) 1079eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll, 4s, 4h, 7) 1080eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll, 4s, 4h, 15) 1081eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll2, 4s, 8h, 0) 1082eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll2, 4s, 8h, 7) 1083eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll2, 4s, 8h, 15) 1084eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll, 8h, 8b, 0) 1085eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll, 8h, 8b, 3) 1086eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll, 8h, 8b, 7) 1087eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll2, 8h, 16b, 0) 1088eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll2, 8h, 16b, 3) 1089eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(ushll2, 8h, 16b, 7) 1090eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1091eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll, 2d, 2s, 0) 1092eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll, 2d, 2s, 15) 1093eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll, 2d, 2s, 31) 1094eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll2, 2d, 4s, 0) 1095eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll2, 2d, 4s, 15) 1096eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll2, 2d, 4s, 31) 1097eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll, 4s, 4h, 0) 1098eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll, 4s, 4h, 7) 1099eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll, 4s, 4h, 15) 1100eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll2, 4s, 8h, 0) 1101eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll2, 4s, 8h, 7) 1102eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll2, 4s, 8h, 15) 1103eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll, 8h, 8b, 0) 1104eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll, 8h, 8b, 3) 1105eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll, 8h, 8b, 7) 1106eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll2, 8h, 16b, 0) 1107eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll2, 8h, 16b, 3) 1108eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_SHIFT_TEST(sshll2, 8h, 16b, 7) 1109eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1110eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1111eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(xtn, 2s, 2d) 1112eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(xtn2, 4s, 2d) 1113eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(xtn, 4h, 4s) 1114eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(xtn2, 8h, 4s) 1115eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(xtn, 8b, 8h) 1116eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(xtn2, 16b, 8h) 1117eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1118eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(umov_x_d0, "umov x9, v10.d[0]", 9, 10) 1119eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(umov_x_d1, "umov x9, v10.d[1]", 9, 10) 1120eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(umov_w_s0, "umov w9, v10.s[0]", 9, 10) 1121eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(umov_w_s3, "umov w9, v10.s[3]", 9, 10) 1122eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(umov_w_h0, "umov w9, v10.h[0]", 9, 10) 1123eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(umov_w_h7, "umov w9, v10.h[7]", 9, 10) 1124eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(umov_w_b0, "umov w9, v10.b[0]", 9, 10) 1125eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(umov_w_b15, "umov w9, v10.b[15]", 9, 10) 1126eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1127eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_x_s0, "smov x9, v10.s[0]", 9, 10) 1128eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_x_s3, "smov x9, v10.s[3]", 9, 10) 1129eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_x_h0, "smov x9, v10.h[0]", 9, 10) 1130eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_x_h7, "smov x9, v10.h[7]", 9, 10) 1131eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_w_h0, "smov w9, v10.h[0]", 9, 10) 1132eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_w_h7, "smov w9, v10.h[7]", 9, 10) 1133eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_x_b0, "smov x9, v10.b[0]", 9, 10) 1134eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_x_b15, "smov x9, v10.b[15]", 9, 10) 1135eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_w_b0, "smov w9, v10.b[0]", 9, 10) 1136eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(smov_w_b15, "smov w9, v10.b[15]", 9, 10) 1137eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1138eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fcvtn_2s_2d, "fcvtn v22.2s, v23.2d", 22, 23) 1139eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fcvtn_4s_2d, "fcvtn2 v22.4s, v23.2d", 22, 23) 1140eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1141eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(neg, 2d, 2d) 1142eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(neg, 4s, 4s) 1143eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(neg, 2s, 2s) 1144eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(neg, 8h, 8h) 1145eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(neg, 4h, 4h) 1146eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(neg, 16b, 16b) 1147eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(neg, 8b, 8b) 1148eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1149eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fadd, 2d, 2d, 2d) 1150eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fadd, 4s, 4s, 4s) 1151eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fadd, 2s, 2s, 2s) 1152eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fsub, 2d, 2d, 2d) 1153eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fsub, 4s, 4s, 4s) 1154eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fsub, 2s, 2s, 2s) 1155eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fmul, 2d, 2d, 2d) 1156eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fmul, 4s, 4s, 4s) 1157eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fmul, 2s, 2s, 2s) 1158eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fdiv, 2d, 2d, 2d) 1159eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fdiv, 4s, 4s, 4s) 1160eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fdiv, 2s, 2s, 2s) 1161eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fmla, 2d, 2d, 2d) 1162eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fmla, 4s, 4s, 4s) 1163eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fmla, 2s, 2s, 2s) 1164eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fmls, 2d, 2d, 2d) 1165eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fmls, 4s, 4s, 4s) 1166eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fmls, 2s, 2s, 2s) 1167eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fabd, 2d, 2d, 2d) 1168eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fabd, 4s, 4s, 4s) 1169eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fabd, 2s, 2s, 2s) 1170eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1171eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(add_d_d_d, "add d21, d22, d23", 21, 22, 23) 1172eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sub_d_d_d, "sub d21, d22, d23", 21, 22, 23) 1173eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1174eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* overkill -- don't need two vecs, only one */ 1175eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_d_imm_01, "fmov d22, #0.125", 22, 23) 1176eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_d_imm_02, "fmov d22, #-4.0", 22, 23) 1177eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_d_imm_03, "fmov d22, #1.0", 22, 23) 1178eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_s_imm_01, "fmov s22, #0.125", 22, 23) 1179eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_s_imm_02, "fmov s22, #-4.0", 22, 23) 1180eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_s_imm_03, "fmov s22, #-1.0", 22, 23) 1181eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1182eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(fmov_s_w, "fmov s7, w15", 15, 7) 1183eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(fmov_d_x, "fmov d7, x15", 15, 7) 1184eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(fmov_d1_x, "fmov v7.d[1], x15", 15, 7) 1185eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(fmov_w_s, "fmov w15, s7", 15, 7) 1186eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(fmov_x_d, "fmov x15, d7", 15, 7) 1187eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(fmov_x_d1, "fmov x15, v7.d[1]", 15, 7) 1188eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1189eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_2d_imm_01, "fmov v22.2d, #0.125", 22, 23) 1190eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_2d_imm_02, "fmov v22.2d, #-4.0", 22, 23) 1191eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_2d_imm_03, "fmov v22.2d, #1.0", 22, 23) 1192eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_4s_imm_01, "fmov v22.4s, #0.125", 22, 23) 1193eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_4s_imm_02, "fmov v22.4s, #-4.0", 22, 23) 1194eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_4s_imm_03, "fmov v22.4s, #1.0", 22, 23) 1195eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_2s_imm_01, "fmov v22.2s, #0.125", 22, 23) 1196eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_2s_imm_02, "fmov v22.2s, #-4.0", 22, 23) 1197eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_2s_imm_03, "fmov v22.2s, #1.0", 22, 23) 1198eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 119942af27935e37fca9021c5e90d3c4f3fd3a60e36fDmitriy IvanovGEN_TWOVEC_TEST(scvtf_s_s, "scvtf s7, s8", 7, 8) 120042af27935e37fca9021c5e90d3c4f3fd3a60e36fDmitriy IvanovGEN_TWOVEC_TEST(scvtf_d_d, "scvtf d7, d8", 7, 8) 120142af27935e37fca9021c5e90d3c4f3fd3a60e36fDmitriy IvanovGEN_TWOVEC_TEST(ucvtf_s_s, "ucvtf s7, s8", 7, 8) 120242af27935e37fca9021c5e90d3c4f3fd3a60e36fDmitriy IvanovGEN_TWOVEC_TEST(ucvtf_d_d, "ucvtf d7, d8", 7, 8) 120342af27935e37fca9021c5e90d3c4f3fd3a60e36fDmitriy Ivanov 1204eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(scvtf_s_w, "scvtf s7, w15", 15, 7) 1205eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(scvtf_d_w, "scvtf d7, w15", 15, 7) 1206eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(scvtf_s_x, "scvtf s7, x15", 15, 7) 1207eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(scvtf_d_x, "scvtf d7, x15", 15, 7) 1208eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(ucvtf_s_w, "ucvtf s7, w15", 15, 7) 1209eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(ucvtf_d_w, "ucvtf d7, w15", 15, 7) 1210eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(ucvtf_s_x, "ucvtf s7, x15", 15, 7) 1211eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_ONEINT_ONEVEC_TEST(ucvtf_d_x, "ucvtf d7, x15", 15, 7) 1212eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1213eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fadd_d_d_d, "fadd d2, d11, d29", 2, 11, 29) 1214eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fadd_s_s_s, "fadd s2, s11, s29", 2, 11, 29) 1215eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fsub_d_d_d, "fsub d2, d11, d29", 2, 11, 29) 1216eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fsub_s_s_s, "fsub s2, s11, s29", 2, 11, 29) 1217eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fmul_d_d_d, "fmul d2, d11, d29", 2, 11, 29) 1218eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fmul_s_s_s, "fmul s2, s11, s29", 2, 11, 29) 1219eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fdiv_d_d_d, "fdiv d2, d11, d29", 2, 11, 29) 1220eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fdiv_s_s_s, "fdiv s2, s11, s29", 2, 11, 29) 1221eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fnmul_d_d_d, "fnmul d2, d11, d29", 2, 11, 29) 1222eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fnmul_s_s_s, "fnmul s2, s11, s29", 2, 11, 29) 1223eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1224eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fabd_d_d_d, "fabd d2, d11, d29", 2, 11, 29) 1225eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(fabd_s_s_s, "fabd s2, s11, s29", 2, 11, 29) 1226eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1227eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_d_d, "fmov d22, d23", 22, 23) 1228eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fmov_s_s, "fmov s22, s23", 22, 23) 1229eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fabs_d_d, "fabs d22, d23", 22, 23) 1230eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fabs_s_s, "fabs s22, s23", 22, 23) 1231eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fneg_d_d, "fneg d22, d23", 22, 23) 1232eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fneg_s_s, "fneg s22, s23", 22, 23) 1233eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fsqrt_d_d, "fsqrt d22, d23", 22, 23) 1234eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(fsqrt_s_s, "fsqrt s22, s23", 22, 23) 1235eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1236eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(fneg, 2d, 2d) 1237eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(fneg, 4s, 4s) 1238eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(fneg, 2s, 2s) 1239eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(fabs, 2d, 2d) 1240eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(fabs, 4s, 4s) 1241eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(fabs, 2s, 2s) 1242eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1243eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fcmeq, 2d, 2d, 2d) 1244eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fcmeq, 4s, 4s, 4s) 1245eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fcmeq, 2s, 2s, 2s) 1246eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fcmge, 2d, 2d, 2d) 1247eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fcmge, 4s, 4s, 4s) 1248eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fcmge, 2s, 2s, 2s) 1249eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fcmgt, 2d, 2d, 2d) 1250eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fcmgt, 4s, 4s, 4s) 1251eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(fcmgt, 2s, 2s, 2s) 1252eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(facge, 2d, 2d, 2d) 1253eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(facge, 4s, 4s, 4s) 1254eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(facge, 2s, 2s, 2s) 1255eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(facgt, 2d, 2d, 2d) 1256eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(facgt, 4s, 4s, 4s) 1257eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(facgt, 2s, 2s, 2s) 1258eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1259eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov// Uses v15 as the first table entry 1260eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1261eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl_16b_1reg, "tbl v21.16b, {v15.16b}, v23.16b", 21, 15, 23) 1262eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov// and v15 ^ v21 as the second table entry 1263eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1264eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl_16b_2reg, "eor v16.16b, v15.16b, v21.16b ; " 1265eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbl v21.16b, {v15.16b, v16.16b}, v23.16b", 21, 15, 23) 1266eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov// and v15 ^ v23 as the third table entry 1267eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1268eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl_16b_3reg, "eor v16.16b, v15.16b, v21.16b ; " 1269eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v17.16b, v15.16b, v23.16b ; " 1270eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbl v21.16b, {v15.16b, v16.16b, v17.16b}, v23.16b", 1271eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 21, 15, 23) 1272eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov// and v21 ^ v23 as the fourth table entry 1273eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1274eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl_16b_4reg, "eor v16.16b, v15.16b, v21.16b ; " 1275eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v17.16b, v15.16b, v23.16b ; " 1276eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v18.16b, v21.16b, v23.16b ; " 1277eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbl v21.16b, {v15.16b, v16.16b, v17.16b, v18.16b}, v23.16b", 1278eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 21, 15, 23) 1279eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1280eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov// Same register scheme for tbl .8b, tbx .16b, tbx.8b 1281eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1282eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl_8b_1reg, "tbl v21.8b, {v15.16b}, v23.8b", 21, 15, 23) 1283eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1284eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl_8b_2reg, "eor v16.16b, v15.16b, v21.16b ; " 1285eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbl v21.8b, {v15.16b, v16.16b}, v23.8b", 21, 15, 23) 1286eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1287eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl_8b_3reg, "eor v16.16b, v15.16b, v21.16b ; " 1288eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v17.16b, v15.16b, v23.16b ; " 1289eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbl v21.8b, {v15.16b, v16.16b, v17.16b}, v23.8b", 1290eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 21, 15, 23) 1291eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1292eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl_8b_4reg, "eor v16.16b, v15.16b, v21.16b ; " 1293eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v17.16b, v15.16b, v23.16b ; " 1294eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v18.16b, v21.16b, v23.16b ; " 1295eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbl v21.8b, {v15.16b, v16.16b, v17.16b, v18.16b}, v23.8b", 1296eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 21, 15, 23) 1297eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1298eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1299eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx_16b_1reg, "tbx v21.16b, {v15.16b}, v23.16b", 21, 15, 23) 1300eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1301eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx_16b_2reg, "eor v16.16b, v15.16b, v21.16b ; " 1302eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbx v21.16b, {v15.16b, v16.16b}, v23.16b", 21, 15, 23) 1303eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1304eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx_16b_3reg, "eor v16.16b, v15.16b, v21.16b ; " 1305eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v17.16b, v15.16b, v23.16b ; " 1306eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbx v21.16b, {v15.16b, v16.16b, v17.16b}, v23.16b", 1307eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 21, 15, 23) 1308eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1309eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx_16b_4reg, "eor v16.16b, v15.16b, v21.16b ; " 1310eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v17.16b, v15.16b, v23.16b ; " 1311eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v18.16b, v21.16b, v23.16b ; " 1312eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbx v21.16b, {v15.16b, v16.16b, v17.16b, v18.16b}, v23.16b", 1313eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 21, 15, 23) 1314eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1315eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov// Same register scheme for tbx .8b, tbx .16b, tbx.8b 1316eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1317eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx_8b_1reg, "tbx v21.8b, {v15.16b}, v23.8b", 21, 15, 23) 1318eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1319eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx_8b_2reg, "eor v16.16b, v15.16b, v21.16b ; " 1320eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbx v21.8b, {v15.16b, v16.16b}, v23.8b", 21, 15, 23) 1321eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1322eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx_8b_3reg, "eor v16.16b, v15.16b, v21.16b ; " 1323eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v17.16b, v15.16b, v23.16b ; " 1324eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbx v21.8b, {v15.16b, v16.16b, v17.16b}, v23.8b", 1325eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 21, 15, 23) 1326eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST( 1327eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx_8b_4reg, "eor v16.16b, v15.16b, v21.16b ; " 1328eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v17.16b, v15.16b, v23.16b ; " 1329eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "eor v18.16b, v21.16b, v23.16b ; " 1330eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "tbx v21.8b, {v15.16b, v16.16b, v17.16b, v18.16b}, v23.8b", 1331eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 21, 15, 23) 1332eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1333eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmge_zero_2d_2d, "cmge v5.2d, v22.2d, #0", 5, 22) 1334eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmge_zero_4s_4s, "cmge v5.4s, v22.4s, #0", 5, 22) 1335eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmge_zero_2s_2s, "cmge v5.2s, v22.2s, #0", 5, 22) 1336eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmge_zero_8h_8h, "cmge v5.8h, v22.8h, #0", 5, 22) 1337eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmge_zero_4h_4h, "cmge v5.4h, v22.4h, #0", 5, 22) 1338eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmge_zero_16b_16b, "cmge v5.16b, v22.16b, #0", 5, 22) 1339eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmge_zero_8b_8b, "cmge v5.8b, v22.8b, #0", 5, 22) 1340eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1341eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmgt_zero_2d_2d, "cmgt v5.2d, v22.2d, #0", 5, 22) 1342eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmgt_zero_4s_4s, "cmgt v5.4s, v22.4s, #0", 5, 22) 1343eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmgt_zero_2s_2s, "cmgt v5.2s, v22.2s, #0", 5, 22) 1344eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmgt_zero_8h_8h, "cmgt v5.8h, v22.8h, #0", 5, 22) 1345eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmgt_zero_4h_4h, "cmgt v5.4h, v22.4h, #0", 5, 22) 1346eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmgt_zero_16b_16b, "cmgt v5.16b, v22.16b, #0", 5, 22) 1347eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmgt_zero_8b_8b, "cmgt v5.8b, v22.8b, #0", 5, 22) 1348eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1349eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmle_zero_2d_2d, "cmle v5.2d, v22.2d, #0", 5, 22) 1350eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmle_zero_4s_4s, "cmle v5.4s, v22.4s, #0", 5, 22) 1351eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmle_zero_2s_2s, "cmle v5.2s, v22.2s, #0", 5, 22) 1352eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmle_zero_8h_8h, "cmle v5.8h, v22.8h, #0", 5, 22) 1353eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmle_zero_4h_4h, "cmle v5.4h, v22.4h, #0", 5, 22) 1354eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmle_zero_16b_16b, "cmle v5.16b, v22.16b, #0", 5, 22) 1355eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmle_zero_8b_8b, "cmle v5.8b, v22.8b, #0", 5, 22) 1356eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1357eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmeq_zero_2d_2d, "cmeq v5.2d, v22.2d, #0", 5, 22) 1358eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmeq_zero_4s_4s, "cmeq v5.4s, v22.4s, #0", 5, 22) 1359eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmeq_zero_2s_2s, "cmeq v5.2s, v22.2s, #0", 5, 22) 1360eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmeq_zero_8h_8h, "cmeq v5.8h, v22.8h, #0", 5, 22) 1361eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmeq_zero_4h_4h, "cmeq v5.4h, v22.4h, #0", 5, 22) 1362eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmeq_zero_16b_16b, "cmeq v5.16b, v22.16b, #0", 5, 22) 1363eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmeq_zero_8b_8b, "cmeq v5.8b, v22.8b, #0", 5, 22) 1364eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1365eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmlt_zero_2d_2d, "cmlt v5.2d, v22.2d, #0", 5, 22) 1366eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmlt_zero_4s_4s, "cmlt v5.4s, v22.4s, #0", 5, 22) 1367eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmlt_zero_2s_2s, "cmlt v5.2s, v22.2s, #0", 5, 22) 1368eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmlt_zero_8h_8h, "cmlt v5.8h, v22.8h, #0", 5, 22) 1369eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmlt_zero_4h_4h, "cmlt v5.4h, v22.4h, #0", 5, 22) 1370eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmlt_zero_16b_16b, "cmlt v5.16b, v22.16b, #0", 5, 22) 1371eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmlt_zero_8b_8b, "cmlt v5.8b, v22.8b, #0", 5, 22) 1372eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1373eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(abs_d_d, "abs d22, d23", 22, 23) 1374eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(neg_d_d, "neg d22, d23", 22, 23) 1375eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1376eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(abs, 2d, 2d) 1377eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(abs, 4s, 4s) 1378eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(abs, 2s, 2s) 1379eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(abs, 8h, 8h) 1380eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(abs, 4h, 4h) 1381eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(abs, 16b, 16b) 1382eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(abs, 8b, 8b) 1383eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1384eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addhn, 2s, 2d, 2d) 1385eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addhn2, 4s, 2d, 2d) 1386eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addhn, 4h, 4s, 4s) 1387eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addhn2, 8h, 4s, 4s) 1388eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addhn, 8b, 8h, 8h) 1389eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addhn2, 16b, 8h, 8h) 1390eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(subhn, 2s, 2d, 2d) 1391eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(subhn2, 4s, 2d, 2d) 1392eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(subhn, 4h, 4s, 4s) 1393eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(subhn2, 8h, 4s, 4s) 1394eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(subhn, 8b, 8h, 8h) 1395eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(subhn2, 16b, 8h, 8h) 1396eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(raddhn, 2s, 2d, 2d) 1397eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(raddhn2, 4s, 2d, 2d) 1398eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(raddhn, 4h, 4s, 4s) 1399eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(raddhn2, 8h, 4s, 4s) 1400eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(raddhn, 8b, 8h, 8h) 1401eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(raddhn2, 16b, 8h, 8h) 1402eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(rsubhn, 2s, 2d, 2d) 1403eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(rsubhn2, 4s, 2d, 2d) 1404eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(rsubhn, 4h, 4s, 4s) 1405eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(rsubhn2, 8h, 4s, 4s) 1406eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(rsubhn, 8b, 8h, 8h) 1407eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(rsubhn2, 16b, 8h, 8h) 1408eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1409eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(addp_d_2d, "addp d22, v23.2d", 22, 23) 1410eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1411eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addp, 2d, 2d, 2d) 1412eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addp, 4s, 4s, 4s) 1413eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addp, 2s, 2s, 2s) 1414eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addp, 8h, 8h, 8h) 1415eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addp, 4h, 4h, 4h) 1416eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addp, 16b, 16b, 16b) 1417eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(addp, 8b, 8b, 8b) 1418eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1419eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(addv_s_4s, "addv s22, v23.4s", 22, 23) 1420eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(addv_h_8h, "addv h22, v23.8h", 22, 23) 1421eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(addv_h_4h, "addv h22, v23.4h", 22, 23) 1422eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(addv_b_16b, "addv b22, v23.16b", 22, 23) 1423eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(addv_b_8b, "addv b22, v23.8b", 22, 23) 1424eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1425eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* overkill -- don't need two vecs, only one */ 1426eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_8h_0x5A_lsl0, "orr v22.8h, #0x5A, LSL #0", 22, 23) 1427eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_8h_0xA5_lsl8, "orr v22.8h, #0xA5, LSL #8", 22, 23) 1428eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_4h_0x5A_lsl0, "orr v22.4h, #0x5A, LSL #0", 22, 23) 1429eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_4h_0xA5_lsl8, "orr v22.4h, #0xA5, LSL #8", 22, 23) 1430eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_4s_0x5A_lsl0, "orr v22.4s, #0x5A, LSL #0", 22, 23) 1431eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_4s_0x6B_lsl8, "orr v22.4s, #0x6B, LSL #8", 22, 23) 1432eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_4s_0x49_lsl16, "orr v22.4s, #0x49, LSL #16", 22, 23) 1433eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_4s_0x3D_lsl24, "orr v22.4s, #0x3D, LSL #24", 22, 23) 1434eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_2s_0x5A_lsl0, "orr v22.2s, #0x5A, LSL #0", 22, 23) 1435eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_2s_0x6B_lsl8, "orr v22.2s, #0x6B, LSL #8", 22, 23) 1436eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_2s_0x49_lsl16, "orr v22.2s, #0x49, LSL #16", 22, 23) 1437eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(orr_2s_0x3D_lsl24, "orr v22.2s, #0x3D, LSL #24", 22, 23) 1438eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_8h_0x5A_lsl0, "bic v22.8h, #0x5A, LSL #0", 22, 23) 1439eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_8h_0xA5_lsl8, "bic v22.8h, #0xA5, LSL #8", 22, 23) 1440eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_4h_0x5A_lsl0, "bic v22.4h, #0x5A, LSL #0", 22, 23) 1441eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_4h_0xA5_lsl8, "bic v22.4h, #0xA5, LSL #8", 22, 23) 1442eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_4s_0x5A_lsl0, "bic v22.4s, #0x5A, LSL #0", 22, 23) 1443eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_4s_0x6B_lsl8, "bic v22.4s, #0x6B, LSL #8", 22, 23) 1444eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_4s_0x49_lsl16, "bic v22.4s, #0x49, LSL #16", 22, 23) 1445eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_4s_0x3D_lsl24, "bic v22.4s, #0x3D, LSL #24", 22, 23) 1446eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_2s_0x5A_lsl0, "bic v22.2s, #0x5A, LSL #0", 22, 23) 1447eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_2s_0x6B_lsl8, "bic v22.2s, #0x6B, LSL #8", 22, 23) 1448eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_2s_0x49_lsl16, "bic v22.2s, #0x49, LSL #16", 22, 23) 1449eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(bic_2s_0x3D_lsl24, "bic v22.2s, #0x3D, LSL #24", 22, 23) 1450eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1451eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(cls, 4s, 4s) 1452eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(cls, 2s, 2s) 1453eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(cls, 8h, 8h) 1454eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(cls, 4h, 4h) 1455eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(cls, 16b, 16b) 1456eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(cls, 8b, 8b) 1457eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1458eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(clz, 4s, 4s) 1459eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(clz, 2s, 2s) 1460eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(clz, 8h, 8h) 1461eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(clz, 4h, 4h) 1462eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(clz, 16b, 16b) 1463eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(clz, 8b, 8b) 1464eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1465eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(cmeq_d_d_d, "cmeq d2, d11, d29", 2, 11, 29) 1466eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(cmge_d_d_d, "cmge d2, d11, d29", 2, 11, 29) 1467eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(cmgt_d_d_d, "cmgt d2, d11, d29", 2, 11, 29) 1468eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(cmhi_d_d_d, "cmhi d2, d11, d29", 2, 11, 29) 1469eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(cmhs_d_d_d, "cmhs d2, d11, d29", 2, 11, 29) 1470eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(cmtst_d_d_d, "cmtst d2, d11, d29", 2, 11, 29) 1471eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1472eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmeq_zero_d_d, "cmeq d2, d11, #0", 2, 11) 1473eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmge_zero_d_d, "cmge d2, d11, #0", 2, 11) 1474eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmgt_zero_d_d, "cmgt d2, d11, #0", 2, 11) 1475eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmle_zero_d_d, "cmle d2, d11, #0", 2, 11) 1476eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(cmlt_zero_d_d, "cmlt d2, d11, #0", 2, 11) 1477eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1478eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(cnt, 16b, 16b) 1479eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(cnt, 8b, 8b) 1480eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1481eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_d_d0, "dup d22, v23.d[0]", 22, 23) 1482eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_d_d1, "dup d22, v23.d[1]", 22, 23) 1483eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_s_s0, "dup s22, v23.s[0]", 22, 23) 1484eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_s_s3, "dup s22, v23.s[3]", 22, 23) 1485eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_h_h0, "dup h22, v23.h[0]", 22, 23) 1486eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_h_h6, "dup h22, v23.h[6]", 22, 23) 1487eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_b_b0, "dup b0, v23.b[0]", 22, 23) 1488eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_b_b13, "dup b13, v23.b[13]", 22, 23) 1489eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1490eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_2d_d0, "dup v9.2d, v17.d[0]", 9, 17) 1491eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_2d_d1, "dup v9.2d, v17.d[1]", 9, 17) 1492eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_4s_s0, "dup v9.4s, v17.s[0]", 9, 17) 1493eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_4s_s3, "dup v9.4s, v17.s[3]", 9, 17) 1494eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_2s_s0, "dup v9.2s, v17.s[0]", 9, 17) 1495eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_2s_s2, "dup v9.2s, v17.s[2]", 9, 17) 1496eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_8h_h0, "dup v9.8h, v17.h[0]", 9, 17) 1497eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_8h_h6, "dup v9.8h, v17.h[6]", 9, 17) 1498eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_4h_h1, "dup v9.4h, v17.h[1]", 9, 17) 1499eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_4h_h5, "dup v9.4h, v17.h[5]", 9, 17) 1500eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_16b_b2, "dup v9.16b, v17.b[2]", 9, 17) 1501eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_16b_b12, "dup v9.16b, v17.b[12]", 9, 17) 1502eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_8b_b3, "dup v9.8b, v17.b[3]", 9, 17) 1503eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_8b_b13, "dup v9.8b, v17.b[13]", 9, 17) 1504eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1505eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_2d_x, "mov x10, v17.d[0]; dup v9.2d, x10", 9, 17) 1506eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_4s_w, "mov x10, v17.d[0]; dup v9.4s, w10", 9, 17) 1507eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_2s_w, "mov x10, v17.d[0]; dup v9.2s, w10", 9, 17) 1508eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_8h_w, "mov x10, v17.d[0]; dup v9.8h, w10", 9, 17) 1509eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_4h_w, "mov x10, v17.d[0]; dup v9.4h, w10", 9, 17) 1510eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_16b_w, "mov x10, v17.d[0]; dup v9.16b, w10", 9, 17) 1511eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(dup_8b_w, "mov x10, v17.d[0]; dup v9.8b, w10", 9, 17) 1512eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1513eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ext_16b_16b_16b_0x0, 1514eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ext v2.16b, v11.16b, v29.16b, #0", 2, 11, 29) 1515eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ext_16b_16b_16b_0x7, 1516eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ext v2.16b, v11.16b, v29.16b, #7", 2, 11, 29) 1517eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ext_16b_16b_16b_0x8, 1518eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ext v2.16b, v11.16b, v29.16b, #8", 2, 11, 29) 1519eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ext_16b_16b_16b_0x9, 1520eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ext v2.16b, v11.16b, v29.16b, #9", 2, 11, 29) 1521eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ext_16b_16b_16b_0xF, 1522eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ext v2.16b, v11.16b, v29.16b, #15", 2, 11, 29) 1523eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1524eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ext_8b_8b_8b_0x0, 1525eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ext v2.8b, v11.8b, v29.8b, #0", 2, 11, 29) 1526eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ext_8b_8b_8b_0x1, 1527eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ext v2.8b, v11.8b, v29.8b, #1", 2, 11, 29) 1528eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ext_8b_8b_8b_0x6, 1529eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ext v2.8b, v11.8b, v29.8b, #6", 2, 11, 29) 1530eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ext_8b_8b_8b_0x7, 1531eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ext v2.8b, v11.8b, v29.8b, #7", 2, 11, 29) 1532eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1533eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1534eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_d0_d0, "ins v3.d[0], v24.d[0]", 3, 24) 1535eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_d0_d1, "ins v3.d[0], v24.d[1]", 3, 24) 1536eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_d1_d0, "ins v3.d[1], v24.d[0]", 3, 24) 1537eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_d1_d1, "ins v3.d[1], v24.d[1]", 3, 24) 1538eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1539eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_s0_s2, "ins v3.s[0], v24.s[2]", 3, 24) 1540eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_s3_s0, "ins v3.s[3], v24.s[0]", 3, 24) 1541eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_s2_s1, "ins v3.s[2], v24.s[1]", 3, 24) 1542eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_s1_s3, "ins v3.s[1], v24.s[3]", 3, 24) 1543eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1544eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_h0_h6, "ins v3.h[0], v24.h[6]", 3, 24) 1545eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_h7_h0, "ins v3.h[7], v24.h[0]", 3, 24) 1546eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_h6_h1, "ins v3.h[6], v24.h[1]", 3, 24) 1547eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_h1_h7, "ins v3.h[1], v24.h[7]", 3, 24) 1548eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1549eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_b0_b14, "ins v3.b[0], v24.b[14]", 3, 24) 1550eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_b15_b8, "ins v3.b[15], v24.b[8]", 3, 24) 1551eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_b13_b9, "ins v3.b[13], v24.b[9]", 3, 24) 1552eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ins_b5_b12, "ins v3.b[5], v24.b[12]", 3, 24) 1553eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1554eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mla_4s_4s_s0, "mla v2.4s, v11.4s, v29.s[0]", 2, 11, 29) 1555eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mla_4s_4s_s3, "mla v2.4s, v11.4s, v29.s[3]", 2, 11, 29) 1556eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mla_2s_2s_s0, "mla v2.2s, v11.2s, v29.s[0]", 2, 11, 29) 1557eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mla_2s_2s_s3, "mla v2.2s, v11.2s, v29.s[3]", 2, 11, 29) 1558eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov// For the 'h' version of these, Rm can only be <= 15 (!) 1559eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mla_8h_8h_h1, "mla v2.8h, v11.8h, v2.h[1]", 2, 11, 9) 1560eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mla_8h_8h_h5, "mla v2.8h, v11.8h, v2.h[5]", 2, 11, 9) 1561eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mla_4h_4h_h2, "mla v2.4h, v11.4h, v2.h[2]", 2, 11, 9) 1562eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mla_4h_4h_h7, "mla v2.4h, v11.4h, v2.h[7]", 2, 11, 9) 1563eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1564eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mls_4s_4s_s0, "mls v2.4s, v11.4s, v29.s[0]", 2, 11, 29) 1565eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mls_4s_4s_s3, "mls v2.4s, v11.4s, v29.s[3]", 2, 11, 29) 1566eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mls_2s_2s_s0, "mls v2.2s, v11.2s, v29.s[0]", 2, 11, 29) 1567eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mls_2s_2s_s3, "mls v2.2s, v11.2s, v29.s[3]", 2, 11, 29) 1568eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov// For the 'h' version of these, Rm can only be <= 15 (!) 1569eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mls_8h_8h_h1, "mls v2.8h, v11.8h, v2.h[1]", 2, 11, 9) 1570eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mls_8h_8h_h5, "mls v2.8h, v11.8h, v2.h[5]", 2, 11, 9) 1571eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mls_4h_4h_h2, "mls v2.4h, v11.4h, v2.h[2]", 2, 11, 9) 1572eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mls_4h_4h_h7, "mls v2.4h, v11.4h, v2.h[7]", 2, 11, 9) 1573eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1574eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mul_4s_4s_s0, "mul v2.4s, v11.4s, v29.s[0]", 2, 11, 29) 1575eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mul_4s_4s_s3, "mul v2.4s, v11.4s, v29.s[3]", 2, 11, 29) 1576eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mul_2s_2s_s0, "mul v2.2s, v11.2s, v29.s[0]", 2, 11, 29) 1577eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mul_2s_2s_s3, "mul v2.2s, v11.2s, v29.s[3]", 2, 11, 29) 1578eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov// For the 'h' version of these, Rm can only be <= 15 (!) 1579eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mul_8h_8h_h1, "mul v2.8h, v11.8h, v2.h[1]", 2, 11, 9) 1580eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mul_8h_8h_h5, "mul v2.8h, v11.8h, v2.h[5]", 2, 11, 9) 1581eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mul_4h_4h_h2, "mul v2.4h, v11.4h, v2.h[2]", 2, 11, 9) 1582eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(mul_4h_4h_h7, "mul v2.4h, v11.4h, v2.h[7]", 2, 11, 9) 1583eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1584eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* overkill -- don't need two vecs, only one */ 1585eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_16b_0x9C_lsl0, "movi v22.16b, #0x9C, LSL #0", 22, 23) 1586eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_8b_0x8B_lsl0, "movi v22.8b, #0x8B, LSL #0", 22, 23) 1587eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_8h_0x5A_lsl0, "movi v22.8h, #0x5A, LSL #0", 22, 23) 1588eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_8h_0xA5_lsl8, "movi v22.8h, #0xA5, LSL #8", 22, 23) 1589eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_4h_0x5A_lsl0, "movi v22.4h, #0x5A, LSL #0", 22, 23) 1590eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_4h_0xA5_lsl8, "movi v22.4h, #0xA5, LSL #8", 22, 23) 1591eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_4s_0x5A_lsl0, "movi v22.4s, #0x5A, LSL #0", 22, 23) 1592eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_4s_0x6B_lsl8, "movi v22.4s, #0x6B, LSL #8", 22, 23) 1593eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_4s_0x49_lsl16, "movi v22.4s, #0x49, LSL #16", 22, 23) 1594eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_4s_0x3D_lsl24, "movi v22.4s, #0x3D, LSL #24", 22, 23) 1595eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_2s_0x5A_lsl0, "movi v22.2s, #0x5A, LSL #0", 22, 23) 1596eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_2s_0x6B_lsl8, "movi v22.2s, #0x6B, LSL #8", 22, 23) 1597eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_2s_0x49_lsl16, "movi v22.2s, #0x49, LSL #16", 22, 23) 1598eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_2s_0x3D_lsl24, "movi v22.2s, #0x3D, LSL #24", 22, 23) 1599eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_4s_0x6B_msl8, "movi v22.4s, #0x6B, MSL #8", 22, 23) 1600eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_4s_0x94_msl16, "movi v22.4s, #0x94, MSL #16", 22, 23) 1601eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_2s_0x7A_msl8, "movi v22.2s, #0x7A, MSL #8", 22, 23) 1602eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_2s_0xA5_msl16, "movi v22.2s, #0xA5, MSL #16", 22, 23) 1603eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1604eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_d_0xA5, "movi d22, #0xFF00FF0000FF00FF", 22, 23) 1605eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(movi_2d_0xB4, "movi v22.2d, #0xFF00FFFF00FF0000", 22, 23) 1606eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1607eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* overkill -- don't need two vecs, only one */ 1608eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_8h_0x5A_lsl0, "mvni v22.8h, #0x5A, LSL #0", 22, 23) 1609eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_8h_0xA5_lsl8, "mvni v22.8h, #0xA5, LSL #8", 22, 23) 1610eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_4h_0x5A_lsl0, "mvni v22.4h, #0x5A, LSL #0", 22, 23) 1611eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_4h_0xA5_lsl8, "mvni v22.4h, #0xA5, LSL #8", 22, 23) 1612eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_4s_0x5A_lsl0, "mvni v22.4s, #0x5A, LSL #0", 22, 23) 1613eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_4s_0x6B_lsl8, "mvni v22.4s, #0x6B, LSL #8", 22, 23) 1614eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_4s_0x49_lsl16, "mvni v22.4s, #0x49, LSL #16", 22, 23) 1615eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_4s_0x3D_lsl24, "mvni v22.4s, #0x3D, LSL #24", 22, 23) 1616eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_2s_0x5A_lsl0, "mvni v22.2s, #0x5A, LSL #0", 22, 23) 1617eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_2s_0x6B_lsl8, "mvni v22.2s, #0x6B, LSL #8", 22, 23) 1618eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_2s_0x49_lsl16, "mvni v22.2s, #0x49, LSL #16", 22, 23) 1619eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_2s_0x3D_lsl24, "mvni v22.2s, #0x3D, LSL #24", 22, 23) 1620eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_4s_0x6B_msl8, "mvni v22.4s, #0x6B, MSL #8", 22, 23) 1621eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_4s_0x94_msl16, "mvni v22.4s, #0x94, MSL #16", 22, 23) 1622eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_2s_0x7A_msl8, "mvni v22.2s, #0x7A, MSL #8", 22, 23) 1623eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(mvni_2s_0xA5_msl16, "mvni v22.2s, #0xA5, MSL #16", 22, 23) 1624eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1625eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(not, 16b, 16b) 1626eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(not, 8b, 8b) 1627eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1628eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(pmul, 16b, 16b, 16b) 1629eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(pmul, 8b, 8b, 8b) 1630eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1631eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(pmull, 8h, 8b, 8b) 1632eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(pmull2, 8h, 16b, 16b) 1633eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov//GEN_BINARY_TEST(pmull, 1q, 1d, 1d) 1634eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov//GEN_BINARY_TEST(pmull, 1q, 2d, 2d) 1635eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1636eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rbit, 16b, 16b) 1637eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rbit, 8b, 8b) 1638eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev16, 16b, 16b) 1639eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev16, 8b, 8b) 1640eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev32, 16b, 16b) 1641eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev32, 8b, 8b) 1642eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev32, 8h, 8h) 1643eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev32, 4h, 4h) 1644eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev64, 16b, 16b) 1645eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev64, 8b, 8b) 1646eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev64, 8h, 8h) 1647eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev64, 4h, 4h) 1648eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev64, 4s, 4s) 1649eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(rev64, 2s, 2s) 1650eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1651eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(saba, 4s, 4s, 4s) 1652eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(saba, 2s, 2s, 2s) 1653eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(saba, 8h, 8h, 8h) 1654eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(saba, 4h, 4h, 4h) 1655eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(saba, 16b, 16b, 16b) 1656eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(saba, 8b, 8b, 8b) 1657eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1658eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uaba, 4s, 4s, 4s) 1659eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uaba, 2s, 2s, 2s) 1660eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uaba, 8h, 8h, 8h) 1661eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uaba, 4h, 4h, 4h) 1662eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uaba, 16b, 16b, 16b) 1663eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uaba, 8b, 8b, 8b) 1664eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1665eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabal_2d_2s_2s, "sabal v2.2d, v11.2s, v29.2s", 2, 11, 29) 1666eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabal2_2d_4s_4s, "sabal2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 1667eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1668eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabal_4s_4h_4h, "sabal v2.4s, v11.4h, v29.4h", 2, 11, 29) 1669eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabal2_4s_8h_8h, "sabal2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 1670eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1671eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabal_8h_8b_8b, "sabal v2.8h, v11.8b, v29.8b", 2, 11, 29) 1672eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabal2_8h_16b_16b, 1673eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "sabal2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 1674eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1675eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabal_2d_2s_2s, "uabal v2.2d, v11.2s, v29.2s", 2, 11, 29) 1676eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabal2_2d_4s_4s, "uabal2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 1677eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1678eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabal_4s_4h_4h, "uabal v2.4s, v11.4h, v29.4h", 2, 11, 29) 1679eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabal2_4s_8h_8h, "uabal2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 1680eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1681eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabal_8h_8b_8b, "uabal v2.8h, v11.8b, v29.8b", 2, 11, 29) 1682eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabal2_8h_16b_16b, 1683eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "uabal2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 1684eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1685eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabd_4s_4s_4s, "sabd v2.4s, v11.4s, v29.4s", 2, 11, 29) 1686eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabd_2s_2s_2s, "sabd v2.2s, v11.2s, v29.2s", 2, 11, 29) 1687eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabd_8h_8h_8h, "sabd v2.8h, v11.8h, v29.8h", 2, 11, 29) 1688eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabd_4h_4h_4h, "sabd v2.4h, v11.4h, v29.4h", 2, 11, 29) 1689eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabd_16b_16b_16b, "sabd v2.16b, v11.16b, v29.16b", 2, 11, 29) 1690eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabd_8b_8b_8b, "sabd v2.8b, v11.8b, v29.8b", 2, 11, 29) 1691eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1692eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabd_4s_4s_4s, "uabd v2.4s, v11.4s, v29.4s", 2, 11, 29) 1693eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabd_2s_2s_2s, "uabd v2.2s, v11.2s, v29.2s", 2, 11, 29) 1694eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabd_8h_8h_8h, "uabd v2.8h, v11.8h, v29.8h", 2, 11, 29) 1695eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabd_4h_4h_4h, "uabd v2.4h, v11.4h, v29.4h", 2, 11, 29) 1696eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabd_16b_16b_16b, "uabd v2.16b, v11.16b, v29.16b", 2, 11, 29) 1697eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabd_8b_8b_8b, "uabd v2.8b, v11.8b, v29.8b", 2, 11, 29) 1698eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1699eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabdl_2d_2s_2s, "sabdl v2.2d, v11.2s, v29.2s", 2, 11, 29) 1700eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabdl2_2d_4s_4s, "sabdl2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 1701eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1702eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabdl_4s_4h_4h, "sabdl v2.4s, v11.4h, v29.4h", 2, 11, 29) 1703eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabdl2_4s_8h_8h, "sabdl2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 1704eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1705eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabdl_8h_8b_8b, "sabdl v2.8h, v11.8b, v29.8b", 2, 11, 29) 1706eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sabdl2_8h_16b_16b, 1707eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "sabdl2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 1708eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1709eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabdl_2d_2s_2s, "uabdl v2.2d, v11.2s, v29.2s", 2, 11, 29) 1710eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabdl2_2d_4s_4s, "uabdl2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 1711eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1712eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabdl_4s_4h_4h, "uabdl v2.4s, v11.4h, v29.4h", 2, 11, 29) 1713eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabdl2_4s_8h_8h, "uabdl2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 1714eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1715eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabdl_8h_8b_8b, "uabdl v2.8h, v11.8b, v29.8b", 2, 11, 29) 1716eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uabdl2_8h_16b_16b, 1717eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "uabdl2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 1718eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1719eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sadalp_4h_8b, "sadalp v3.4h, v19.8b", 3, 19) 1720eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sadalp_8h_16b, "sadalp v3.8h, v19.16b", 3, 19) 1721eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sadalp_2s_4h, "sadalp v3.2s, v19.4h", 3, 19) 1722eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sadalp_4s_8h, "sadalp v3.4s, v19.8h", 3, 19) 1723eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sadalp_1d_2s, "sadalp v3.1d, v19.2s", 3, 19) 1724eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sadalp_2d_4s, "sadalp v3.2d, v19.4s", 3, 19) 1725eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1726eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uadalp_4h_8b, "uadalp v3.4h, v19.8b", 3, 19) 1727eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uadalp_8h_16b, "uadalp v3.8h, v19.16b", 3, 19) 1728eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uadalp_2s_4h, "uadalp v3.2s, v19.4h", 3, 19) 1729eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uadalp_4s_8h, "uadalp v3.4s, v19.8h", 3, 19) 1730eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uadalp_1d_2s, "uadalp v3.1d, v19.2s", 3, 19) 1731eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uadalp_2d_4s, "uadalp v3.2d, v19.4s", 3, 19) 1732eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1733eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddl_2d_2s_2s, "saddl v2.2d, v11.2s, v29.2s", 2, 11, 29) 1734eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddl2_2d_4s_4s, "saddl2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 1735eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1736eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddl_4s_4h_4h, "saddl v2.4s, v11.4h, v29.4h", 2, 11, 29) 1737eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddl2_4s_8h_8h, "saddl2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 1738eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1739eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddl_8h_8b_8b, "saddl v2.8h, v11.8b, v29.8b", 2, 11, 29) 1740eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddl2_8h_16b_16b, 1741eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "saddl2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 1742eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1743eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddl_2d_2s_2s, "uaddl v2.2d, v11.2s, v29.2s", 2, 11, 29) 1744eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddl2_2d_4s_4s, "uaddl2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 1745eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1746eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddl_4s_4h_4h, "uaddl v2.4s, v11.4h, v29.4h", 2, 11, 29) 1747eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddl2_4s_8h_8h, "uaddl2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 1748eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1749eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddl_8h_8b_8b, "uaddl v2.8h, v11.8b, v29.8b", 2, 11, 29) 1750eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddl2_8h_16b_16b, 1751eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "uaddl2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 1752eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1753eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubl_2d_2s_2s, "ssubl v2.2d, v11.2s, v29.2s", 2, 11, 29) 1754eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubl2_2d_4s_4s, "ssubl2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 1755eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1756eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubl_4s_4h_4h, "ssubl v2.4s, v11.4h, v29.4h", 2, 11, 29) 1757eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubl2_4s_8h_8h, "ssubl2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 1758eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1759eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubl_8h_8b_8b, "ssubl v2.8h, v11.8b, v29.8b", 2, 11, 29) 1760eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubl2_8h_16b_16b, 1761eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "ssubl2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 1762eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1763eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubl_2d_2s_2s, "usubl v2.2d, v11.2s, v29.2s", 2, 11, 29) 1764eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubl2_2d_4s_4s, "usubl2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 1765eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1766eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubl_4s_4h_4h, "usubl v2.4s, v11.4h, v29.4h", 2, 11, 29) 1767eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubl2_4s_8h_8h, "usubl2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 1768eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1769eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubl_8h_8b_8b, "usubl v2.8h, v11.8b, v29.8b", 2, 11, 29) 1770eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubl2_8h_16b_16b, 1771eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "usubl2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 1772eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1773eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlp_4h_8b, "saddlp v3.4h, v19.8b", 3, 19) 1774eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlp_8h_16b, "saddlp v3.8h, v19.16b", 3, 19) 1775eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlp_2s_4h, "saddlp v3.2s, v19.4h", 3, 19) 1776eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlp_4s_8h, "saddlp v3.4s, v19.8h", 3, 19) 1777eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlp_1d_2s, "saddlp v3.1d, v19.2s", 3, 19) 1778eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlp_2d_4s, "saddlp v3.2d, v19.4s", 3, 19) 1779eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1780eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlp_4h_8b, "uaddlp v3.4h, v19.8b", 3, 19) 1781eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlp_8h_16b, "uaddlp v3.8h, v19.16b", 3, 19) 1782eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlp_2s_4h, "uaddlp v3.2s, v19.4h", 3, 19) 1783eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlp_4s_8h, "uaddlp v3.4s, v19.8h", 3, 19) 1784eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlp_1d_2s, "uaddlp v3.1d, v19.2s", 3, 19) 1785eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlp_2d_4s, "uaddlp v3.2d, v19.4s", 3, 19) 1786eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1787eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlv_h_16b, "saddlv h3, v19.16b", 3, 19) 1788eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlv_h_8b, "saddlv h3, v19.8b", 3, 19) 1789eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlv_s_8h, "saddlv s3, v19.8h", 3, 19) 1790eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlv_s_4h, "saddlv s3, v19.4h", 3, 19) 1791eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(saddlv_d_4s, "saddlv d3, v19.4s", 3, 19) 1792eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1793eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlv_h_16b, "uaddlv h3, v19.16b", 3, 19) 1794eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlv_h_8b, "uaddlv h3, v19.8b", 3, 19) 1795eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlv_s_8h, "uaddlv s3, v19.8h", 3, 19) 1796eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlv_s_4h, "uaddlv s3, v19.4h", 3, 19) 1797eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uaddlv_d_4s, "uaddlv d3, v19.4s", 3, 19) 1798eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1799eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddw2_8h_8h_16b, "saddw2 v5.8h, v13.8h, v31.16b", 5, 13, 31) 1800eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddw_8h_8h_8b, "saddw v5.8h, v13.8h, v31.8b", 5, 13, 31) 1801eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddw2_4s_4s_8h, "saddw2 v5.4s, v13.4s, v31.8h", 5, 13, 31) 1802eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddw_4s_4s_4h, "saddw v5.4s, v13.4s, v31.4h", 5, 13, 31) 1803eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddw2_2d_2d_4s, "saddw2 v5.2d, v13.2d, v31.4s", 5, 13, 31) 1804eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(saddw_2d_2d_2s, "saddw v5.2d, v13.2d, v31.2s", 5, 13, 31) 1805eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1806eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddw2_8h_8h_16b, "uaddw2 v5.8h, v13.8h, v31.16b", 5, 13, 31) 1807eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddw_8h_8h_8b, "uaddw v5.8h, v13.8h, v31.8b", 5, 13, 31) 1808eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddw2_4s_4s_8h, "uaddw2 v5.4s, v13.4s, v31.8h", 5, 13, 31) 1809eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddw_4s_4s_4h, "uaddw v5.4s, v13.4s, v31.4h", 5, 13, 31) 1810eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddw2_2d_2d_4s, "uaddw2 v5.2d, v13.2d, v31.4s", 5, 13, 31) 1811eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uaddw_2d_2d_2s, "uaddw v5.2d, v13.2d, v31.2s", 5, 13, 31) 1812eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1813eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubw2_8h_8h_16b, "ssubw2 v5.8h, v13.8h, v31.16b", 5, 13, 31) 1814eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubw_8h_8h_8b, "ssubw v5.8h, v13.8h, v31.8b", 5, 13, 31) 1815eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubw2_4s_4s_8h, "ssubw2 v5.4s, v13.4s, v31.8h", 5, 13, 31) 1816eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubw_4s_4s_4h, "ssubw v5.4s, v13.4s, v31.4h", 5, 13, 31) 1817eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubw2_2d_2d_4s, "ssubw2 v5.2d, v13.2d, v31.4s", 5, 13, 31) 1818eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ssubw_2d_2d_2s, "ssubw v5.2d, v13.2d, v31.2s", 5, 13, 31) 1819eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1820eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubw2_8h_8h_16b, "usubw2 v5.8h, v13.8h, v31.16b", 5, 13, 31) 1821eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubw_8h_8h_8b, "usubw v5.8h, v13.8h, v31.8b", 5, 13, 31) 1822eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubw2_4s_4s_8h, "usubw2 v5.4s, v13.4s, v31.8h", 5, 13, 31) 1823eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubw_4s_4s_4h, "usubw v5.4s, v13.4s, v31.4h", 5, 13, 31) 1824eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubw2_2d_2d_4s, "usubw2 v5.2d, v13.2d, v31.4s", 5, 13, 31) 1825eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(usubw_2d_2d_2s, "usubw v5.2d, v13.2d, v31.2s", 5, 13, 31) 1826eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1827eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shadd_4s_4s_4s, "shadd v2.4s, v11.4s, v29.4s", 2, 11, 29) 1828eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shadd_2s_2s_2s, "shadd v2.2s, v11.2s, v29.2s", 2, 11, 29) 1829eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shadd_8h_8h_8h, "shadd v2.8h, v11.8h, v29.8h", 2, 11, 29) 1830eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shadd_4h_4h_4h, "shadd v2.4h, v11.4h, v29.4h", 2, 11, 29) 1831eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shadd_16b_16b_16b,"shadd v2.16b, v11.16b, v29.16b", 2, 11, 29) 1832eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shadd_8b_8b_8b, "shadd v2.8b, v11.8b, v29.8b", 2, 11, 29) 1833eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1834eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhadd_4s_4s_4s, "uhadd v2.4s, v11.4s, v29.4s", 2, 11, 29) 1835eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhadd_2s_2s_2s, "uhadd v2.2s, v11.2s, v29.2s", 2, 11, 29) 1836eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhadd_8h_8h_8h, "uhadd v2.8h, v11.8h, v29.8h", 2, 11, 29) 1837eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhadd_4h_4h_4h, "uhadd v2.4h, v11.4h, v29.4h", 2, 11, 29) 1838eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhadd_16b_16b_16b,"uhadd v2.16b, v11.16b, v29.16b", 2, 11, 29) 1839eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhadd_8b_8b_8b, "uhadd v2.8b, v11.8b, v29.8b", 2, 11, 29) 1840eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1841eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shsub_4s_4s_4s, "shsub v2.4s, v11.4s, v29.4s", 2, 11, 29) 1842eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shsub_2s_2s_2s, "shsub v2.2s, v11.2s, v29.2s", 2, 11, 29) 1843eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shsub_8h_8h_8h, "shsub v2.8h, v11.8h, v29.8h", 2, 11, 29) 1844eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shsub_4h_4h_4h, "shsub v2.4h, v11.4h, v29.4h", 2, 11, 29) 1845eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shsub_16b_16b_16b,"shsub v2.16b, v11.16b, v29.16b", 2, 11, 29) 1846eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(shsub_8b_8b_8b, "shsub v2.8b, v11.8b, v29.8b", 2, 11, 29) 1847eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1848eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhsub_4s_4s_4s, "uhsub v2.4s, v11.4s, v29.4s", 2, 11, 29) 1849eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhsub_2s_2s_2s, "uhsub v2.2s, v11.2s, v29.2s", 2, 11, 29) 1850eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhsub_8h_8h_8h, "uhsub v2.8h, v11.8h, v29.8h", 2, 11, 29) 1851eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhsub_4h_4h_4h, "uhsub v2.4h, v11.4h, v29.4h", 2, 11, 29) 1852eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhsub_16b_16b_16b,"uhsub v2.16b, v11.16b, v29.16b", 2, 11, 29) 1853eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uhsub_8b_8b_8b, "uhsub v2.8b, v11.8b, v29.8b", 2, 11, 29) 1854eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1855eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shll_8h_8b_8, "shll v3.8h, v24.8b, #8", 3, 24) 1856eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shll2_8h_16b_8, "shll2 v3.8h, v24.16b, #8", 3, 24) 1857eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shll_4s_4h_16, "shll v3.4s, v24.4h, #16", 3, 24) 1858eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shll2_4s_8h_16, "shll2 v3.4s, v24.8h, #16", 3, 24) 1859eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shll_2d_2s_32, "shll v3.2d, v24.2s, #32", 3, 24) 1860eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shll2_2d_4s_32, "shll2 v3.2d, v24.4s, #32", 3, 24) 1861eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1862eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn_2s_2d_1, "shrn v4.2s, v29.2d, #1", 4, 29) 1863eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn_2s_2d_32, "shrn v4.2s, v29.2d, #32", 4, 29) 1864eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn2_4s_2d_1, "shrn2 v4.4s, v29.2d, #1", 4, 29) 1865eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn2_4s_2d_32, "shrn2 v4.4s, v29.2d, #32", 4, 29) 1866eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn_4h_4s_1, "shrn v4.4h, v29.4s, #1", 4, 29) 1867eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn_4h_4s_16, "shrn v4.4h, v29.4s, #16", 4, 29) 1868eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn2_8h_4s_1, "shrn2 v4.8h, v29.4s, #1", 4, 29) 1869eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn2_8h_4s_16, "shrn2 v4.8h, v29.4s, #16", 4, 29) 1870eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn_8b_8h_1, "shrn v4.8b, v29.8h, #1", 4, 29) 1871eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn_8b_8h_8, "shrn v4.8b, v29.8h, #8", 4, 29) 1872eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn2_16b_8h_1, "shrn2 v4.16b, v29.8h, #1", 4, 29) 1873eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shrn2_16b_8h_8, "shrn2 v4.16b, v29.8h, #8", 4, 29) 1874eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1875eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn_2s_2d_1, "rshrn v4.2s, v29.2d, #1", 4, 29) 1876eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn_2s_2d_32, "rshrn v4.2s, v29.2d, #32", 4, 29) 1877eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn2_4s_2d_1, "rshrn2 v4.4s, v29.2d, #1", 4, 29) 1878eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn2_4s_2d_32, "rshrn2 v4.4s, v29.2d, #32", 4, 29) 1879eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn_4h_4s_1, "rshrn v4.4h, v29.4s, #1", 4, 29) 1880eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn_4h_4s_16, "rshrn v4.4h, v29.4s, #16", 4, 29) 1881eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn2_8h_4s_1, "rshrn2 v4.8h, v29.4s, #1", 4, 29) 1882eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn2_8h_4s_16, "rshrn2 v4.8h, v29.4s, #16", 4, 29) 1883eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn_8b_8h_1, "rshrn v4.8b, v29.8h, #1", 4, 29) 1884eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn_8b_8h_8, "rshrn v4.8b, v29.8h, #8", 4, 29) 1885eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn2_16b_8h_1, "rshrn2 v4.16b, v29.8h, #1", 4, 29) 1886eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(rshrn2_16b_8h_8, "rshrn2 v4.16b, v29.8h, #8", 4, 29) 1887eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1888eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_d_d_0, "sli d5, d28, #0", 5, 28) 1889eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_d_d_32, "sli d5, d28, #32", 5, 28) 1890eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_d_d_63, "sli d5, d28, #63", 5, 28) 1891eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_d_d_1, "sri d5, d28, #1", 5, 28) 1892eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_d_d_33, "sri d5, d28, #33", 5, 28) 1893eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_d_d_64, "sri d5, d28, #64", 5, 28) 1894eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1895eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_2d_2d_0, "sli v6.2d, v27.2d, #0", 6, 27) 1896eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_2d_2d_32, "sli v6.2d, v27.2d, #32", 6, 27) 1897eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_2d_2d_63, "sli v6.2d, v27.2d, #63", 6, 27) 1898eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_4s_4s_0, "sli v6.4s, v27.4s, #0", 6, 27) 1899eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_4s_4s_16, "sli v6.4s, v27.4s, #16", 6, 27) 1900eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_4s_4s_31, "sli v6.4s, v27.4s, #31", 6, 27) 1901eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_2s_2s_0, "sli v6.2s, v27.2s, #0", 6, 27) 1902eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_2s_2s_16, "sli v6.2s, v27.2s, #16", 6, 27) 1903eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_2s_2s_31, "sli v6.2s, v27.2s, #31", 6, 27) 1904eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_8h_8h_0, "sli v6.8h, v27.8h, #0", 6, 27) 1905eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_8h_8h_8, "sli v6.8h, v27.8h, #8", 6, 27) 1906eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_8h_8h_15, "sli v6.8h, v27.8h, #15", 6, 27) 1907eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_4h_4h_0, "sli v6.4h, v27.4h, #0", 6, 27) 1908eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_4h_4h_8, "sli v6.4h, v27.4h, #8", 6, 27) 1909eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_4h_4h_15, "sli v6.4h, v27.4h, #15", 6, 27) 1910eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_16b_16b_0, "sli v6.16b, v27.16b, #0", 6, 27) 1911eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_16b_16b_3, "sli v6.16b, v27.16b, #3", 6, 27) 1912eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_16b_16b_7, "sli v6.16b, v27.16b, #7", 6, 27) 1913eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_8b_8b_0, "sli v6.8b, v27.8b, #0", 6, 27) 1914eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_8b_8b_3, "sli v6.8b, v27.8b, #3", 6, 27) 1915eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sli_8b_8b_7, "sli v6.8b, v27.8b, #7", 6, 27) 1916eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1917eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_2d_2d_1, "sri v6.2d, v27.2d, #1", 6, 27) 1918eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_2d_2d_33, "sri v6.2d, v27.2d, #33", 6, 27) 1919eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_2d_2d_64, "sri v6.2d, v27.2d, #64", 6, 27) 1920eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_4s_4s_1, "sri v6.4s, v27.4s, #1", 6, 27) 1921eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_4s_4s_17, "sri v6.4s, v27.4s, #17", 6, 27) 1922eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_4s_4s_32, "sri v6.4s, v27.4s, #32", 6, 27) 1923eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_2s_2s_1, "sri v6.2s, v27.2s, #1", 6, 27) 1924eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_2s_2s_17, "sri v6.2s, v27.2s, #17", 6, 27) 1925eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_2s_2s_32, "sri v6.2s, v27.2s, #32", 6, 27) 1926eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_8h_8h_1, "sri v6.8h, v27.8h, #1", 6, 27) 1927eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_8h_8h_8, "sri v6.8h, v27.8h, #8", 6, 27) 1928eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_8h_8h_16, "sri v6.8h, v27.8h, #16", 6, 27) 1929eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_4h_4h_1, "sri v6.4h, v27.4h, #1", 6, 27) 1930eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_4h_4h_8, "sri v6.4h, v27.4h, #8", 6, 27) 1931eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_4h_4h_16, "sri v6.4h, v27.4h, #16", 6, 27) 1932eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_16b_16b_1, "sri v6.16b, v27.16b, #1", 6, 27) 1933eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_16b_16b_4, "sri v6.16b, v27.16b, #4", 6, 27) 1934eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_16b_16b_8, "sri v6.16b, v27.16b, #8", 6, 27) 1935eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_8b_8b_1, "sri v6.8b, v27.8b, #1", 6, 27) 1936eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_8b_8b_4, "sri v6.8b, v27.8b, #4", 6, 27) 1937eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sri_8b_8b_8, "sri v6.8b, v27.8b, #8", 6, 27) 1938eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1939eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smaxp, 4s, 4s, 4s) 1940eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smaxp, 2s, 2s, 2s) 1941eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smaxp, 8h, 8h, 8h) 1942eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smaxp, 4h, 4h, 4h) 1943eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smaxp, 16b, 16b, 16b) 1944eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(smaxp, 8b, 8b, 8b) 1945eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1946eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umaxp, 4s, 4s, 4s) 1947eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umaxp, 2s, 2s, 2s) 1948eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umaxp, 8h, 8h, 8h) 1949eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umaxp, 4h, 4h, 4h) 1950eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umaxp, 16b, 16b, 16b) 1951eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(umaxp, 8b, 8b, 8b) 1952eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1953eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sminp, 4s, 4s, 4s) 1954eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sminp, 2s, 2s, 2s) 1955eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sminp, 8h, 8h, 8h) 1956eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sminp, 4h, 4h, 4h) 1957eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sminp, 16b, 16b, 16b) 1958eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(sminp, 8b, 8b, 8b) 1959eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1960eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uminp, 4s, 4s, 4s) 1961eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uminp, 2s, 2s, 2s) 1962eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uminp, 8h, 8h, 8h) 1963eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uminp, 4h, 4h, 4h) 1964eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uminp, 16b, 16b, 16b) 1965eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_BINARY_TEST(uminp, 8b, 8b, 8b) 1966eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1967eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal_2d_2s_s0, "smlal v29.2d, v20.2s, v3.s[0]", 29, 20, 3) 1968eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal_2d_2s_s3, "smlal v29.2d, v20.2s, v3.s[3]", 29, 20, 3) 1969eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal2_2d_4s_s1, "smlal2 v29.2d, v20.4s, v3.s[1]", 29, 20, 3) 1970eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal2_2d_4s_s2, "smlal2 v29.2d, v20.4s, v3.s[2]", 29, 20, 3) 1971eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal_4s_4h_h0, "smlal v29.4s, v20.4h, v3.h[0]", 29, 20, 3) 1972eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal_4s_4h_h7, "smlal v29.4s, v20.4h, v3.h[7]", 29, 20, 3) 1973eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal2_4s_8h_h1, "smlal2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 1974eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal2_4s_8h_h4, "smlal2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 1975eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1976eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal_2d_2s_s0, "umlal v29.2d, v20.2s, v3.s[0]", 29, 20, 3) 1977eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal_2d_2s_s3, "umlal v29.2d, v20.2s, v3.s[3]", 29, 20, 3) 1978eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal2_2d_4s_s1, "umlal2 v29.2d, v20.4s, v3.s[1]", 29, 20, 3) 1979eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal2_2d_4s_s2, "umlal2 v29.2d, v20.4s, v3.s[2]", 29, 20, 3) 1980eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal_4s_4h_h0, "umlal v29.4s, v20.4h, v3.h[0]", 29, 20, 3) 1981eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal_4s_4h_h7, "umlal v29.4s, v20.4h, v3.h[7]", 29, 20, 3) 1982eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal2_4s_8h_h1, "umlal2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 1983eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal2_4s_8h_h4, "umlal2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 1984eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1985eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl_2d_2s_s0, "smlsl v29.2d, v20.2s, v3.s[0]", 29, 20, 3) 1986eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl_2d_2s_s3, "smlsl v29.2d, v20.2s, v3.s[3]", 29, 20, 3) 1987eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl2_2d_4s_s1, "smlsl2 v29.2d, v20.4s, v3.s[1]", 29, 20, 3) 1988eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl2_2d_4s_s2, "smlsl2 v29.2d, v20.4s, v3.s[2]", 29, 20, 3) 1989eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl_4s_4h_h0, "smlsl v29.4s, v20.4h, v3.h[0]", 29, 20, 3) 1990eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl_4s_4h_h7, "smlsl v29.4s, v20.4h, v3.h[7]", 29, 20, 3) 1991eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl2_4s_8h_h1, "smlsl2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 1992eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl2_4s_8h_h4, "smlsl2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 1993eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 1994eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl_2d_2s_s0, "umlsl v29.2d, v20.2s, v3.s[0]", 29, 20, 3) 1995eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl_2d_2s_s3, "umlsl v29.2d, v20.2s, v3.s[3]", 29, 20, 3) 1996eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl2_2d_4s_s1, "umlsl2 v29.2d, v20.4s, v3.s[1]", 29, 20, 3) 1997eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl2_2d_4s_s2, "umlsl2 v29.2d, v20.4s, v3.s[2]", 29, 20, 3) 1998eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl_4s_4h_h0, "umlsl v29.4s, v20.4h, v3.h[0]", 29, 20, 3) 1999eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl_4s_4h_h7, "umlsl v29.4s, v20.4h, v3.h[7]", 29, 20, 3) 2000eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl2_4s_8h_h1, "umlsl2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 2001eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl2_4s_8h_h4, "umlsl2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 2002eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2003eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull_2d_2s_s0, "smull v29.2d, v20.2s, v3.s[0]", 29, 20, 3) 2004eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull_2d_2s_s3, "smull v29.2d, v20.2s, v3.s[3]", 29, 20, 3) 2005eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull2_2d_4s_s1, "smull2 v29.2d, v20.4s, v3.s[1]", 29, 20, 3) 2006eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull2_2d_4s_s2, "smull2 v29.2d, v20.4s, v3.s[2]", 29, 20, 3) 2007eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull_4s_4h_h0, "smull v29.4s, v20.4h, v3.h[0]", 29, 20, 3) 2008eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull_4s_4h_h7, "smull v29.4s, v20.4h, v3.h[7]", 29, 20, 3) 2009eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull2_4s_8h_h1, "smull2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 2010eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull2_4s_8h_h4, "smull2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 2011eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2012eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull_2d_2s_s0, "umull v29.2d, v20.2s, v3.s[0]", 29, 20, 3) 2013eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull_2d_2s_s3, "umull v29.2d, v20.2s, v3.s[3]", 29, 20, 3) 2014eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull2_2d_4s_s1, "umull2 v29.2d, v20.4s, v3.s[1]", 29, 20, 3) 2015eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull2_2d_4s_s2, "umull2 v29.2d, v20.4s, v3.s[2]", 29, 20, 3) 2016eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull_4s_4h_h0, "umull v29.4s, v20.4h, v3.h[0]", 29, 20, 3) 2017eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull_4s_4h_h7, "umull v29.4s, v20.4h, v3.h[7]", 29, 20, 3) 2018eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull2_4s_8h_h1, "umull2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 2019eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull2_4s_8h_h4, "umull2 v29.4s, v20.8h, v3.h[1]", 29, 20, 3) 2020eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2021eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal_2d_2s_2s, "smlal v2.2d, v11.2s, v29.2s", 2, 11, 29) 2022eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal2_2d_4s_4s, "smlal2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 2023eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2024eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal_4s_4h_4h, "smlal v2.4s, v11.4h, v29.4h", 2, 11, 29) 2025eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal2_4s_8h_8h, "smlal2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 2026eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2027eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal_8h_8b_8b, "smlal v2.8h, v11.8b, v29.8b", 2, 11, 29) 2028eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlal2_8h_16b_16b, 2029eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "smlal2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 2030eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2031eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal_2d_2s_2s, "umlal v2.2d, v11.2s, v29.2s", 2, 11, 29) 2032eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal2_2d_4s_4s, "umlal2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 2033eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2034eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal_4s_4h_4h, "umlal v2.4s, v11.4h, v29.4h", 2, 11, 29) 2035eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal2_4s_8h_8h, "umlal2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 2036eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2037eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal_8h_8b_8b, "umlal v2.8h, v11.8b, v29.8b", 2, 11, 29) 2038eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlal2_8h_16b_16b, 2039eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "umlal2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 2040eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2041eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl_2d_2s_2s, "smlsl v2.2d, v11.2s, v29.2s", 2, 11, 29) 2042eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl2_2d_4s_4s, "smlsl2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 2043eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2044eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl_4s_4h_4h, "smlsl v2.4s, v11.4h, v29.4h", 2, 11, 29) 2045eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl2_4s_8h_8h, "smlsl2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 2046eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2047eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl_8h_8b_8b, "smlsl v2.8h, v11.8b, v29.8b", 2, 11, 29) 2048eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smlsl2_8h_16b_16b, 2049eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "smlsl2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 2050eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2051eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl_2d_2s_2s, "umlsl v2.2d, v11.2s, v29.2s", 2, 11, 29) 2052eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl2_2d_4s_4s, "umlsl2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 2053eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2054eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl_4s_4h_4h, "umlsl v2.4s, v11.4h, v29.4h", 2, 11, 29) 2055eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl2_4s_8h_8h, "umlsl2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 2056eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2057eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl_8h_8b_8b, "umlsl v2.8h, v11.8b, v29.8b", 2, 11, 29) 2058eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umlsl2_8h_16b_16b, 2059eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "umlsl2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 2060eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2061eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull_2d_2s_2s, "smull v2.2d, v11.2s, v29.2s", 2, 11, 29) 2062eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull2_2d_4s_4s, "smull2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 2063eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2064eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull_4s_4h_4h, "smull v2.4s, v11.4h, v29.4h", 2, 11, 29) 2065eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull2_4s_8h_8h, "smull2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 2066eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2067eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull_8h_8b_8b, "smull v2.8h, v11.8b, v29.8b", 2, 11, 29) 2068eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(smull2_8h_16b_16b, 2069eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "smull2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 2070eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2071eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull_2d_2s_2s, "umull v2.2d, v11.2s, v29.2s", 2, 11, 29) 2072eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull2_2d_4s_4s, "umull2 v2.2d, v11.4s, v29.4s", 2, 11, 29) 2073eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2074eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull_4s_4h_4h, "umull v2.4s, v11.4h, v29.4h", 2, 11, 29) 2075eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull2_4s_8h_8h, "umull2 v2.4s, v11.8h, v29.8h", 2, 11, 29) 2076eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2077eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull_8h_8b_8b, "umull v2.8h, v11.8b, v29.8b", 2, 11, 29) 2078eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(umull2_8h_16b_16b, 2079eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "umull2 v2.8h, v11.16b, v29.16b", 2, 11, 29) 2080eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2081eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqabs_d_d, "sqabs d7, d30", 7, 30) 2082eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqabs_s_s, "sqabs s7, s30", 7, 30) 2083eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqabs_h_h, "sqabs h7, h30", 7, 30) 2084eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqabs_b_b, "sqabs b7, b30", 7, 30) 2085eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2086eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqneg_d_d, "sqneg d7, d30", 7, 30) 2087eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqneg_s_s, "sqneg s7, s30", 7, 30) 2088eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqneg_h_h, "sqneg h7, h30", 7, 30) 2089eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqneg_b_b, "sqneg b7, b30", 7, 30) 2090eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2091eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqabs, 2d, 2d) 2092eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqabs, 4s, 4s) 2093eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqabs, 2s, 2s) 2094eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqabs, 8h, 8h) 2095eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqabs, 4h, 4h) 2096eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqabs, 16b, 16b) 2097eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqabs, 8b, 8b) 2098eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2099eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqneg, 2d, 2d) 2100eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqneg, 4s, 4s) 2101eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqneg, 2s, 2s) 2102eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqneg, 8h, 8h) 2103eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqneg, 4h, 4h) 2104eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqneg, 16b, 16b) 2105eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqneg, 8b, 8b) 2106eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2107eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_d_d_d, "sqadd d1, d2, d4", 1, 2, 4) 2108eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_s_s_s, "sqadd s1, s2, s4", 1, 2, 4) 2109eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_h_h_h, "sqadd h1, h2, h4", 1, 2, 4) 2110eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_b_b_b, "sqadd b1, b2, b4", 1, 2, 4) 2111eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_2d_2d_2d, "sqadd v1.2d, v2.2d, v4.2d", 1, 2, 4) 2112eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_4s_4s_4s, "sqadd v1.4s, v2.4s, v4.4s", 1, 2, 4) 2113eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_2s_2s_2s, "sqadd v1.2s, v2.2s, v4.2s", 1, 2, 4) 2114eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_8h_8h_8h, "sqadd v1.8h, v2.8h, v4.8h", 1, 2, 4) 2115eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_4h_4h_4h, "sqadd v1.4h, v2.4h, v4.4h", 1, 2, 4) 2116eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_16b_16b_16b, "sqadd v1.16b, v2.16b, v4.16b", 1, 2, 4) 2117eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqadd_8b_8b_8b, "sqadd v1.8b, v2.8b, v4.8b", 1, 2, 4) 2118eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2119eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_d_d_d, "uqadd d1, d2, d4", 1, 2, 4) 2120eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_s_s_s, "uqadd s1, s2, s4", 1, 2, 4) 2121eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_h_h_h, "uqadd h1, h2, h4", 1, 2, 4) 2122eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_b_b_b, "uqadd b1, b2, b4", 1, 2, 4) 2123eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_2d_2d_2d, "uqadd v1.2d, v2.2d, v4.2d", 1, 2, 4) 2124eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_4s_4s_4s, "uqadd v1.4s, v2.4s, v4.4s", 1, 2, 4) 2125eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_2s_2s_2s, "uqadd v1.2s, v2.2s, v4.2s", 1, 2, 4) 2126eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_8h_8h_8h, "uqadd v1.8h, v2.8h, v4.8h", 1, 2, 4) 2127eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_4h_4h_4h, "uqadd v1.4h, v2.4h, v4.4h", 1, 2, 4) 2128eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_16b_16b_16b, "uqadd v1.16b, v2.16b, v4.16b", 1, 2, 4) 2129eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqadd_8b_8b_8b, "uqadd v1.8b, v2.8b, v4.8b", 1, 2, 4) 2130eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2131eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_d_d_d, "sqsub d1, d2, d4", 1, 2, 4) 2132eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_s_s_s, "sqsub s1, s2, s4", 1, 2, 4) 2133eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_h_h_h, "sqsub h1, h2, h4", 1, 2, 4) 2134eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_b_b_b, "sqsub b1, b2, b4", 1, 2, 4) 2135eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_2d_2d_2d, "sqsub v1.2d, v2.2d, v4.2d", 1, 2, 4) 2136eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_4s_4s_4s, "sqsub v1.4s, v2.4s, v4.4s", 1, 2, 4) 2137eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_2s_2s_2s, "sqsub v1.2s, v2.2s, v4.2s", 1, 2, 4) 2138eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_8h_8h_8h, "sqsub v1.8h, v2.8h, v4.8h", 1, 2, 4) 2139eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_4h_4h_4h, "sqsub v1.4h, v2.4h, v4.4h", 1, 2, 4) 2140eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_16b_16b_16b, "sqsub v1.16b, v2.16b, v4.16b", 1, 2, 4) 2141eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqsub_8b_8b_8b, "sqsub v1.8b, v2.8b, v4.8b", 1, 2, 4) 2142eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2143eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_d_d_d, "uqsub d1, d2, d4", 1, 2, 4) 2144eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_s_s_s, "uqsub s1, s2, s4", 1, 2, 4) 2145eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_h_h_h, "uqsub h1, h2, h4", 1, 2, 4) 2146eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_b_b_b, "uqsub b1, b2, b4", 1, 2, 4) 2147eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_2d_2d_2d, "uqsub v1.2d, v2.2d, v4.2d", 1, 2, 4) 2148eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_4s_4s_4s, "uqsub v1.4s, v2.4s, v4.4s", 1, 2, 4) 2149eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_2s_2s_2s, "uqsub v1.2s, v2.2s, v4.2s", 1, 2, 4) 2150eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_8h_8h_8h, "uqsub v1.8h, v2.8h, v4.8h", 1, 2, 4) 2151eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_4h_4h_4h, "uqsub v1.4h, v2.4h, v4.4h", 1, 2, 4) 2152eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_16b_16b_16b, "uqsub v1.16b, v2.16b, v4.16b", 1, 2, 4) 2153eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqsub_8b_8b_8b, "uqsub v1.8b, v2.8b, v4.8b", 1, 2, 4) 2154eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2155eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_d_s_s0, "sqdmlal d31, s30, v29.s[0]", 31,30,29) 2156eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_d_s_s3, "sqdmlal d31, s30, v29.s[3]", 31,30,29) 2157eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_s_h_h1, "sqdmlal s31, h30, v13.h[1]", 31,30,13) 2158eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_s_h_h5, "sqdmlal s31, h30, v13.h[5]", 31,30,13) 2159eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2160eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_d_s_s0, "sqdmlsl d31, s30, v29.s[0]", 31,30,29) 2161eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_d_s_s3, "sqdmlsl d31, s30, v29.s[3]", 31,30,29) 2162eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_s_h_h1, "sqdmlsl s31, h30, v13.h[1]", 31,30,13) 2163eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_s_h_h5, "sqdmlsl s31, h30, v13.h[5]", 31,30,13) 2164eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2165eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_d_s_s0, "sqdmull d31, s30, v29.s[0]", 31,30,29) 2166eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_d_s_s3, "sqdmull d31, s30, v29.s[3]", 31,30,29) 2167eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_s_h_h1, "sqdmull s31, h30, v13.h[1]", 31,30,13) 2168eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_s_h_h5, "sqdmull s31, h30, v13.h[5]", 31,30,13) 2169eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2170eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_2d_2s_s0, "sqdmlal v29.2d, v20.2s, v3.s[0]",29,20,3) 2171eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_2d_2s_s3, "sqdmlal v29.2d, v20.2s, v3.s[3]",29,20,3) 2172eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal2_2d_4s_s1,"sqdmlal2 v29.2d, v20.4s, v3.s[1]",29,20,3) 2173eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal2_2d_4s_s2,"sqdmlal2 v29.2d, v20.4s, v3.s[2]",29,20,3) 2174eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_4s_4h_h0, "sqdmlal v29.4s, v20.4h, v3.h[0]",29,20,3) 2175eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_4s_4h_h7, "sqdmlal v29.4s, v20.4h, v3.h[7]",29,20,3) 2176eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal2_4s_8h_h1,"sqdmlal2 v29.4s, v20.8h, v3.h[1]",29,20,3) 2177eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal2_4s_8h_h4,"sqdmlal2 v29.4s, v20.8h, v3.h[1]",29,20,3) 2178eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2179eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_2d_2s_s0, "sqdmlsl v29.2d, v20.2s, v3.s[0]",29,20,3) 2180eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_2d_2s_s3, "sqdmlsl v29.2d, v20.2s, v3.s[3]",29,20,3) 2181eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl2_2d_4s_s1,"sqdmlsl2 v29.2d, v20.4s, v3.s[1]",29,20,3) 2182eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl2_2d_4s_s2,"sqdmlsl2 v29.2d, v20.4s, v3.s[2]",29,20,3) 2183eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_4s_4h_h0, "sqdmlsl v29.4s, v20.4h, v3.h[0]",29,20,3) 2184eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_4s_4h_h7, "sqdmlsl v29.4s, v20.4h, v3.h[7]",29,20,3) 2185eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl2_4s_8h_h1,"sqdmlsl2 v29.4s, v20.8h, v3.h[1]",29,20,3) 2186eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl2_4s_8h_h4,"sqdmlsl2 v29.4s, v20.8h, v3.h[1]",29,20,3) 2187eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2188eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_2d_2s_s0, "sqdmull v29.2d, v20.2s, v3.s[0]",29,20,3) 2189eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_2d_2s_s3, "sqdmull v29.2d, v20.2s, v3.s[3]",29,20,3) 2190eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull2_2d_4s_s1,"sqdmull2 v29.2d, v20.4s, v3.s[1]",29,20,3) 2191eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull2_2d_4s_s2,"sqdmull2 v29.2d, v20.4s, v3.s[2]",29,20,3) 2192eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_4s_4h_h0, "sqdmull v29.4s, v20.4h, v3.h[0]",29,20,3) 2193eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_4s_4h_h7, "sqdmull v29.4s, v20.4h, v3.h[7]",29,20,3) 2194eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull2_4s_8h_h1,"sqdmull2 v29.4s, v20.8h, v3.h[1]",29,20,3) 2195eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull2_4s_8h_h4,"sqdmull2 v29.4s, v20.8h, v3.h[1]",29,20,3) 2196eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2197eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_d_s_s, "sqdmlal d0, s8, s16", 0, 8, 16) 2198eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_s_h_h, "sqdmlal s0, h8, h16", 0, 8, 16) 2199eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_d_s_s, "sqdmlsl d0, s8, s16", 0, 8, 16) 2200eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_s_h_h, "sqdmlsl s0, h8, h16", 0, 8, 16) 2201eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_d_s_s, "sqdmull d0, s8, s16", 0, 8, 16) 2202eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_s_h_h, "sqdmull s0, h8, h16", 0, 8, 16) 2203eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2204eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_2d_2s_2s, "sqdmlal v2.2d, v11.2s, v29.2s", 2,11,29) 2205eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal2_2d_4s_4s, "sqdmlal2 v2.2d, v11.4s, v29.4s", 2,11,29) 2206eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal_4s_4h_4h, "sqdmlal v2.4s, v11.4h, v29.4h", 2,11,29) 2207eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlal2_4s_8h_8h, "sqdmlal2 v2.4s, v11.8h, v29.8h", 2,11,29) 2208eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2209eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_2d_2s_2s, "sqdmlsl v2.2d, v11.2s, v29.2s", 2,11,29) 2210eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl2_2d_4s_4s, "sqdmlsl2 v2.2d, v11.4s, v29.4s", 2,11,29) 2211eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl_4s_4h_4h, "sqdmlsl v2.4s, v11.4h, v29.4h", 2,11,29) 2212eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmlsl2_4s_8h_8h, "sqdmlsl2 v2.4s, v11.8h, v29.8h", 2,11,29) 2213eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2214eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_2d_2s_2s, "sqdmull v2.2d, v11.2s, v29.2s", 2,11,29) 2215eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull2_2d_4s_4s, "sqdmull2 v2.2d, v11.4s, v29.4s", 2,11,29) 2216eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull_4s_4h_4h, "sqdmull v2.4s, v11.4h, v29.4h", 2,11,29) 2217eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmull2_4s_8h_8h, "sqdmull2 v2.4s, v11.8h, v29.8h", 2,11,29) 2218eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2219eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_s_s_s1, "sqdmulh s0, s1, v2.s[1]", 0,1,2) 2220eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_s_s_s3, "sqdmulh s0, s1, v2.s[3]", 0,1,2) 2221eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_h_h_h2, "sqdmulh h0, h1, v2.h[2]", 0,1,2) 2222eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_h_h_h7, "sqdmulh h0, h1, v2.h[7]", 0,1,2) 2223eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2224eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_s_s_s1, "sqrdmulh s0, s1, v2.s[1]", 0,1,2) 2225eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_s_s_s3, "sqrdmulh s0, s1, v2.s[3]", 0,1,2) 2226eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_h_h_h2, "sqrdmulh h0, h1, v2.h[2]", 0,1,2) 2227eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_h_h_h7, "sqrdmulh h0, h1, v2.h[7]", 0,1,2) 2228eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2229eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_4s_4s_s1, "sqdmulh v0.4s, v1.4s, v2.s[1]", 0,1,2) 2230eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_4s_4s_s3, "sqdmulh v0.4s, v1.4s, v2.s[3]", 0,1,2) 2231eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_2s_2s_s1, "sqdmulh v0.2s, v1.2s, v2.s[1]", 0,1,2) 2232eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_2s_2s_s3, "sqdmulh v0.2s, v1.2s, v2.s[3]", 0,1,2) 2233eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_8h_8h_h2, "sqdmulh v0.8h, v1.8h, v2.h[2]", 0,1,2) 2234eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_8h_8h_h7, "sqdmulh v0.8h, v1.8h, v2.h[7]", 0,1,2) 2235eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_4h_4h_h2, "sqdmulh v0.4h, v1.4h, v2.h[2]", 0,1,2) 2236eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_4h_4h_h7, "sqdmulh v0.4h, v1.4h, v2.h[7]", 0,1,2) 2237eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2238eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_4s_4s_s1, "sqrdmulh v0.4s, v1.4s, v2.s[1]", 0,1,2) 2239eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_4s_4s_s3, "sqrdmulh v0.4s, v1.4s, v2.s[3]", 0,1,2) 2240eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_2s_2s_s1, "sqrdmulh v0.2s, v1.2s, v2.s[1]", 0,1,2) 2241eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_2s_2s_s3, "sqrdmulh v0.2s, v1.2s, v2.s[3]", 0,1,2) 2242eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_8h_8h_h2, "sqrdmulh v0.8h, v1.8h, v2.h[2]", 0,1,2) 2243eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_8h_8h_h7, "sqrdmulh v0.8h, v1.8h, v2.h[7]", 0,1,2) 2244eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_4h_4h_h2, "sqrdmulh v0.4h, v1.4h, v2.h[2]", 0,1,2) 2245eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_4h_4h_h7, "sqrdmulh v0.4h, v1.4h, v2.h[7]", 0,1,2) 2246eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2247eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_s_s_s, "sqdmulh s1, s2, s4", 1, 2, 4) 2248eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_h_h_h, "sqdmulh h1, h2, h4", 1, 2, 4) 2249eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_s_s_s, "sqrdmulh s1, s2, s4", 1, 2, 4) 2250eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_h_h_h, "sqrdmulh h1, h2, h4", 1, 2, 4) 2251eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2252eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_4s_4s_4s, "sqdmulh v1.4s, v2.4s, v4.4s", 1, 2, 4) 2253eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_2s_2s_2s, "sqdmulh v1.2s, v2.2s, v4.2s", 1, 2, 4) 2254eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_8h_8h_8h, "sqdmulh v1.8h, v2.8h, v4.8h", 1, 2, 4) 2255eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqdmulh_4h_4h_4h, "sqdmulh v1.4h, v2.4h, v4.4h", 1, 2, 4) 2256eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_4s_4s_4s, "sqrdmulh v1.4s, v2.4s, v4.4s", 1, 2, 4) 2257eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_2s_2s_2s, "sqrdmulh v1.2s, v2.2s, v4.2s", 1, 2, 4) 2258eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_8h_8h_8h, "sqrdmulh v1.8h, v2.8h, v4.8h", 1, 2, 4) 2259eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrdmulh_4h_4h_4h, "sqrdmulh v1.4h, v2.4h, v4.4h", 1, 2, 4) 2260eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2261eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_d_d_d, "sqshl d1, d2, d4", 1, 2, 4) 2262eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_s_s_s, "sqshl s1, s2, s4", 1, 2, 4) 2263eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_h_h_h, "sqshl h1, h2, h4", 1, 2, 4) 2264eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_b_b_b, "sqshl b1, b2, b4", 1, 2, 4) 2265eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_2d_2d_2d, "sqshl v1.2d, v2.2d, v4.2d", 1, 2, 4) 2266eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_4s_4s_4s, "sqshl v1.4s, v2.4s, v4.4s", 1, 2, 4) 2267eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_2s_2s_2s, "sqshl v1.2s, v2.2s, v4.2s", 1, 2, 4) 2268eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_8h_8h_8h, "sqshl v1.8h, v2.8h, v4.8h", 1, 2, 4) 2269eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_4h_4h_4h, "sqshl v1.4h, v2.4h, v4.4h", 1, 2, 4) 2270eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_16b_16b_16b, "sqshl v1.16b, v2.16b, v4.16b", 1, 2, 4) 2271eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqshl_8b_8b_8b, "sqshl v1.8b, v2.8b, v4.8b", 1, 2, 4) 2272eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2273eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_d_d_d, "uqshl d1, d2, d4", 1, 2, 4) 2274eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_s_s_s, "uqshl s1, s2, s4", 1, 2, 4) 2275eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_h_h_h, "uqshl h1, h2, h4", 1, 2, 4) 2276eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_b_b_b, "uqshl b1, b2, b4", 1, 2, 4) 2277eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_2d_2d_2d, "uqshl v1.2d, v2.2d, v4.2d", 1, 2, 4) 2278eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_4s_4s_4s, "uqshl v1.4s, v2.4s, v4.4s", 1, 2, 4) 2279eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_2s_2s_2s, "uqshl v1.2s, v2.2s, v4.2s", 1, 2, 4) 2280eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_8h_8h_8h, "uqshl v1.8h, v2.8h, v4.8h", 1, 2, 4) 2281eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_4h_4h_4h, "uqshl v1.4h, v2.4h, v4.4h", 1, 2, 4) 2282eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_16b_16b_16b, "uqshl v1.16b, v2.16b, v4.16b", 1, 2, 4) 2283eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqshl_8b_8b_8b, "uqshl v1.8b, v2.8b, v4.8b", 1, 2, 4) 2284eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2285eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_d_d_d, "sqrshl d1, d2, d4", 1, 2, 4) 2286eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_s_s_s, "sqrshl s1, s2, s4", 1, 2, 4) 2287eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_h_h_h, "sqrshl h1, h2, h4", 1, 2, 4) 2288eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_b_b_b, "sqrshl b1, b2, b4", 1, 2, 4) 2289eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_2d_2d_2d, "sqrshl v1.2d, v2.2d, v4.2d", 1, 2, 4) 2290eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_4s_4s_4s, "sqrshl v1.4s, v2.4s, v4.4s", 1, 2, 4) 2291eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_2s_2s_2s, "sqrshl v1.2s, v2.2s, v4.2s", 1, 2, 4) 2292eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_8h_8h_8h, "sqrshl v1.8h, v2.8h, v4.8h", 1, 2, 4) 2293eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_4h_4h_4h, "sqrshl v1.4h, v2.4h, v4.4h", 1, 2, 4) 2294eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_16b_16b_16b, "sqrshl v1.16b, v2.16b, v4.16b", 1, 2, 4) 2295eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sqrshl_8b_8b_8b, "sqrshl v1.8b, v2.8b, v4.8b", 1, 2, 4) 2296eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2297eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_d_d_d, "uqrshl d1, d2, d4", 1, 2, 4) 2298eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_s_s_s, "uqrshl s1, s2, s4", 1, 2, 4) 2299eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_h_h_h, "uqrshl h1, h2, h4", 1, 2, 4) 2300eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_b_b_b, "uqrshl b1, b2, b4", 1, 2, 4) 2301eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_2d_2d_2d, "uqrshl v1.2d, v2.2d, v4.2d", 1, 2, 4) 2302eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_4s_4s_4s, "uqrshl v1.4s, v2.4s, v4.4s", 1, 2, 4) 2303eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_2s_2s_2s, "uqrshl v1.2s, v2.2s, v4.2s", 1, 2, 4) 2304eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_8h_8h_8h, "uqrshl v1.8h, v2.8h, v4.8h", 1, 2, 4) 2305eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_4h_4h_4h, "uqrshl v1.4h, v2.4h, v4.4h", 1, 2, 4) 2306eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_16b_16b_16b, "uqrshl v1.16b, v2.16b, v4.16b", 1, 2, 4) 2307eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uqrshl_8b_8b_8b, "uqrshl v1.8b, v2.8b, v4.8b", 1, 2, 4) 2308eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2309eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_s_d_1, "sqrshrn s2, d5, #1", 2, 5) 2310eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_s_d_17, "sqrshrn s2, d5, #17", 2, 5) 2311eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_s_d_32, "sqrshrn s2, d5, #32", 2, 5) 2312eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_h_s_1, "sqrshrn h2, s5, #1", 2, 5) 2313eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_h_s_9, "sqrshrn h2, s5, #9", 2, 5) 2314eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_h_s_16, "sqrshrn h2, s5, #16", 2, 5) 2315eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_b_h_1, "sqrshrn b2, h5, #1", 2, 5) 2316eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_b_h_4, "sqrshrn b2, h5, #4", 2, 5) 2317eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_b_h_8, "sqrshrn b2, h5, #8", 2, 5) 2318eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2319eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_s_d_1, "uqrshrn s2, d5, #1", 2, 5) 2320eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_s_d_17, "uqrshrn s2, d5, #17", 2, 5) 2321eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_s_d_32, "uqrshrn s2, d5, #32", 2, 5) 2322eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_h_s_1, "uqrshrn h2, s5, #1", 2, 5) 2323eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_h_s_9, "uqrshrn h2, s5, #9", 2, 5) 2324eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_h_s_16, "uqrshrn h2, s5, #16", 2, 5) 2325eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_b_h_1, "uqrshrn b2, h5, #1", 2, 5) 2326eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_b_h_4, "uqrshrn b2, h5, #4", 2, 5) 2327eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_b_h_8, "uqrshrn b2, h5, #8", 2, 5) 2328eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2329eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_s_d_1, "sqshrn s2, d5, #1", 2, 5) 2330eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_s_d_17, "sqshrn s2, d5, #17", 2, 5) 2331eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_s_d_32, "sqshrn s2, d5, #32", 2, 5) 2332eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_h_s_1, "sqshrn h2, s5, #1", 2, 5) 2333eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_h_s_9, "sqshrn h2, s5, #9", 2, 5) 2334eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_h_s_16, "sqshrn h2, s5, #16", 2, 5) 2335eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_b_h_1, "sqshrn b2, h5, #1", 2, 5) 2336eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_b_h_4, "sqshrn b2, h5, #4", 2, 5) 2337eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_b_h_8, "sqshrn b2, h5, #8", 2, 5) 2338eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2339eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_s_d_1, "uqshrn s2, d5, #1", 2, 5) 2340eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_s_d_17, "uqshrn s2, d5, #17", 2, 5) 2341eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_s_d_32, "uqshrn s2, d5, #32", 2, 5) 2342eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_h_s_1, "uqshrn h2, s5, #1", 2, 5) 2343eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_h_s_9, "uqshrn h2, s5, #9", 2, 5) 2344eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_h_s_16, "uqshrn h2, s5, #16", 2, 5) 2345eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_b_h_1, "uqshrn b2, h5, #1", 2, 5) 2346eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_b_h_4, "uqshrn b2, h5, #4", 2, 5) 2347eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_b_h_8, "uqshrn b2, h5, #8", 2, 5) 2348eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2349eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_s_d_1, "sqrshrun s2, d5, #1", 2, 5) 2350eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_s_d_17, "sqrshrun s2, d5, #17", 2, 5) 2351eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_s_d_32, "sqrshrun s2, d5, #32", 2, 5) 2352eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_h_s_1, "sqrshrun h2, s5, #1", 2, 5) 2353eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_h_s_9, "sqrshrun h2, s5, #9", 2, 5) 2354eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_h_s_16, "sqrshrun h2, s5, #16", 2, 5) 2355eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_b_h_1, "sqrshrun b2, h5, #1", 2, 5) 2356eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_b_h_4, "sqrshrun b2, h5, #4", 2, 5) 2357eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_b_h_8, "sqrshrun b2, h5, #8", 2, 5) 2358eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2359eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_s_d_1, "sqshrun s2, d5, #1", 2, 5) 2360eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_s_d_17, "sqshrun s2, d5, #17", 2, 5) 2361eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_s_d_32, "sqshrun s2, d5, #32", 2, 5) 2362eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_h_s_1, "sqshrun h2, s5, #1", 2, 5) 2363eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_h_s_9, "sqshrun h2, s5, #9", 2, 5) 2364eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_h_s_16, "sqshrun h2, s5, #16", 2, 5) 2365eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_b_h_1, "sqshrun b2, h5, #1", 2, 5) 2366eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_b_h_4, "sqshrun b2, h5, #4", 2, 5) 2367eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_b_h_8, "sqshrun b2, h5, #8", 2, 5) 2368eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2369eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_2s_2d_1, "sqrshrn v4.2s, v29.2d, #1", 4, 29) 2370eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_2s_2d_17, "sqrshrn v4.2s, v29.2d, #17", 4, 29) 2371eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_2s_2d_32, "sqrshrn v4.2s, v29.2d, #32", 4, 29) 2372eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn2_4s_2d_1, "sqrshrn2 v4.4s, v29.2d, #1", 4, 29) 2373eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn2_4s_2d_17, "sqrshrn2 v4.4s, v29.2d, #17", 4, 29) 2374eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn2_4s_2d_32, "sqrshrn2 v4.4s, v29.2d, #32", 4, 29) 2375eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_4h_4s_1, "sqrshrn v4.4h, v29.4s, #1", 4, 29) 2376eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_4h_4s_9, "sqrshrn v4.4h, v29.4s, #9", 4, 29) 2377eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_4h_4s_16, "sqrshrn v4.4h, v29.4s, #16", 4, 29) 2378eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn2_8h_4s_1, "sqrshrn2 v4.8h, v29.4s, #1", 4, 29) 2379eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn2_8h_4s_9, "sqrshrn2 v4.8h, v29.4s, #9", 4, 29) 2380eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn2_8h_4s_16, "sqrshrn2 v4.8h, v29.4s, #16", 4, 29) 2381eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_8b_8h_1, "sqrshrn v4.8b, v29.8h, #1", 4, 29) 2382eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_8b_8h_4, "sqrshrn v4.8b, v29.8h, #4", 4, 29) 2383eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn_8b_8h_8, "sqrshrn v4.8b, v29.8h, #8", 4, 29) 2384eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn2_16b_8h_1, "sqrshrn2 v4.16b, v29.8h, #1", 4, 29) 2385eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn2_16b_8h_4, "sqrshrn2 v4.16b, v29.8h, #4", 4, 29) 2386eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrn2_16b_8h_8, "sqrshrn2 v4.16b, v29.8h, #8", 4, 29) 2387eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2388eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_2s_2d_1, "uqrshrn v4.2s, v29.2d, #1", 4, 29) 2389eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_2s_2d_17, "uqrshrn v4.2s, v29.2d, #17", 4, 29) 2390eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_2s_2d_32, "uqrshrn v4.2s, v29.2d, #32", 4, 29) 2391eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn2_4s_2d_1, "uqrshrn2 v4.4s, v29.2d, #1", 4, 29) 2392eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn2_4s_2d_17, "uqrshrn2 v4.4s, v29.2d, #17", 4, 29) 2393eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn2_4s_2d_32, "uqrshrn2 v4.4s, v29.2d, #32", 4, 29) 2394eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_4h_4s_1, "uqrshrn v4.4h, v29.4s, #1", 4, 29) 2395eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_4h_4s_9, "uqrshrn v4.4h, v29.4s, #9", 4, 29) 2396eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_4h_4s_16, "uqrshrn v4.4h, v29.4s, #16", 4, 29) 2397eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn2_8h_4s_1, "uqrshrn2 v4.8h, v29.4s, #1", 4, 29) 2398eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn2_8h_4s_9, "uqrshrn2 v4.8h, v29.4s, #9", 4, 29) 2399eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn2_8h_4s_16, "uqrshrn2 v4.8h, v29.4s, #16", 4, 29) 2400eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_8b_8h_1, "uqrshrn v4.8b, v29.8h, #1", 4, 29) 2401eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_8b_8h_4, "uqrshrn v4.8b, v29.8h, #4", 4, 29) 2402eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn_8b_8h_8, "uqrshrn v4.8b, v29.8h, #8", 4, 29) 2403eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn2_16b_8h_1, "uqrshrn2 v4.16b, v29.8h, #1", 4, 29) 2404eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn2_16b_8h_4, "uqrshrn2 v4.16b, v29.8h, #4", 4, 29) 2405eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqrshrn2_16b_8h_8, "uqrshrn2 v4.16b, v29.8h, #8", 4, 29) 2406eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2407eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_2s_2d_1, "sqshrn v4.2s, v29.2d, #1", 4, 29) 2408eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_2s_2d_17, "sqshrn v4.2s, v29.2d, #17", 4, 29) 2409eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_2s_2d_32, "sqshrn v4.2s, v29.2d, #32", 4, 29) 2410eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn2_4s_2d_1, "sqshrn2 v4.4s, v29.2d, #1", 4, 29) 2411eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn2_4s_2d_17, "sqshrn2 v4.4s, v29.2d, #17", 4, 29) 2412eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn2_4s_2d_32, "sqshrn2 v4.4s, v29.2d, #32", 4, 29) 2413eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_4h_4s_1, "sqshrn v4.4h, v29.4s, #1", 4, 29) 2414eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_4h_4s_9, "sqshrn v4.4h, v29.4s, #9", 4, 29) 2415eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_4h_4s_16, "sqshrn v4.4h, v29.4s, #16", 4, 29) 2416eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn2_8h_4s_1, "sqshrn2 v4.8h, v29.4s, #1", 4, 29) 2417eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn2_8h_4s_9, "sqshrn2 v4.8h, v29.4s, #9", 4, 29) 2418eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn2_8h_4s_16, "sqshrn2 v4.8h, v29.4s, #16", 4, 29) 2419eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_8b_8h_1, "sqshrn v4.8b, v29.8h, #1", 4, 29) 2420eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_8b_8h_4, "sqshrn v4.8b, v29.8h, #4", 4, 29) 2421eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn_8b_8h_8, "sqshrn v4.8b, v29.8h, #8", 4, 29) 2422eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn2_16b_8h_1, "sqshrn2 v4.16b, v29.8h, #1", 4, 29) 2423eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn2_16b_8h_4, "sqshrn2 v4.16b, v29.8h, #4", 4, 29) 2424eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrn2_16b_8h_8, "sqshrn2 v4.16b, v29.8h, #8", 4, 29) 2425eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2426eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_2s_2d_1, "uqshrn v4.2s, v29.2d, #1", 4, 29) 2427eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_2s_2d_17, "uqshrn v4.2s, v29.2d, #17", 4, 29) 2428eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_2s_2d_32, "uqshrn v4.2s, v29.2d, #32", 4, 29) 2429eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn2_4s_2d_1, "uqshrn2 v4.4s, v29.2d, #1", 4, 29) 2430eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn2_4s_2d_17, "uqshrn2 v4.4s, v29.2d, #17", 4, 29) 2431eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn2_4s_2d_32, "uqshrn2 v4.4s, v29.2d, #32", 4, 29) 2432eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_4h_4s_1, "uqshrn v4.4h, v29.4s, #1", 4, 29) 2433eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_4h_4s_9, "uqshrn v4.4h, v29.4s, #9", 4, 29) 2434eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_4h_4s_16, "uqshrn v4.4h, v29.4s, #16", 4, 29) 2435eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn2_8h_4s_1, "uqshrn2 v4.8h, v29.4s, #1", 4, 29) 2436eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn2_8h_4s_9, "uqshrn2 v4.8h, v29.4s, #9", 4, 29) 2437eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn2_8h_4s_16, "uqshrn2 v4.8h, v29.4s, #16", 4, 29) 2438eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_8b_8h_1, "uqshrn v4.8b, v29.8h, #1", 4, 29) 2439eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_8b_8h_4, "uqshrn v4.8b, v29.8h, #4", 4, 29) 2440eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn_8b_8h_8, "uqshrn v4.8b, v29.8h, #8", 4, 29) 2441eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn2_16b_8h_1, "uqshrn2 v4.16b, v29.8h, #1", 4, 29) 2442eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn2_16b_8h_4, "uqshrn2 v4.16b, v29.8h, #4", 4, 29) 2443eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshrn2_16b_8h_8, "uqshrn2 v4.16b, v29.8h, #8", 4, 29) 2444eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2445eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_2s_2d_1, "sqrshrun v4.2s, v29.2d, #1", 4, 29) 2446eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_2s_2d_17, "sqrshrun v4.2s, v29.2d, #17", 4, 29) 2447eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_2s_2d_32, "sqrshrun v4.2s, v29.2d, #32", 4, 29) 2448eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun2_4s_2d_1, "sqrshrun2 v4.4s, v29.2d, #1", 4, 29) 2449eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun2_4s_2d_17, "sqrshrun2 v4.4s, v29.2d, #17", 4, 29) 2450eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun2_4s_2d_32, "sqrshrun2 v4.4s, v29.2d, #32", 4, 29) 2451eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_4h_4s_1, "sqrshrun v4.4h, v29.4s, #1", 4, 29) 2452eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_4h_4s_9, "sqrshrun v4.4h, v29.4s, #9", 4, 29) 2453eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_4h_4s_16, "sqrshrun v4.4h, v29.4s, #16", 4, 29) 2454eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun2_8h_4s_1, "sqrshrun2 v4.8h, v29.4s, #1", 4, 29) 2455eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun2_8h_4s_9, "sqrshrun2 v4.8h, v29.4s, #9", 4, 29) 2456eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun2_8h_4s_16, "sqrshrun2 v4.8h, v29.4s, #16", 4, 29) 2457eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_8b_8h_1, "sqrshrun v4.8b, v29.8h, #1", 4, 29) 2458eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_8b_8h_4, "sqrshrun v4.8b, v29.8h, #4", 4, 29) 2459eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun_8b_8h_8, "sqrshrun v4.8b, v29.8h, #8", 4, 29) 2460eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun2_16b_8h_1, "sqrshrun2 v4.16b, v29.8h, #1", 4, 29) 2461eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun2_16b_8h_4, "sqrshrun2 v4.16b, v29.8h, #4", 4, 29) 2462eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqrshrun2_16b_8h_8, "sqrshrun2 v4.16b, v29.8h, #8", 4, 29) 2463eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2464eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_2s_2d_1, "sqshrun v4.2s, v29.2d, #1", 4, 29) 2465eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_2s_2d_17, "sqshrun v4.2s, v29.2d, #17", 4, 29) 2466eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_2s_2d_32, "sqshrun v4.2s, v29.2d, #32", 4, 29) 2467eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun2_4s_2d_1, "sqshrun2 v4.4s, v29.2d, #1", 4, 29) 2468eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun2_4s_2d_17, "sqshrun2 v4.4s, v29.2d, #17", 4, 29) 2469eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun2_4s_2d_32, "sqshrun2 v4.4s, v29.2d, #32", 4, 29) 2470eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_4h_4s_1, "sqshrun v4.4h, v29.4s, #1", 4, 29) 2471eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_4h_4s_9, "sqshrun v4.4h, v29.4s, #9", 4, 29) 2472eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_4h_4s_16, "sqshrun v4.4h, v29.4s, #16", 4, 29) 2473eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun2_8h_4s_1, "sqshrun2 v4.8h, v29.4s, #1", 4, 29) 2474eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun2_8h_4s_9, "sqshrun2 v4.8h, v29.4s, #9", 4, 29) 2475eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun2_8h_4s_16, "sqshrun2 v4.8h, v29.4s, #16", 4, 29) 2476eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_8b_8h_1, "sqshrun v4.8b, v29.8h, #1", 4, 29) 2477eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_8b_8h_4, "sqshrun v4.8b, v29.8h, #4", 4, 29) 2478eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun_8b_8h_8, "sqshrun v4.8b, v29.8h, #8", 4, 29) 2479eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun2_16b_8h_1, "sqshrun2 v4.16b, v29.8h, #1", 4, 29) 2480eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun2_16b_8h_4, "sqshrun2 v4.16b, v29.8h, #4", 4, 29) 2481eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshrun2_16b_8h_8, "sqshrun2 v4.16b, v29.8h, #8", 4, 29) 2482eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2483eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_d_d_0, "sqshl d5, d28, #0", 5, 28) 2484eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_d_d_32, "sqshl d5, d28, #32", 5, 28) 2485eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_d_d_63, "sqshl d5, d28, #63", 5, 28) 2486eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_s_s_0, "sqshl s5, s28, #0", 5, 28) 2487eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_s_s_16, "sqshl s5, s28, #16", 5, 28) 2488eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_s_s_31, "sqshl s5, s28, #31", 5, 28) 2489eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_h_h_0, "sqshl h5, h28, #0", 5, 28) 2490eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_h_h_8, "sqshl h5, h28, #8", 5, 28) 2491eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_h_h_15, "sqshl h5, h28, #15", 5, 28) 2492eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_b_b_0, "sqshl b5, b28, #0", 5, 28) 2493eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_b_b_4, "sqshl b5, b28, #4", 5, 28) 2494eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_b_b_7, "sqshl b5, b28, #7", 5, 28) 2495eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2496eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_d_d_0, "uqshl d5, d28, #0", 5, 28) 2497eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_d_d_32, "uqshl d5, d28, #32", 5, 28) 2498eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_d_d_63, "uqshl d5, d28, #63", 5, 28) 2499eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_s_s_0, "uqshl s5, s28, #0", 5, 28) 2500eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_s_s_16, "uqshl s5, s28, #16", 5, 28) 2501eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_s_s_31, "uqshl s5, s28, #31", 5, 28) 2502eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_h_h_0, "uqshl h5, h28, #0", 5, 28) 2503eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_h_h_8, "uqshl h5, h28, #8", 5, 28) 2504eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_h_h_15, "uqshl h5, h28, #15", 5, 28) 2505eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_b_b_0, "uqshl b5, b28, #0", 5, 28) 2506eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_b_b_4, "uqshl b5, b28, #4", 5, 28) 2507eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_b_b_7, "uqshl b5, b28, #7", 5, 28) 2508eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2509eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_d_d_0, "sqshlu d5, d28, #0", 5, 28) 2510eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_d_d_32, "sqshlu d5, d28, #32", 5, 28) 2511eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_d_d_63, "sqshlu d5, d28, #63", 5, 28) 2512eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_s_s_0, "sqshlu s5, s28, #0", 5, 28) 2513eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_s_s_16, "sqshlu s5, s28, #16", 5, 28) 2514eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_s_s_31, "sqshlu s5, s28, #31", 5, 28) 2515eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_h_h_0, "sqshlu h5, h28, #0", 5, 28) 2516eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_h_h_8, "sqshlu h5, h28, #8", 5, 28) 2517eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_h_h_15, "sqshlu h5, h28, #15", 5, 28) 2518eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_b_b_0, "sqshlu b5, b28, #0", 5, 28) 2519eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_b_b_4, "sqshlu b5, b28, #4", 5, 28) 2520eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_b_b_7, "sqshlu b5, b28, #7", 5, 28) 2521eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2522eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_2d_2d_0, "sqshl v6.2d, v27.2d, #0", 6, 27) 2523eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_2d_2d_32, "sqshl v6.2d, v27.2d, #32", 6, 27) 2524eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_2d_2d_63, "sqshl v6.2d, v27.2d, #63", 6, 27) 2525eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_4s_4s_0, "sqshl v6.4s, v27.4s, #0", 6, 27) 2526eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_4s_4s_16, "sqshl v6.4s, v27.4s, #16", 6, 27) 2527eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_4s_4s_31, "sqshl v6.4s, v27.4s, #31", 6, 27) 2528eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_2s_2s_0, "sqshl v6.2s, v27.2s, #0", 6, 27) 2529eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_2s_2s_16, "sqshl v6.2s, v27.2s, #16", 6, 27) 2530eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_2s_2s_31, "sqshl v6.2s, v27.2s, #31", 6, 27) 2531eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_8h_8h_0, "sqshl v6.8h, v27.8h, #0", 6, 27) 2532eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_8h_8h_8, "sqshl v6.8h, v27.8h, #8", 6, 27) 2533eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_8h_8h_15, "sqshl v6.8h, v27.8h, #15", 6, 27) 2534eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_4h_4h_0, "sqshl v6.4h, v27.4h, #0", 6, 27) 2535eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_4h_4h_8, "sqshl v6.4h, v27.4h, #8", 6, 27) 2536eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_4h_4h_15, "sqshl v6.4h, v27.4h, #15", 6, 27) 2537eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_16b_16b_0, "sqshl v6.16b, v27.16b, #0", 6, 27) 2538eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_16b_16b_3, "sqshl v6.16b, v27.16b, #3", 6, 27) 2539eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_16b_16b_7, "sqshl v6.16b, v27.16b, #7", 6, 27) 2540eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_8b_8b_0, "sqshl v6.8b, v27.8b, #0", 6, 27) 2541eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_8b_8b_3, "sqshl v6.8b, v27.8b, #3", 6, 27) 2542eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshl_8b_8b_7, "sqshl v6.8b, v27.8b, #7", 6, 27) 2543eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2544eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_2d_2d_0, "uqshl v6.2d, v27.2d, #0", 6, 27) 2545eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_2d_2d_32, "uqshl v6.2d, v27.2d, #32", 6, 27) 2546eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_2d_2d_63, "uqshl v6.2d, v27.2d, #63", 6, 27) 2547eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_4s_4s_0, "uqshl v6.4s, v27.4s, #0", 6, 27) 2548eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_4s_4s_16, "uqshl v6.4s, v27.4s, #16", 6, 27) 2549eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_4s_4s_31, "uqshl v6.4s, v27.4s, #31", 6, 27) 2550eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_2s_2s_0, "uqshl v6.2s, v27.2s, #0", 6, 27) 2551eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_2s_2s_16, "uqshl v6.2s, v27.2s, #16", 6, 27) 2552eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_2s_2s_31, "uqshl v6.2s, v27.2s, #31", 6, 27) 2553eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_8h_8h_0, "uqshl v6.8h, v27.8h, #0", 6, 27) 2554eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_8h_8h_8, "uqshl v6.8h, v27.8h, #8", 6, 27) 2555eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_8h_8h_15, "uqshl v6.8h, v27.8h, #15", 6, 27) 2556eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_4h_4h_0, "uqshl v6.4h, v27.4h, #0", 6, 27) 2557eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_4h_4h_8, "uqshl v6.4h, v27.4h, #8", 6, 27) 2558eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_4h_4h_15, "uqshl v6.4h, v27.4h, #15", 6, 27) 2559eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_16b_16b_0, "uqshl v6.16b, v27.16b, #0", 6, 27) 2560eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_16b_16b_3, "uqshl v6.16b, v27.16b, #3", 6, 27) 2561eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_16b_16b_7, "uqshl v6.16b, v27.16b, #7", 6, 27) 2562eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_8b_8b_0, "uqshl v6.8b, v27.8b, #0", 6, 27) 2563eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_8b_8b_3, "uqshl v6.8b, v27.8b, #3", 6, 27) 2564eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqshl_8b_8b_7, "uqshl v6.8b, v27.8b, #7", 6, 27) 2565eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2566eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_2d_2d_0, "sqshlu v6.2d, v27.2d, #0", 6, 27) 2567eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_2d_2d_32, "sqshlu v6.2d, v27.2d, #32", 6, 27) 2568eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_2d_2d_63, "sqshlu v6.2d, v27.2d, #63", 6, 27) 2569eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_4s_4s_0, "sqshlu v6.4s, v27.4s, #0", 6, 27) 2570eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_4s_4s_16, "sqshlu v6.4s, v27.4s, #16", 6, 27) 2571eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_4s_4s_31, "sqshlu v6.4s, v27.4s, #31", 6, 27) 2572eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_2s_2s_0, "sqshlu v6.2s, v27.2s, #0", 6, 27) 2573eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_2s_2s_16, "sqshlu v6.2s, v27.2s, #16", 6, 27) 2574eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_2s_2s_31, "sqshlu v6.2s, v27.2s, #31", 6, 27) 2575eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_8h_8h_0, "sqshlu v6.8h, v27.8h, #0", 6, 27) 2576eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_8h_8h_8, "sqshlu v6.8h, v27.8h, #8", 6, 27) 2577eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_8h_8h_15, "sqshlu v6.8h, v27.8h, #15", 6, 27) 2578eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_4h_4h_0, "sqshlu v6.4h, v27.4h, #0", 6, 27) 2579eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_4h_4h_8, "sqshlu v6.4h, v27.4h, #8", 6, 27) 2580eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_4h_4h_15, "sqshlu v6.4h, v27.4h, #15", 6, 27) 2581eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_16b_16b_0, "sqshlu v6.16b, v27.16b, #0", 6, 27) 2582eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_16b_16b_3, "sqshlu v6.16b, v27.16b, #3", 6, 27) 2583eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_16b_16b_7, "sqshlu v6.16b, v27.16b, #7", 6, 27) 2584eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_8b_8b_0, "sqshlu v6.8b, v27.8b, #0", 6, 27) 2585eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_8b_8b_3, "sqshlu v6.8b, v27.8b, #3", 6, 27) 2586eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqshlu_8b_8b_7, "sqshlu v6.8b, v27.8b, #7", 6, 27) 2587eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2588eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqxtn_s_d, "sqxtn s31, d0", 31, 0) 2589eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqxtn_h_s, "sqxtn h31, s0", 31, 0) 2590eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqxtn_b_h, "sqxtn b31, h0", 31, 0) 2591eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqxtn_s_d, "uqxtn s31, d0", 31, 0) 2592eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqxtn_h_s, "uqxtn h31, s0", 31, 0) 2593eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(uqxtn_b_h, "uqxtn b31, h0", 31, 0) 2594eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqxtun_s_d, "sqxtun s31, d0", 31, 0) 2595eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqxtun_h_s, "sqxtun h31, s0", 31, 0) 2596eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sqxtun_b_h, "sqxtun b31, h0", 31, 0) 2597eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2598eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtn, 2s, 2d) 2599eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtn2, 4s, 2d) 2600eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtn, 4h, 4s) 2601eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtn2, 8h, 4s) 2602eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtn, 8b, 8h) 2603eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtn2, 16b, 8h) 2604eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2605eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(uqxtn, 2s, 2d) 2606eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(uqxtn2, 4s, 2d) 2607eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(uqxtn, 4h, 4s) 2608eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(uqxtn2, 8h, 4s) 2609eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(uqxtn, 8b, 8h) 2610eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(uqxtn2, 16b, 8h) 2611eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2612eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtun, 2s, 2d) 2613eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtun2, 4s, 2d) 2614eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtun, 4h, 4s) 2615eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtun2, 8h, 4s) 2616eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtun, 8b, 8h) 2617eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_UNARY_TEST(sqxtun2, 16b, 8h) 2618eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2619eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srhadd_4s_4s_4s,"srhadd v2.4s, v11.4s, v29.4s", 2, 11, 29) 2620eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srhadd_2s_2s_2s,"srhadd v2.2s, v11.2s, v29.2s", 2, 11, 29) 2621eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srhadd_8h_8h_8h,"srhadd v2.8h, v11.8h, v29.8h", 2, 11, 29) 2622eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srhadd_4h_4h_4h,"srhadd v2.4h, v11.4h, v29.4h", 2, 11, 29) 2623eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srhadd_16b_16b_16b, 2624eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "srhadd v2.16b, v11.16b, v29.16b", 2, 11, 29) 2625eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srhadd_8b_8b_8b,"srhadd v2.8b, v11.8b, v29.8b", 2, 11, 29) 2626eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2627eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urhadd_4s_4s_4s,"urhadd v2.4s, v11.4s, v29.4s", 2, 11, 29) 2628eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urhadd_2s_2s_2s,"urhadd v2.2s, v11.2s, v29.2s", 2, 11, 29) 2629eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urhadd_8h_8h_8h,"urhadd v2.8h, v11.8h, v29.8h", 2, 11, 29) 2630eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urhadd_4h_4h_4h,"urhadd v2.4h, v11.4h, v29.4h", 2, 11, 29) 2631eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urhadd_16b_16b_16b, 2632eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov "urhadd v2.16b, v11.16b, v29.16b", 2, 11, 29) 2633eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urhadd_8b_8b_8b,"urhadd v2.8b, v11.8b, v29.8b", 2, 11, 29) 2634eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2635eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sshl_d_d_d, "sshl d29, d28, d27", 29, 28, 27) 2636eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ushl_d_d_d, "ushl d29, d28, d27", 29, 28, 27) 2637eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2638eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sshl_2d_2d_2d, "sshl v29.2d, v28.2d, v27.2d", 29,28,27) 2639eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sshl_4s_4s_4s, "sshl v29.4s, v28.4s, v27.4s", 29,28,27) 2640eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sshl_2s_2s_2s, "sshl v29.2s, v28.2s, v27.2s", 29,28,27) 2641eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sshl_8h_8h_8h, "sshl v29.8h, v28.8h, v27.8h", 29,28,27) 2642eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sshl_4h_4h_4h, "sshl v29.4h, v28.4h, v27.4h", 29,28,27) 2643eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sshl_16b_16b_16b, "sshl v29.16b, v28.16b, v27.16b", 29,28,27) 2644eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(sshl_8b_8b_8b, "sshl v29.8b, v28.8b, v27.8b", 29,28,27) 2645eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2646eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ushl_2d_2d_2d, "ushl v29.2d, v28.2d, v27.2d", 29,28,27) 2647eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ushl_4s_4s_4s, "ushl v29.4s, v28.4s, v27.4s", 29,28,27) 2648eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ushl_2s_2s_2s, "ushl v29.2s, v28.2s, v27.2s", 29,28,27) 2649eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ushl_8h_8h_8h, "ushl v29.8h, v28.8h, v27.8h", 29,28,27) 2650eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ushl_4h_4h_4h, "ushl v29.4h, v28.4h, v27.4h", 29,28,27) 2651eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ushl_16b_16b_16b, "ushl v29.16b, v28.16b, v27.16b", 29,28,27) 2652eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(ushl_8b_8b_8b, "ushl v29.8b, v28.8b, v27.8b", 29,28,27) 2653eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2654eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shl_d_d_0, "shl d5, d28, #0", 5, 28) 2655eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shl_d_d_32, "shl d5, d28, #32", 5, 28) 2656eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(shl_d_d_63, "shl d5, d28, #63", 5, 28) 2657eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2658eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sshr_d_d_1, "sshr d5, d28, #1", 5, 28) 2659eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sshr_d_d_32, "sshr d5, d28, #32", 5, 28) 2660eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(sshr_d_d_64, "sshr d5, d28, #64", 5, 28) 2661eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2662eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ushr_d_d_1, "ushr d5, d28, #1", 5, 28) 2663eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ushr_d_d_32, "ushr d5, d28, #32", 5, 28) 2664eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ushr_d_d_64, "ushr d5, d28, #64", 5, 28) 2665eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2666eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_d_d_1, "ssra d5, d28, #1", 5, 28) 2667eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_d_d_32, "ssra d5, d28, #32", 5, 28) 2668eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_d_d_64, "ssra d5, d28, #64", 5, 28) 2669eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2670eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_d_d_1, "usra d5, d28, #1", 5, 28) 2671eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_d_d_32, "usra d5, d28, #32", 5, 28) 2672eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_d_d_64, "usra d5, d28, #64", 5, 28) 2673eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2674eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_2d_2d_1, "ssra v6.2d, v27.2d, #1", 6, 27) 2675eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_2d_2d_32, "ssra v6.2d, v27.2d, #32", 6, 27) 2676eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_2d_2d_64, "ssra v6.2d, v27.2d, #64", 6, 27) 2677eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_4s_4s_1, "ssra v6.4s, v27.4s, #1", 6, 27) 2678eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_4s_4s_16, "ssra v6.4s, v27.4s, #16", 6, 27) 2679eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_4s_4s_32, "ssra v6.4s, v27.4s, #32", 6, 27) 2680eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_2s_2s_1, "ssra v6.2s, v27.2s, #1", 6, 27) 2681eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_2s_2s_16, "ssra v6.2s, v27.2s, #16", 6, 27) 2682eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_2s_2s_32, "ssra v6.2s, v27.2s, #32", 6, 27) 2683eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_8h_8h_1, "ssra v6.8h, v27.8h, #1", 6, 27) 2684eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_8h_8h_8, "ssra v6.8h, v27.8h, #8", 6, 27) 2685eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_8h_8h_16, "ssra v6.8h, v27.8h, #16", 6, 27) 2686eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_4h_4h_1, "ssra v6.4h, v27.4h, #1", 6, 27) 2687eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_4h_4h_8, "ssra v6.4h, v27.4h, #8", 6, 27) 2688eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_4h_4h_16, "ssra v6.4h, v27.4h, #16", 6, 27) 2689eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_16b_16b_1, "ssra v6.16b, v27.16b, #1", 6, 27) 2690eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_16b_16b_3, "ssra v6.16b, v27.16b, #3", 6, 27) 2691eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_16b_16b_8, "ssra v6.16b, v27.16b, #8", 6, 27) 2692eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_8b_8b_1, "ssra v6.8b, v27.8b, #1", 6, 27) 2693eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_8b_8b_3, "ssra v6.8b, v27.8b, #3", 6, 27) 2694eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ssra_8b_8b_8, "ssra v6.8b, v27.8b, #8", 6, 27) 2695eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2696eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_2d_2d_1, "usra v6.2d, v27.2d, #1", 6, 27) 2697eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_2d_2d_32, "usra v6.2d, v27.2d, #32", 6, 27) 2698eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_2d_2d_64, "usra v6.2d, v27.2d, #64", 6, 27) 2699eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_4s_4s_1, "usra v6.4s, v27.4s, #1", 6, 27) 2700eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_4s_4s_16, "usra v6.4s, v27.4s, #16", 6, 27) 2701eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_4s_4s_32, "usra v6.4s, v27.4s, #32", 6, 27) 2702eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_2s_2s_1, "usra v6.2s, v27.2s, #1", 6, 27) 2703eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_2s_2s_16, "usra v6.2s, v27.2s, #16", 6, 27) 2704eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_2s_2s_32, "usra v6.2s, v27.2s, #32", 6, 27) 2705eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_8h_8h_1, "usra v6.8h, v27.8h, #1", 6, 27) 2706eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_8h_8h_8, "usra v6.8h, v27.8h, #8", 6, 27) 2707eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_8h_8h_16, "usra v6.8h, v27.8h, #16", 6, 27) 2708eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_4h_4h_1, "usra v6.4h, v27.4h, #1", 6, 27) 2709eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_4h_4h_8, "usra v6.4h, v27.4h, #8", 6, 27) 2710eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_4h_4h_16, "usra v6.4h, v27.4h, #16", 6, 27) 2711eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_16b_16b_1, "usra v6.16b, v27.16b, #1", 6, 27) 2712eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_16b_16b_3, "usra v6.16b, v27.16b, #3", 6, 27) 2713eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_16b_16b_8, "usra v6.16b, v27.16b, #8", 6, 27) 2714eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_8b_8b_1, "usra v6.8b, v27.8b, #1", 6, 27) 2715eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_8b_8b_3, "usra v6.8b, v27.8b, #3", 6, 27) 2716eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usra_8b_8b_8, "usra v6.8b, v27.8b, #8", 6, 27) 2717eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2718eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srshl_d_d_d, "srshl d29, d28, d27", 29, 28, 27) 2719eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urshl_d_d_d, "urshl d29, d28, d27", 29, 28, 27) 2720eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2721eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srshl_2d_2d_2d, "srshl v29.2d, v28.2d, v27.2d", 29,28,27) 2722eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srshl_4s_4s_4s, "srshl v29.4s, v28.4s, v27.4s", 29,28,27) 2723eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srshl_2s_2s_2s, "srshl v29.2s, v28.2s, v27.2s", 29,28,27) 2724eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srshl_8h_8h_8h, "srshl v29.8h, v28.8h, v27.8h", 29,28,27) 2725eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srshl_4h_4h_4h, "srshl v29.4h, v28.4h, v27.4h", 29,28,27) 2726eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srshl_16b_16b_16b,"srshl v29.16b, v28.16b, v27.16b", 29,28,27) 2727eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(srshl_8b_8b_8b, "srshl v29.8b, v28.8b, v27.8b", 29,28,27) 2728eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2729eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urshl_2d_2d_2d, "urshl v29.2d, v28.2d, v27.2d", 29,28,27) 2730eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urshl_4s_4s_4s, "urshl v29.4s, v28.4s, v27.4s", 29,28,27) 2731eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urshl_2s_2s_2s, "urshl v29.2s, v28.2s, v27.2s", 29,28,27) 2732eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urshl_8h_8h_8h, "urshl v29.8h, v28.8h, v27.8h", 29,28,27) 2733eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urshl_4h_4h_4h, "urshl v29.4h, v28.4h, v27.4h", 29,28,27) 2734eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urshl_16b_16b_16b,"urshl v29.16b, v28.16b, v27.16b", 29,28,27) 2735eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(urshl_8b_8b_8b, "urshl v29.8b, v28.8b, v27.8b", 29,28,27) 2736eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2737eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_d_d_1, "srshr d5, d28, #1", 5, 28) 2738eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_d_d_32, "srshr d5, d28, #32", 5, 28) 2739eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_d_d_64, "srshr d5, d28, #64", 5, 28) 2740eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2741eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_d_d_1, "urshr d5, d28, #1", 5, 28) 2742eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_d_d_32, "urshr d5, d28, #32", 5, 28) 2743eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_d_d_64, "urshr d5, d28, #64", 5, 28) 2744eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2745eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_2d_2d_1, "srshr v6.2d, v27.2d, #1", 6, 27) 2746eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_2d_2d_32, "srshr v6.2d, v27.2d, #32", 6, 27) 2747eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_2d_2d_64, "srshr v6.2d, v27.2d, #64", 6, 27) 2748eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_4s_4s_1, "srshr v6.4s, v27.4s, #1", 6, 27) 2749eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_4s_4s_16, "srshr v6.4s, v27.4s, #16", 6, 27) 2750eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_4s_4s_32, "srshr v6.4s, v27.4s, #32", 6, 27) 2751eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_2s_2s_1, "srshr v6.2s, v27.2s, #1", 6, 27) 2752eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_2s_2s_16, "srshr v6.2s, v27.2s, #16", 6, 27) 2753eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_2s_2s_32, "srshr v6.2s, v27.2s, #32", 6, 27) 2754eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_8h_8h_1, "srshr v6.8h, v27.8h, #1", 6, 27) 2755eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_8h_8h_8, "srshr v6.8h, v27.8h, #8", 6, 27) 2756eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_8h_8h_16, "srshr v6.8h, v27.8h, #16", 6, 27) 2757eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_4h_4h_1, "srshr v6.4h, v27.4h, #1", 6, 27) 2758eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_4h_4h_8, "srshr v6.4h, v27.4h, #8", 6, 27) 2759eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_4h_4h_16, "srshr v6.4h, v27.4h, #16", 6, 27) 2760eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_16b_16b_1, "srshr v6.16b, v27.16b, #1", 6, 27) 2761eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_16b_16b_3, "srshr v6.16b, v27.16b, #3", 6, 27) 2762eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_16b_16b_8, "srshr v6.16b, v27.16b, #8", 6, 27) 2763eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_8b_8b_1, "srshr v6.8b, v27.8b, #1", 6, 27) 2764eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_8b_8b_3, "srshr v6.8b, v27.8b, #3", 6, 27) 2765eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srshr_8b_8b_8, "srshr v6.8b, v27.8b, #8", 6, 27) 2766eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2767eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_2d_2d_1, "urshr v6.2d, v27.2d, #1", 6, 27) 2768eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_2d_2d_32, "urshr v6.2d, v27.2d, #32", 6, 27) 2769eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_2d_2d_64, "urshr v6.2d, v27.2d, #64", 6, 27) 2770eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_4s_4s_1, "urshr v6.4s, v27.4s, #1", 6, 27) 2771eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_4s_4s_16, "urshr v6.4s, v27.4s, #16", 6, 27) 2772eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_4s_4s_32, "urshr v6.4s, v27.4s, #32", 6, 27) 2773eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_2s_2s_1, "urshr v6.2s, v27.2s, #1", 6, 27) 2774eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_2s_2s_16, "urshr v6.2s, v27.2s, #16", 6, 27) 2775eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_2s_2s_32, "urshr v6.2s, v27.2s, #32", 6, 27) 2776eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_8h_8h_1, "urshr v6.8h, v27.8h, #1", 6, 27) 2777eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_8h_8h_8, "urshr v6.8h, v27.8h, #8", 6, 27) 2778eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_8h_8h_16, "urshr v6.8h, v27.8h, #16", 6, 27) 2779eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_4h_4h_1, "urshr v6.4h, v27.4h, #1", 6, 27) 2780eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_4h_4h_8, "urshr v6.4h, v27.4h, #8", 6, 27) 2781eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_4h_4h_16, "urshr v6.4h, v27.4h, #16", 6, 27) 2782eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_16b_16b_1, "urshr v6.16b, v27.16b, #1", 6, 27) 2783eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_16b_16b_3, "urshr v6.16b, v27.16b, #3", 6, 27) 2784eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_16b_16b_8, "urshr v6.16b, v27.16b, #8", 6, 27) 2785eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_8b_8b_1, "urshr v6.8b, v27.8b, #1", 6, 27) 2786eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_8b_8b_3, "urshr v6.8b, v27.8b, #3", 6, 27) 2787eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urshr_8b_8b_8, "urshr v6.8b, v27.8b, #8", 6, 27) 2788eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2789eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_d_d_1, "srsra d5, d28, #1", 5, 28) 2790eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_d_d_32, "srsra d5, d28, #32", 5, 28) 2791eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_d_d_64, "srsra d5, d28, #64", 5, 28) 2792eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2793eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_d_d_1, "ursra d5, d28, #1", 5, 28) 2794eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_d_d_32, "ursra d5, d28, #32", 5, 28) 2795eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_d_d_64, "ursra d5, d28, #64", 5, 28) 2796eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2797eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_2d_2d_1, "srsra v6.2d, v27.2d, #1", 6, 27) 2798eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_2d_2d_32, "srsra v6.2d, v27.2d, #32", 6, 27) 2799eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_2d_2d_64, "srsra v6.2d, v27.2d, #64", 6, 27) 2800eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_4s_4s_1, "srsra v6.4s, v27.4s, #1", 6, 27) 2801eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_4s_4s_16, "srsra v6.4s, v27.4s, #16", 6, 27) 2802eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_4s_4s_32, "srsra v6.4s, v27.4s, #32", 6, 27) 2803eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_2s_2s_1, "srsra v6.2s, v27.2s, #1", 6, 27) 2804eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_2s_2s_16, "srsra v6.2s, v27.2s, #16", 6, 27) 2805eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_2s_2s_32, "srsra v6.2s, v27.2s, #32", 6, 27) 2806eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_8h_8h_1, "srsra v6.8h, v27.8h, #1", 6, 27) 2807eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_8h_8h_8, "srsra v6.8h, v27.8h, #8", 6, 27) 2808eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_8h_8h_16, "srsra v6.8h, v27.8h, #16", 6, 27) 2809eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_4h_4h_1, "srsra v6.4h, v27.4h, #1", 6, 27) 2810eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_4h_4h_8, "srsra v6.4h, v27.4h, #8", 6, 27) 2811eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_4h_4h_16, "srsra v6.4h, v27.4h, #16", 6, 27) 2812eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_16b_16b_1, "srsra v6.16b, v27.16b, #1", 6, 27) 2813eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_16b_16b_3, "srsra v6.16b, v27.16b, #3", 6, 27) 2814eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_16b_16b_8, "srsra v6.16b, v27.16b, #8", 6, 27) 2815eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_8b_8b_1, "srsra v6.8b, v27.8b, #1", 6, 27) 2816eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_8b_8b_3, "srsra v6.8b, v27.8b, #3", 6, 27) 2817eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(srsra_8b_8b_8, "srsra v6.8b, v27.8b, #8", 6, 27) 2818eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2819eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_2d_2d_1, "ursra v6.2d, v27.2d, #1", 6, 27) 2820eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_2d_2d_32, "ursra v6.2d, v27.2d, #32", 6, 27) 2821eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_2d_2d_64, "ursra v6.2d, v27.2d, #64", 6, 27) 2822eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_4s_4s_1, "ursra v6.4s, v27.4s, #1", 6, 27) 2823eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_4s_4s_16, "ursra v6.4s, v27.4s, #16", 6, 27) 2824eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_4s_4s_32, "ursra v6.4s, v27.4s, #32", 6, 27) 2825eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_2s_2s_1, "ursra v6.2s, v27.2s, #1", 6, 27) 2826eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_2s_2s_16, "ursra v6.2s, v27.2s, #16", 6, 27) 2827eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_2s_2s_32, "ursra v6.2s, v27.2s, #32", 6, 27) 2828eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_8h_8h_1, "ursra v6.8h, v27.8h, #1", 6, 27) 2829eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_8h_8h_8, "ursra v6.8h, v27.8h, #8", 6, 27) 2830eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_8h_8h_16, "ursra v6.8h, v27.8h, #16", 6, 27) 2831eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_4h_4h_1, "ursra v6.4h, v27.4h, #1", 6, 27) 2832eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_4h_4h_8, "ursra v6.4h, v27.4h, #8", 6, 27) 2833eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_4h_4h_16, "ursra v6.4h, v27.4h, #16", 6, 27) 2834eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_16b_16b_1, "ursra v6.16b, v27.16b, #1", 6, 27) 2835eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_16b_16b_3, "ursra v6.16b, v27.16b, #3", 6, 27) 2836eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_16b_16b_8, "ursra v6.16b, v27.16b, #8", 6, 27) 2837eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_8b_8b_1, "ursra v6.8b, v27.8b, #1", 6, 27) 2838eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_8b_8b_3, "ursra v6.8b, v27.8b, #3", 6, 27) 2839eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursra_8b_8b_8, "ursra v6.8b, v27.8b, #8", 6, 27) 2840eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2841eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_d_d, "suqadd d22, d23", 22, 23) 2842eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_s_s, "suqadd s22, s23", 22, 23) 2843eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_h_h, "suqadd h22, h23", 22, 23) 2844eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_b_b, "suqadd b22, b23", 22, 23) 2845eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2846eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_2d_2d, "suqadd v6.2d, v27.2d", 6, 27) 2847eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_4s_4s, "suqadd v6.4s, v27.4s", 6, 27) 2848eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_2s_2s, "suqadd v6.2s, v27.2s", 6, 27) 2849eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_8h_8h, "suqadd v6.8h, v27.8h", 6, 27) 2850eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_4h_4h, "suqadd v6.4h, v27.4h", 6, 27) 2851eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_16b_16b, "suqadd v6.16b, v27.16b", 6, 27) 2852eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(suqadd_8b_8b, "suqadd v6.8b, v27.8b", 6, 27) 2853eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2854eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_d_d, "usqadd d22, d23", 22, 23) 2855eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_s_s, "usqadd s22, s23", 22, 23) 2856eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_h_h, "usqadd h22, h23", 22, 23) 2857eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_b_b, "usqadd b22, b23", 22, 23) 2858eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2859eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_2d_2d, "usqadd v6.2d, v27.2d", 6, 27) 2860eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_4s_4s, "usqadd v6.4s, v27.4s", 6, 27) 2861eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_2s_2s, "usqadd v6.2s, v27.2s", 6, 27) 2862eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_8h_8h, "usqadd v6.8h, v27.8h", 6, 27) 2863eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_4h_4h, "usqadd v6.4h, v27.4h", 6, 27) 2864eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_16b_16b, "usqadd v6.16b, v27.16b", 6, 27) 2865eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(usqadd_8b_8b, "usqadd v6.8b, v27.8b", 6, 27) 2866eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2867eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn1_2d_2d_2d, "trn1 v1.2d, v2.2d, v4.2d", 1, 2, 4) 2868eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn1_4s_4s_4s, "trn1 v1.4s, v2.4s, v4.4s", 1, 2, 4) 2869eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn1_2s_2s_2s, "trn1 v1.2s, v2.2s, v4.2s", 1, 2, 4) 2870eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn1_8h_8h_8h, "trn1 v1.8h, v2.8h, v4.8h", 1, 2, 4) 2871eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn1_4h_4h_4h, "trn1 v1.4h, v2.4h, v4.4h", 1, 2, 4) 2872eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn1_16b_16b_16b, "trn1 v1.16b, v2.16b, v4.16b", 1, 2, 4) 2873eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn1_8b_8b_8b, "trn1 v1.8b, v2.8b, v4.8b", 1, 2, 4) 2874eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2875eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn2_2d_2d_2d, "trn2 v1.2d, v2.2d, v4.2d", 1, 2, 4) 2876eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn2_4s_4s_4s, "trn2 v1.4s, v2.4s, v4.4s", 1, 2, 4) 2877eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn2_2s_2s_2s, "trn2 v1.2s, v2.2s, v4.2s", 1, 2, 4) 2878eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn2_8h_8h_8h, "trn2 v1.8h, v2.8h, v4.8h", 1, 2, 4) 2879eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn2_4h_4h_4h, "trn2 v1.4h, v2.4h, v4.4h", 1, 2, 4) 2880eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn2_16b_16b_16b, "trn2 v1.16b, v2.16b, v4.16b", 1, 2, 4) 2881eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(trn2_8b_8b_8b, "trn2 v1.8b, v2.8b, v4.8b", 1, 2, 4) 2882eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2883eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp1_2d_2d_2d, "uzp1 v1.2d, v2.2d, v4.2d", 1, 2, 4) 2884eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp1_4s_4s_4s, "uzp1 v1.4s, v2.4s, v4.4s", 1, 2, 4) 2885eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp1_2s_2s_2s, "uzp1 v1.2s, v2.2s, v4.2s", 1, 2, 4) 2886eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp1_8h_8h_8h, "uzp1 v1.8h, v2.8h, v4.8h", 1, 2, 4) 2887eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp1_4h_4h_4h, "uzp1 v1.4h, v2.4h, v4.4h", 1, 2, 4) 2888eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp1_16b_16b_16b, "uzp1 v1.16b, v2.16b, v4.16b", 1, 2, 4) 2889eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp1_8b_8b_8b, "uzp1 v1.8b, v2.8b, v4.8b", 1, 2, 4) 2890eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2891eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp2_2d_2d_2d, "uzp2 v1.2d, v2.2d, v4.2d", 1, 2, 4) 2892eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp2_4s_4s_4s, "uzp2 v1.4s, v2.4s, v4.4s", 1, 2, 4) 2893eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp2_2s_2s_2s, "uzp2 v1.2s, v2.2s, v4.2s", 1, 2, 4) 2894eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp2_8h_8h_8h, "uzp2 v1.8h, v2.8h, v4.8h", 1, 2, 4) 2895eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp2_4h_4h_4h, "uzp2 v1.4h, v2.4h, v4.4h", 1, 2, 4) 2896eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp2_16b_16b_16b, "uzp2 v1.16b, v2.16b, v4.16b", 1, 2, 4) 2897eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(uzp2_8b_8b_8b, "uzp2 v1.8b, v2.8b, v4.8b", 1, 2, 4) 2898eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2899eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip1_2d_2d_2d, "zip1 v1.2d, v2.2d, v4.2d", 1, 2, 4) 2900eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip1_4s_4s_4s, "zip1 v1.4s, v2.4s, v4.4s", 1, 2, 4) 2901eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip1_2s_2s_2s, "zip1 v1.2s, v2.2s, v4.2s", 1, 2, 4) 2902eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip1_8h_8h_8h, "zip1 v1.8h, v2.8h, v4.8h", 1, 2, 4) 2903eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip1_4h_4h_4h, "zip1 v1.4h, v2.4h, v4.4h", 1, 2, 4) 2904eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip1_16b_16b_16b, "zip1 v1.16b, v2.16b, v4.16b", 1, 2, 4) 2905eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip1_8b_8b_8b, "zip1 v1.8b, v2.8b, v4.8b", 1, 2, 4) 2906eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2907eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip2_2d_2d_2d, "zip2 v1.2d, v2.2d, v4.2d", 1, 2, 4) 2908eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip2_4s_4s_4s, "zip2 v1.4s, v2.4s, v4.4s", 1, 2, 4) 2909eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip2_2s_2s_2s, "zip2 v1.2s, v2.2s, v4.2s", 1, 2, 4) 2910eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip2_8h_8h_8h, "zip2 v1.8h, v2.8h, v4.8h", 1, 2, 4) 2911eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip2_4h_4h_4h, "zip2 v1.4h, v2.4h, v4.4h", 1, 2, 4) 2912eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip2_16b_16b_16b, "zip2 v1.16b, v2.16b, v4.16b", 1, 2, 4) 2913eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_THREEVEC_TEST(zip2_8b_8b_8b, "zip2 v1.8b, v2.8b, v4.8b", 1, 2, 4) 2914eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2915eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urecpe_4s_4s, "urecpe v6.4s, v27.4s", 6, 27) 2916eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(urecpe_2s_2s, "urecpe v6.2s, v27.2s", 6, 27) 2917eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2918eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursqrte_4s_4s, "ursqrte v6.4s, v27.4s", 6, 27) 2919eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy IvanovGEN_TWOVEC_TEST(ursqrte_2s_2s, "ursqrte v6.2s, v27.2s", 6, 27) 2920eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2921eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2922eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* ---------------------------------------------------------------- */ 2923eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* -- main() -- */ 2924eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* ---------------------------------------------------------------- */ 2925eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2926eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanovint main ( void ) 2927eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov{ 2928eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov assert(sizeof(V128) == 16); 2929eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2930eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ======================== FP ======================== 2931eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2932eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fabs d,s 2933eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fabs 2d,4s,2s 2934b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabs_d_d(TyDF); 2935b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabs_s_s(TySF); 2936b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabs_2d_2d(TyDF); 2937b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabs_4s_4s(TySF); 2938b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabs_2s_2s(TyDF); 2939b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fneg_2d_2d(TySF); 2940b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fneg_4s_4s(TyDF); 2941b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fneg_2s_2s(TySF); 2942eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2943eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fneg d,s 2944eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fneg 2d,4s,2s 2945b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fneg_d_d(TyDF); 2946b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fneg_s_s(TySF); 2947eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2948eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fsqrt d,s 2949eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fsqrt 2d,4s,2s 2950b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fsqrt_d_d(TyDF); 2951b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fsqrt_s_s(TySF); 2952eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2953eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fadd d,s 2954eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fsub d,s 2955b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fadd_d_d_d(TyDF); 2956b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fadd_s_s_s(TySF); 2957b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fsub_d_d_d(TyDF); 2958b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fsub_s_s_s(TySF); 2959eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2960eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fadd 2d,4s,2s 2961eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fsub 2d,4s,2s 2962b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fadd_2d_2d_2d(TyDF); 2963b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fadd_4s_4s_4s(TySF); 2964b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fadd_2s_2s_2s(TySF); 2965b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fsub_2d_2d_2d(TyDF); 2966b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fsub_4s_4s_4s(TySF); 2967b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fsub_2s_2s_2s(TySF); 2968eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2969eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fabd d,s 2970eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fabd 2d,4s,2s 2971b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabd_d_d_d(TyDF); 2972b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabd_s_s_s(TySF); 2973b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabd_2d_2d_2d(TyDF); 2974b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabd_4s_4s_4s(TySF); 2975b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fabd_2s_2s_2s(TySF); 2976eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2977eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // faddp d,s (floating add pair) 2978eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // faddp 2d,4s,2s 2979eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2980eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fccmp d,s (floating point conditional quiet compare) 2981eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fccmpe d,s (floating point conditional signaling compare) 2982eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2983eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmeq d,s 2984eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmge d,s 2985eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmgt d,s 2986eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // facgt d,s (floating abs compare GE) 2987eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // facge d,s (floating abs compare GE) 2988eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 2989eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmeq 2d,4s,2s 2990eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmge 2d,4s,2s 2991eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmgt 2d,4s,2s 2992eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // facge 2d,4s,2s 2993eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // facgt 2d,4s,2s 2994b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcmeq_2d_2d_2d(TyDF); 2995b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcmeq_4s_4s_4s(TySF); 2996b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcmeq_2s_2s_2s(TySF); 2997b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcmge_2d_2d_2d(TyDF); 2998b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcmge_4s_4s_4s(TySF); 2999b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcmge_2s_2s_2s(TySF); 3000b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcmgt_2d_2d_2d(TyDF); 3001b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcmgt_4s_4s_4s(TySF); 3002b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcmgt_2s_2s_2s(TySF); 3003b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_facge_2d_2d_2d(TyDF); 3004b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_facge_4s_4s_4s(TySF); 3005b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_facge_2s_2s_2s(TySF); 3006b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_facgt_2d_2d_2d(TyDF); 3007b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_facgt_4s_4s_4s(TySF); 3008b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_facgt_2s_2s_2s(TySF); 3009eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3010eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmeq_z d,s 3011eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmge_z d,s 3012eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmgt_z d,s 3013eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmle_z d,s 3014eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmlt_z d,s 3015eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3016eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmeq_z 2d,4s,2s 3017eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmge_z 2d,4s,2s 3018eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmgt_z 2d,4s,2s 3019eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmle_z 2d,4s,2s 3020eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmlt_z 2d,4s,2s 3021eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3022eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmp_z d,s 3023eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmpe_z d,s 3024eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmp d,s (floating point quiet, set flags) 3025eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcmpe d,s (floating point signaling, set flags) 3026eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3027eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcsel d,s (fp cond select) 3028eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3029eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fdiv d,s 3030eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fdiv 2d,4s,2s 3031b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fdiv_d_d_d(TyDF); 3032b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fdiv_s_s_s(TySF); 3033b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fdiv_2d_2d_2d(TyDF); 3034b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fdiv_4s_4s_4s(TySF); 3035b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fdiv_2s_2s_2s(TySF); 3036eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3037eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmadd d,s 3038eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fnmadd d,s 3039eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmsub d,s 3040eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fnmsub d,s 3041eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3042eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fnmul d,s 3043b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fnmul_d_d_d(TyDF); 3044b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fnmul_s_s_s(TySF); 3045eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3046eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmax d,s 3047eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmin d,s 3048eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmaxnm d,s ("max number") 3049eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fminnm d,s 3050eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3051eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmax 2d,4s,2s 3052eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmin 2d,4s,2s 3053eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmaxnm 2d,4s,2s 3054eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fminnm 2d,4s,2s 3055eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3056eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmaxnmp d_2d,s_2s ("max number pairwise") 3057eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fminnmp d_2d,s_2s 3058eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3059eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmaxnmp 2d,4s,2s 3060eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fminnmp 2d,4s,2s 3061eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3062eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmaxnmv s_4s (maxnum across vector) 3063eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fminnmv s_4s 3064eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3065eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmaxp d_2d,s_2s (max of a pair) 3066eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fminp d_2d,s_2s (max of a pair) 3067eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3068eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmaxp 2d,4s,2s (max pairwise) 3069eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fminp 2d,4s,2s 3070eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3071eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmaxv s_4s (max across vector) 3072eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fminv s_4s 3073eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3074eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmla 2d,4s,2s 3075eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmls 2d,4s,2s 3076b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmla_2d_2d_2d(TyDF); 3077b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmla_4s_4s_4s(TySF); 3078b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmla_2s_2s_2s(TySF); 3079b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmls_2d_2d_2d(TyDF); 3080b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmls_4s_4s_4s(TySF); 3081b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmls_2s_2s_2s(TySF); 3082eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3083eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmla d_d_d[],s_s_s[] (by element) 3084eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmls d_d_d[],s_s_s[] (by element) 3085eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3086eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmla 2d_2d_d[],4s_4s_s[],2s_2s_s[] 3087eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmls 2d_2d_d[],4s_4s_s[],2s_2s_s[] 3088eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3089eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmov 2d,4s,2s #imm (part of the MOVI/MVNI/ORR/BIC imm group) 3090eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // INCOMPLETE 3091b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_2d_imm_01(TyD); 3092b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_2d_imm_02(TyD); 3093b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_2d_imm_03(TyD); 3094eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov if (0) test_fmov_4s_imm_01(TyS); 3095eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov if (0) test_fmov_4s_imm_02(TyS); 3096eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov if (0) test_fmov_4s_imm_03(TyS); 3097eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov if (0) test_fmov_2s_imm_01(TyS); 3098eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov if (0) test_fmov_2s_imm_02(TyS); 3099eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov if (0) test_fmov_2s_imm_03(TyS); 3100eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3101eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmov d_d,s_s 3102b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_d_d(TyDF); 3103b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_s_s(TySF); 3104eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3105eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmov s_w,w_s,d_x,d[1]_x,x_d,x_d[1] 3106b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_s_w(TyS); 3107b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_d_x(TyD); 3108b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_d1_x(TyD); 3109b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_w_s(TyS); 3110b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_x_d(TyD); 3111b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_x_d1(TyD); 3112eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3113eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmov d,s #imm 3114b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_d_imm_01(TyNONE); 3115b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_d_imm_02(TyNONE); 3116b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_d_imm_03(TyNONE); 3117b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_s_imm_01(TyNONE); 3118b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_s_imm_02(TyNONE); 3119b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmov_s_imm_03(TyNONE); 3120eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3121eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmul d_d_d[],s_s_s[] 3122eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmul 2d_2d_d[],4s_4s_s[],2s_2s_s[] 3123eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3124eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmul 2d,4s,2s 3125eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmul d,s 3126b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmul_d_d_d(TyDF); 3127b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmul_s_s_s(TySF); 3128b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmul_2d_2d_2d(TyDF); 3129b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmul_4s_4s_4s(TySF); 3130b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fmul_2s_2s_2s(TySF); 3131eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3132eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmulx d_d_d[],s_s_s[] 3133eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmulx 2d_2d_d[],4s_4s_s[],2s_2s_s[] 3134eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3135eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmulx d,s 3136eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fmulx 2d,4s,2s 3137eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3138eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frecpe d,s (recip estimate) 3139eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frecpe 2d,4s,2s 3140eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3141eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frecps d,s (recip step) 3142eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frecps 2d,4s,2s 3143eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3144eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frecpx d,s (recip exponent) 3145eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3146eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frinta d,s 3147eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frinti d,s 3148eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintm d,s 3149eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintn d,s 3150eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintp d,s 3151eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintx d,s 3152eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintz d,s 3153eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3154eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frinta 2d,4s,2s (round to integral, nearest away) 3155eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frinti 2d,4s,2s (round to integral, per FPCR) 3156eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintm 2d,4s,2s (round to integral, minus inf) 3157eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintn 2d,4s,2s (round to integral, nearest, to even) 3158eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintp 2d,4s,2s (round to integral, plus inf) 3159eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintx 2d,4s,2s (round to integral exact, per FPCR) 3160eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frintz 2d,4s,2s (round to integral, zero) 3161eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3162eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frsqrte d,s (est) 3163eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frsqrte 2d,4s,2s 3164eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3165eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frsqrts d,s (step) 3166eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // frsqrts 2d,4s,2s 3167eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3168eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ======================== CONV ======================== 3169eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3170eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvt s_h,d_h,h_s,d_s,h_d,s_d (fp convert, scalar) 3171eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3172eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtl{2} 4s/4h, 4s/8h, 2d/2s, 2d/4s (float convert to longer form) 3173eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3174eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtn{2} 4h/4s, 8h/4s, 2s/2d, 4s/2d (float convert to narrower form) 3175eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // INCOMPLETE 3176b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcvtn_2s_2d(TyDF); 3177b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_fcvtn_4s_2d(TyDF); 3178eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3179eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtas d,s (fcvt to signed int, nearest, ties away) 3180eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtau d,s (fcvt to unsigned int, nearest, ties away) 3181eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtas 2d,4s,2s 3182eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtau 2d,4s,2s 3183eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtas w_s,x_s,w_d,x_d 3184eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtau w_s,x_s,w_d,x_d 3185eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3186eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtms d,s (fcvt to signed int, minus inf) 3187eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtmu d,s (fcvt to unsigned int, minus inf) 3188eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtms 2d,4s,2s 3189eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtmu 2d,4s,2s 3190eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtms w_s,x_s,w_d,x_d 3191eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtmu w_s,x_s,w_d,x_d 3192eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3193eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtns d,s (fcvt to signed int, nearest) 3194eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtnu d,s (fcvt to unsigned int, nearest) 3195eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtns 2d,4s,2s 3196eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtnu 2d,4s,2s 3197eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtns w_s,x_s,w_d,x_d 3198eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtnu w_s,x_s,w_d,x_d 3199eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3200eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtps d,s (fcvt to signed int, plus inf) 3201eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtpu d,s (fcvt to unsigned int, plus inf) 3202eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtps 2d,4s,2s 3203eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtpu 2d,4s,2s 3204eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtps w_s,x_s,w_d,x_d 3205eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtpu w_s,x_s,w_d,x_d 3206eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3207eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzs d,s (fcvt to signed integer, to zero) 3208eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzu d,s (fcvt to unsigned integer, to zero) 3209eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzs 2d,4s,2s 3210eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzu 2d,4s,2s 3211eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzs w_s,x_s,w_d,x_d 3212eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzu w_s,x_s,w_d,x_d 3213eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3214eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzs d,s (fcvt to signed fixedpt, to zero) (w/ #fbits) 3215eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzu d,s (fcvt to unsigned fixedpt, to zero) (w/ #fbits) 3216eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzs 2d,4s,2s 3217eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzu 2d,4s,2s 3218eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzs w_s,x_s,w_d,x_d (fcvt to signed fixedpt, to zero) (w/ #fbits) 3219eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtzu w_s,x_s,w_d,x_d (fcvt to unsigned fixedpt, to zero) (w/ #fbits) 3220eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3221eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtxn s_d (fcvt to lower prec narrow, rounding to odd) 3222eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // fcvtxn 2s_2d,4s_2d 3223eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3224eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // scvtf d,s _#fbits 3225eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ucvtf d,s _#fbits 3226eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3227eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // scvtf 2d,4s,2s _#fbits 3228eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ucvtf 2d,4s,2s _#fbits 3229eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3230eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // scvtf d,s 3231eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ucvtf d,s 323242af27935e37fca9021c5e90d3c4f3fd3a60e36fDmitriy Ivanov if (1) test_scvtf_s_s(TyS); 323342af27935e37fca9021c5e90d3c4f3fd3a60e36fDmitriy Ivanov if (1) test_scvtf_d_d(TyD); 323442af27935e37fca9021c5e90d3c4f3fd3a60e36fDmitriy Ivanov if (1) test_ucvtf_s_s(TyS); 323542af27935e37fca9021c5e90d3c4f3fd3a60e36fDmitriy Ivanov if (1) test_ucvtf_d_d(TyD); 3236eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3237eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // scvtf 2d,4s,2s 3238eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ucvtf 2d,4s,2s 3239eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3240eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // scvtf s_w, d_w, s_x, d_x, _#fbits 3241eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ucvtf s_w, d_w, s_x, d_x, _#fbits 3242eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3243eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // scvtf s_w, d_w, s_x, d_x 3244eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ucvtf s_w, d_w, s_x, d_x 3245b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_scvtf_s_w(TyS); 3246b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_scvtf_d_w(TyS); 3247b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_scvtf_s_x(TyD); 3248b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_scvtf_d_x(TyD); 3249b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ucvtf_s_w(TyS); 3250b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ucvtf_d_w(TyS); 3251b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ucvtf_s_x(TyD); 3252b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ucvtf_d_x(TyD); 3253eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3254eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ======================== INT ======================== 3255eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3256eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // abs d 3257eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // neg d 3258b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_abs_d_d(TyD); 3259b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_neg_d_d(TyD); 3260eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3261eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // abs 2d,4s,2s,8h,4h,16b,8b 3262eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // neg 2d,4s,2s,8h,4h,16b,8b 3263b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_abs_2d_2d(TyD); 3264b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_abs_4s_4s(TyS); 3265b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_abs_2s_2s(TyS); 3266b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_abs_8h_8h(TyH); 3267b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_abs_4h_4h(TyH); 3268b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_abs_16b_16b(TyB); 3269b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_abs_8b_8b(TyB); 3270b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_neg_2d_2d(TyD); 3271b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_neg_4s_4s(TyS); 3272b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_neg_2s_2s(TyS); 3273b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_neg_8h_8h(TyH); 3274b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_neg_4h_4h(TyH); 3275b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_neg_16b_16b(TyB); 3276b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_neg_8b_8b(TyB); 3277eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3278eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // add d 3279eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sub d 3280b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_add_d_d_d(TyD); 3281b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sub_d_d_d(TyD); 3282eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3283eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // add 2d,4s,2s,8h,4h,16b,8b 3284eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sub 2d,4s,2s,8h,4h,16b,8b 3285b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_add_2d_2d_2d(TyD); 3286b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_add_4s_4s_4s(TyS); 3287b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_add_2s_2s_2s(TyS); 3288b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_add_8h_8h_8h(TyH); 3289b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_add_4h_4h_4h(TyH); 3290b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_add_16b_16b_16b(TyB); 3291b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_add_8b_8b_8b(TyB); 3292b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sub_2d_2d_2d(TyD); 3293b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sub_4s_4s_4s(TyS); 3294b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sub_2s_2s_2s(TyS); 3295b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sub_8h_8h_8h(TyH); 3296b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sub_4h_4h_4h(TyH); 3297b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sub_16b_16b_16b(TyB); 3298b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sub_8b_8b_8b(TyB); 3299eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3300eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 3301eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // subhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 3302eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // raddhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 3303eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // rsubhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 3304b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addhn_2s_2d_2d(TyD); 3305b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addhn2_4s_2d_2d(TyD); 3306b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addhn_4h_4s_4s(TyS); 3307b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addhn2_8h_4s_4s(TyS); 3308b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addhn_8b_8h_8h(TyH); 3309b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addhn2_16b_8h_8h(TyH); 3310b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_subhn_2s_2d_2d(TyD); 3311b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_subhn2_4s_2d_2d(TyD); 3312b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_subhn_4h_4s_4s(TyS); 3313b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_subhn2_8h_4s_4s(TyS); 3314b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_subhn_8b_8h_8h(TyH); 3315b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_subhn2_16b_8h_8h(TyH); 3316b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_raddhn_2s_2d_2d(TyD); 3317b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_raddhn2_4s_2d_2d(TyD); 3318b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_raddhn_4h_4s_4s(TyS); 3319b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_raddhn2_8h_4s_4s(TyS); 3320b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_raddhn_8b_8h_8h(TyH); 3321b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_raddhn2_16b_8h_8h(TyH); 3322b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rsubhn_2s_2d_2d(TyD); 3323b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rsubhn2_4s_2d_2d(TyD); 3324b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rsubhn_4h_4s_4s(TyS); 3325b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rsubhn2_8h_4s_4s(TyS); 3326b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rsubhn_8b_8h_8h(TyH); 3327b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rsubhn2_16b_8h_8h(TyH); 3328eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3329eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addp d (add pairs, across) 3330b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addp_d_2d(TyD); 3331eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3332eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addp 2d,4s,2s,8h,4h,16b,8b 3333b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addp_2d_2d_2d(TyD); 3334b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addp_4s_4s_4s(TyS); 3335b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addp_2s_2s_2s(TyS); 3336b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addp_8h_8h_8h(TyH); 3337b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addp_4h_4h_4h(TyH); 3338b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addp_16b_16b_16b(TyB); 3339b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addp_8b_8b_8b(TyB); 3340eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3341eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addv 4s,8h,4h,16b,18b (reduce across vector) 3342b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addv_s_4s(TyS); 3343b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addv_h_8h(TyH); 3344b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addv_h_4h(TyH); 3345b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addv_b_16b(TyB); 3346b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_addv_b_8b(TyB); 3347eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3348eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // and 16b,8b 3349eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // bic 16b,8b 3350eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // orn 16b,8b 3351eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // orr 16b,8b 3352b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_and_16b_16b_16b(TyB); 3353b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_and_8b_8b_8b(TyB); 3354b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_bic_16b_16b_16b(TyB); 3355b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_bic_8b_8b_8b(TyB); 3356b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_orr_16b_16b_16b(TyB); 3357b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_orr_8b_8b_8b(TyB); 3358b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_orn_16b_16b_16b(TyB); 3359b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_orn_8b_8b_8b(TyB); 3360eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3361eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // orr 8h,4h #imm8, LSL #0 or 8 3362eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // orr 4s,2s #imm8, LSL #0, 8, 16 or 24 3363eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // bic 8h,4h #imm8, LSL #0 or 8 3364eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // bic 4s,2s #imm8, LSL #0, 8, 16 or 24 3365eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // movi and mvni are very similar, a superset of these. 3366eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // Cases are below. 3367b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_8h_0x5A_lsl0(TyH); 3368b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_8h_0xA5_lsl8(TyH); 3369b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_4h_0x5A_lsl0(TyH); 3370b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_4h_0xA5_lsl8(TyH); 3371b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_4s_0x5A_lsl0(TyS); 3372b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_4s_0x6B_lsl8(TyS); 3373b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_4s_0x49_lsl16(TyS); 3374b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_4s_0x3D_lsl24(TyS); 3375b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_2s_0x5A_lsl0(TyS); 3376b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_2s_0x6B_lsl8(TyS); 3377b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_2s_0x49_lsl16(TyS); 3378b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_orr_2s_0x3D_lsl24(TyS); 3379b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_8h_0x5A_lsl0(TyH); 3380b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_8h_0xA5_lsl8(TyH); 3381b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_4h_0x5A_lsl0(TyH); 3382b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_4h_0xA5_lsl8(TyH); 3383b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_4s_0x5A_lsl0(TyS); 3384b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_4s_0x6B_lsl8(TyS); 3385b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_4s_0x49_lsl16(TyS); 3386b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_4s_0x3D_lsl24(TyS); 3387b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_2s_0x5A_lsl0(TyS); 3388b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_2s_0x6B_lsl8(TyS); 3389b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_2s_0x49_lsl16(TyS); 3390b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_bic_2s_0x3D_lsl24(TyS); 3391eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3392eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // bif 16b,8b (vector) (bit insert if false) 3393eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // bit 16b,8b (vector) (bit insert if true) 3394eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // bsl 16b,8b (vector) (bit select) 3395eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // eor 16b,8b (vector) 3396b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_bif_16b_16b_16b(TyB); 3397b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_bif_8b_8b_8b(TyB); 3398b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_bit_16b_16b_16b(TyB); 3399b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_bit_8b_8b_8b(TyB); 3400b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_bsl_16b_16b_16b(TyB); 3401b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_bsl_8b_8b_8b(TyB); 3402b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_eor_16b_16b_16b(TyB); 3403b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_eor_8b_8b_8b(TyB); 3404eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3405eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cls 4s,2s,8h,4h,16b,8b (count leading sign bits) 3406eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // clz 4s,2s,8h,4h,16b,8b (count leading zero bits) 3407b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cls_4s_4s(TyS); 3408b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cls_2s_2s(TyS); 3409b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cls_8h_8h(TyH); 3410b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cls_4h_4h(TyH); 3411b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cls_16b_16b(TyB); 3412b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cls_8b_8b(TyB); 3413b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_clz_4s_4s(TyS); 3414b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_clz_2s_2s(TyS); 3415b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_clz_8h_8h(TyH); 3416b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_clz_4h_4h(TyH); 3417b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_clz_16b_16b(TyB); 3418b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_clz_8b_8b(TyB); 3419eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3420eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmeq d 3421eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmge d 3422eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmgt d 3423eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmhi d 3424eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmhs d 3425eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmtst d 3426b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmeq_d_d_d(TyD); 3427b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmge_d_d_d(TyD); 3428b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmgt_d_d_d(TyD); 3429b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmhi_d_d_d(TyD); 3430b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmhs_d_d_d(TyD); 3431b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmtst_d_d_d(TyD); 3432eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3433eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmeq 2d,4s,2s,8h,4h,16b,8b 3434eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmge 2d,4s,2s,8h,4h,16b,8b 3435eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmgt 2d,4s,2s,8h,4h,16b,8b 3436eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmhi 2d,4s,2s,8h,4h,16b,8b 3437eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmhs 2d,4s,2s,8h,4h,16b,8b 3438eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmtst 2d,4s,2s,8h,4h,16b,8b 3439b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_2d_2d_2d(TyD); 3440b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_4s_4s_4s(TyS); 3441b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_2s_2s_2s(TyS); 3442b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_8h_8h_8h(TyH); 3443b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_4h_4h_4h(TyH); 3444b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_16b_16b_16b(TyB); 3445b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_8b_8b_8b(TyB); 3446b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_2d_2d_2d(TyD); 3447b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_4s_4s_4s(TyS); 3448b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_2s_2s_2s(TyS); 3449b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_8h_8h_8h(TyH); 3450b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_4h_4h_4h(TyH); 3451b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_16b_16b_16b(TyB); 3452b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_8b_8b_8b(TyB); 3453b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_2d_2d_2d(TyD); 3454b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_4s_4s_4s(TyS); 3455b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_2s_2s_2s(TyS); 3456b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_8h_8h_8h(TyH); 3457b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_4h_4h_4h(TyH); 3458b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_16b_16b_16b(TyB); 3459b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_8b_8b_8b(TyB); 3460b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhi_2d_2d_2d(TyD); 3461b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhi_4s_4s_4s(TyS); 3462b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhi_2s_2s_2s(TyS); 3463b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhi_8h_8h_8h(TyH); 3464b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhi_4h_4h_4h(TyH); 3465b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhi_16b_16b_16b(TyB); 3466b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhi_8b_8b_8b(TyB); 3467b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhs_2d_2d_2d(TyD); 3468b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhs_4s_4s_4s(TyS); 3469b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhs_2s_2s_2s(TyS); 3470b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhs_8h_8h_8h(TyH); 3471b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhs_4h_4h_4h(TyH); 3472b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhs_16b_16b_16b(TyB); 3473b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmhs_8b_8b_8b(TyB); 3474b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmtst_2d_2d_2d(TyD); 3475b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmtst_4s_4s_4s(TyS); 3476b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmtst_2s_2s_2s(TyS); 3477b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmtst_8h_8h_8h(TyH); 3478b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmtst_4h_4h_4h(TyH); 3479b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmtst_16b_16b_16b(TyB); 3480b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmtst_8b_8b_8b(TyB); 3481eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3482eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmeq_z d 3483eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmge_z d 3484eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmgt_z d 3485eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmle_z d 3486eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmlt_z d 3487b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_zero_d_d(TyD); 3488b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmge_zero_d_d(TyD); 3489b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmgt_zero_d_d(TyD); 3490b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmle_zero_d_d(TyD); 3491b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cmlt_zero_d_d(TyD); 3492eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3493eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmeq_z 2d,4s,2s,8h,4h,16b,8b 3494eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmge_z 2d,4s,2s,8h,4h,16b,8b 3495eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmgt_z 2d,4s,2s,8h,4h,16b,8b 3496eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmle_z 2d,4s,2s,8h,4h,16b,8b 3497eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cmlt_z 2d,4s,2s,8h,4h,16b,8b 3498b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_zero_2d_2d(TyD); 3499b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_zero_4s_4s(TyS); 3500b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_zero_2s_2s(TyS); 3501b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_zero_8h_8h(TyH); 3502b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_zero_4h_4h(TyH); 3503b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_zero_16b_16b(TyB); 3504b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmeq_zero_8b_8b(TyB); 3505b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_zero_2d_2d(TyD); 3506b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_zero_4s_4s(TyS); 3507b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_zero_2s_2s(TyS); 3508b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_zero_8h_8h(TyH); 3509b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_zero_4h_4h(TyH); 3510b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_zero_16b_16b(TyB); 3511b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmge_zero_8b_8b(TyB); 3512b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_zero_2d_2d(TyD); 3513b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_zero_4s_4s(TyS); 3514b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_zero_2s_2s(TyS); 3515b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_zero_8h_8h(TyH); 3516b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_zero_4h_4h(TyH); 3517b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_zero_16b_16b(TyB); 3518b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmgt_zero_8b_8b(TyB); 3519b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmle_zero_2d_2d(TyD); 3520b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmle_zero_4s_4s(TyS); 3521b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmle_zero_2s_2s(TyS); 3522b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmle_zero_8h_8h(TyH); 3523b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmle_zero_4h_4h(TyH); 3524b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmle_zero_16b_16b(TyB); 3525b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmle_zero_8b_8b(TyB); 3526b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmlt_zero_2d_2d(TyD); 3527b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmlt_zero_4s_4s(TyS); 3528b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmlt_zero_2s_2s(TyS); 3529b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmlt_zero_8h_8h(TyH); 3530b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmlt_zero_4h_4h(TyH); 3531b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmlt_zero_16b_16b(TyB); 3532b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_cmlt_zero_8b_8b(TyB); 3533eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3534eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cnt 16b,8b (population count per byte) 3535b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cnt_16b_16b(TyB); 3536b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_cnt_8b_8b(TyB); 3537eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3538eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // dup d,s,h,b (vec elem to scalar) 3539b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_dup_d_d0(TyD); 3540b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_dup_d_d1(TyD); 3541b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_dup_s_s0(TyS); 3542b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_dup_s_s3(TyS); 3543b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_dup_h_h0(TyH); 3544b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_dup_h_h6(TyH); 3545b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_dup_b_b0(TyB); 3546b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_dup_b_b13(TyB); 3547eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3548eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // dup 2d,4s,2s,8h,4h,16b,8b (vec elem to vector) 3549b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_2d_d0(TyD); 3550b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_2d_d1(TyD); 3551b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_4s_s0(TyS); 3552b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_4s_s3(TyS); 3553b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_2s_s0(TyS); 3554b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_2s_s2(TyS); 3555b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_8h_h0(TyH); 3556b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_8h_h6(TyH); 3557b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_4h_h1(TyH); 3558b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_4h_h5(TyH); 3559b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_16b_b2(TyB); 3560b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_16b_b12(TyB); 3561b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_8b_b3(TyB); 3562b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_8b_b13(TyB); 3563eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3564eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // dup 2d,4s,2s,8h,4h,16b,8b (general reg to vector) 3565b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_2d_x(TyD); 3566b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_4s_w(TyS); 3567b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_2s_w(TyS); 3568b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_8h_w(TyH); 3569b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_4h_w(TyH); 3570b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_16b_w(TyB); 3571b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_dup_8b_w(TyB); 3572eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3573eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ext 16b,8b,#imm4 (concat 2 vectors, then slice) 3574b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ext_16b_16b_16b_0x0(TyB); 3575b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ext_16b_16b_16b_0x7(TyB); 3576b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ext_16b_16b_16b_0x8(TyB); 3577b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ext_16b_16b_16b_0x9(TyB); 3578b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ext_16b_16b_16b_0xF(TyB); 3579b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ext_8b_8b_8b_0x0(TyB); 3580b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ext_8b_8b_8b_0x1(TyB); 3581b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ext_8b_8b_8b_0x6(TyB); 3582b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ext_8b_8b_8b_0x7(TyB); 3583eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3584eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ins d[]_d[],s[]_s[],h[]_h[],b[]_b[] 3585b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_d0_d0(TyD); 3586b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_d0_d1(TyD); 3587b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_d1_d0(TyD); 3588b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_d1_d1(TyD); 3589b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_s0_s2(TyS); 3590b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_s3_s0(TyS); 3591b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_s2_s1(TyS); 3592b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_s1_s3(TyS); 3593b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_h0_h6(TyH); 3594b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_h7_h0(TyH); 3595b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_h6_h1(TyH); 3596b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ins_h1_h7(TyH); 35976eaa51482bc2e82f289151a5f7b0984f8e43aa78Dmitriy Ivanov if (1) test_ins_b0_b14(TyB); 35986eaa51482bc2e82f289151a5f7b0984f8e43aa78Dmitriy Ivanov if (1) test_ins_b15_b8(TyB); 35996eaa51482bc2e82f289151a5f7b0984f8e43aa78Dmitriy Ivanov if (1) test_ins_b13_b9(TyB); 36006eaa51482bc2e82f289151a5f7b0984f8e43aa78Dmitriy Ivanov if (1) test_ins_b5_b12(TyB); 3601eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3602eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ins d[]_x, s[]_w, h[]_w, b[]_w 3603b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_INS_general(); 3604eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3605eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // mla 4s_4s_s[],2s_2s_s[],8h_8h_h[],4h_4h_h[] 3606eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // mls 4s_4s_s[],2s_2s_s[],8h_8h_h[],4h_4h_h[] 3607eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // mul 4s_4s_s[],2s_2s_s[],8h_8h_h[],4h_4h_h[] 3608b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mla_4s_4s_s0(TyS); 3609b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mla_4s_4s_s3(TyS); 3610b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mla_2s_2s_s0(TyS); 3611b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mla_2s_2s_s3(TyS); 3612b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mla_8h_8h_h1(TyH); 3613b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mla_8h_8h_h5(TyH); 3614b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mla_4h_4h_h2(TyH); 3615b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mla_4h_4h_h7(TyH); 3616b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mls_4s_4s_s0(TyS); 3617b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mls_4s_4s_s3(TyS); 3618b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mls_2s_2s_s0(TyS); 3619b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mls_2s_2s_s3(TyS); 3620b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mls_8h_8h_h1(TyH); 3621b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mls_8h_8h_h5(TyH); 3622b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mls_4h_4h_h2(TyH); 3623b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mls_4h_4h_h7(TyH); 3624b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mul_4s_4s_s0(TyS); 3625b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mul_4s_4s_s3(TyS); 3626b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mul_2s_2s_s0(TyS); 3627b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mul_2s_2s_s3(TyS); 3628b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mul_8h_8h_h1(TyH); 3629b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mul_8h_8h_h5(TyH); 3630b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mul_4h_4h_h2(TyH); 3631b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mul_4h_4h_h7(TyH); 3632eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3633eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // mla 4s,2s,8h,4h,16b,8b 3634eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // mls 4s,2s,8h,4h,16b,8b 3635eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // mul 4s,2s,8h,4h,16b,8b 3636b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mla_4s_4s_4s(TyS); 3637b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mla_2s_2s_2s(TyS); 3638b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mla_8h_8h_8h(TyH); 3639b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mla_4h_4h_4h(TyH); 3640b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mla_16b_16b_16b(TyB); 3641b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mla_8b_8b_8b(TyB); 3642b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mls_4s_4s_4s(TyS); 3643b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mls_2s_2s_2s(TyS); 3644b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mls_8h_8h_8h(TyH); 3645b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mls_4h_4h_4h(TyH); 3646b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mls_16b_16b_16b(TyB); 3647b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mls_8b_8b_8b(TyB); 3648b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mul_4s_4s_4s(TyS); 3649b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mul_2s_2s_2s(TyS); 3650b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mul_8h_8h_8h(TyH); 3651b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mul_4h_4h_4h(TyH); 3652b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mul_16b_16b_16b(TyB); 3653b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_mul_8b_8b_8b(TyB); 3654eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3655eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // Some of these movi and mvni cases are similar to orr and bic 3656eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // cases with immediates. Maybe they should be moved together. 3657eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // movi 16b,8b #imm8, LSL #0 3658b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_16b_0x9C_lsl0(TyB); 3659b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_8b_0x8B_lsl0(TyB); 3660eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3661eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // movi 8h,4h #imm8, LSL #0 or 8 3662eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // mvni 8h,4h #imm8, LSL #0 or 8 3663b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_8h_0x5A_lsl0(TyH); 3664b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_8h_0xA5_lsl8(TyH); 3665b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_4h_0x5A_lsl0(TyH); 3666b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_4h_0xA5_lsl8(TyH); 3667b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_8h_0x5A_lsl0(TyH); 3668b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_8h_0xA5_lsl8(TyH); 3669b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_4h_0x5A_lsl0(TyH); 3670b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_4h_0xA5_lsl8(TyH); 3671eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3672eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // movi 4s,2s #imm8, LSL #0, 8, 16, 24 3673eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // mvni 4s,2s #imm8, LSL #0, 8, 16, 24 3674b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_movi_4s_0x5A_lsl0(TyS); 3675b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_4s_0x6B_lsl8(TyS); 3676b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_4s_0x49_lsl16(TyS); 3677b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_4s_0x3D_lsl24(TyS); 3678b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_2s_0x5A_lsl0(TyS); 3679b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_2s_0x6B_lsl8(TyS); 3680b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_2s_0x49_lsl16(TyS); 3681b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_2s_0x3D_lsl24(TyS); 3682b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_4s_0x5A_lsl0(TyS); 3683b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_4s_0x6B_lsl8(TyS); 3684b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_4s_0x49_lsl16(TyS); 3685b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_4s_0x3D_lsl24(TyS); 3686b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_2s_0x5A_lsl0(TyS); 3687b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_2s_0x6B_lsl8(TyS); 3688b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_2s_0x49_lsl16(TyS); 3689b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_2s_0x3D_lsl24(TyS); 3690eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3691eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // movi 4s,2s #imm8, MSL #8 or 16 3692eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // mvni 4s,2s #imm8, MSL #8 or 16 3693b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_4s_0x6B_msl8(TyS); 3694b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_4s_0x94_msl16(TyS); 3695b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_2s_0x7A_msl8(TyS); 3696b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_2s_0xA5_msl16(TyS); 3697b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_4s_0x6B_msl8(TyS); 3698b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_4s_0x94_msl16(TyS); 3699b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_2s_0x7A_msl8(TyS); 3700b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_mvni_2s_0xA5_msl16(TyS); 3701eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3702eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // movi d, #imm64 3703eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // movi 2d, #imm64 3704b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_d_0xA5(TyD); 3705b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_movi_2d_0xB4(TyD); 3706eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3707eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // not 16b,8b 3708b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_not_16b_16b(TyB); 3709b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_not_8b_8b(TyB); 3710eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3711eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // pmul 16b,8b 3712b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_pmul_16b_16b_16b(TyB); 3713b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_pmul_8b_8b_8b(TyB); 3714eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3715eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // pmull{2} 8h_8b_8b,8h_16b_16b,1q_1d_1d,1q_2d_2d 3716b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_pmull_8h_8b_8b(TyB); 3717b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_pmull2_8h_16b_16b(TyB); 3718b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov //if (0) test_pmull_1q_1d_1d(TyD); 3719b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov //if (0) test_pmull_1q_2d_2d(TyD); 3720eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3721eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // rbit 16b,8b 3722eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // rev16 16b,8b 3723eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // rev32 16b,8b,8h,4h 3724eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // rev64 16b,8b,8h,4h,4s,2s 3725b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rbit_16b_16b(TyB); 3726b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rbit_8b_8b(TyB); 3727b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev16_16b_16b(TyB); 3728b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev16_8b_8b(TyB); 3729b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev32_16b_16b(TyB); 3730b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev32_8b_8b(TyB); 3731b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev32_8h_8h(TyH); 3732b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev32_4h_4h(TyH); 3733b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev64_16b_16b(TyB); 3734b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev64_8b_8b(TyB); 3735b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev64_8h_8h(TyH); 3736b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev64_4h_4h(TyH); 3737b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev64_4s_4s(TyS); 3738b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rev64_2s_2s(TyS); 3739eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3740eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // saba 16b,8b,8h,4h,4s,2s 3741eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uaba 16b,8b,8h,4h,4s,2s 3742b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saba_4s_4s_4s(TyS); 3743b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saba_2s_2s_2s(TyS); 3744b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saba_8h_8h_8h(TyH); 3745b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saba_4h_4h_4h(TyH); 3746b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saba_16b_16b_16b(TyB); 3747b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saba_8b_8b_8b(TyB); 3748b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaba_4s_4s_4s(TyS); 3749b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaba_2s_2s_2s(TyS); 3750b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaba_8h_8h_8h(TyH); 3751b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaba_4h_4h_4h(TyH); 3752b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaba_16b_16b_16b(TyB); 3753b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaba_8b_8b_8b(TyB); 3754eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3755eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sabal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 3756eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uabal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 3757b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabal_2d_2s_2s(TyS); 3758b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabal2_2d_4s_4s(TyS); 3759b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabal_4s_4h_4h(TyH); 3760b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabal2_4s_8h_8h(TyH); 3761b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabal_8h_8b_8b(TyB); 3762b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabal2_8h_16b_16b(TyB); 3763b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabal_2d_2s_2s(TyS); 3764b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabal2_2d_4s_4s(TyS); 3765b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabal_4s_4h_4h(TyH); 3766b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabal2_4s_8h_8h(TyH); 3767b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabal_8h_8b_8b(TyB); 3768b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabal2_8h_16b_16b(TyB); 3769eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3770eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sabd 16b,8b,8h,4h,4s,2s 3771eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uabd 16b,8b,8h,4h,4s,2s 3772b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabd_4s_4s_4s(TyS); 3773b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabd_2s_2s_2s(TyS); 3774b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabd_8h_8h_8h(TyH); 3775b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabd_4h_4h_4h(TyH); 3776b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabd_16b_16b_16b(TyB); 3777b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabd_8b_8b_8b(TyB); 3778b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabd_4s_4s_4s(TyS); 3779b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabd_2s_2s_2s(TyS); 3780b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabd_8h_8h_8h(TyH); 3781b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabd_4h_4h_4h(TyH); 3782b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabd_16b_16b_16b(TyB); 3783b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabd_8b_8b_8b(TyB); 3784eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3785eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sabdl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 3786eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uabdl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 3787b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabdl_2d_2s_2s(TyS); 3788b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabdl2_2d_4s_4s(TyS); 3789b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabdl_4s_4h_4h(TyH); 3790b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabdl2_4s_8h_8h(TyH); 3791b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabdl_8h_8b_8b(TyB); 3792b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sabdl2_8h_16b_16b(TyB); 3793b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabdl_2d_2s_2s(TyS); 3794b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabdl2_2d_4s_4s(TyS); 3795b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabdl_4s_4h_4h(TyH); 3796b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabdl2_4s_8h_8h(TyH); 3797b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabdl_8h_8b_8b(TyB); 3798b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uabdl2_8h_16b_16b(TyB); 3799eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3800eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sadalp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 3801eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uadalp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 3802b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sadalp_1d_2s(TyS); 3803b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sadalp_2d_4s(TyS); 3804b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sadalp_2s_4h(TyH); 3805b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sadalp_4s_8h(TyH); 3806b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sadalp_4h_8b(TyB); 3807b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sadalp_8h_16b(TyB); 3808b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uadalp_1d_2s(TyS); 3809b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uadalp_2d_4s(TyS); 3810b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uadalp_2s_4h(TyH); 3811b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uadalp_4s_8h(TyH); 3812b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uadalp_4h_8b(TyB); 3813b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uadalp_8h_16b(TyB); 3814eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3815eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // saddl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 3816eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uaddl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 3817eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ssubl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 3818eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // usubl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 3819b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddl_2d_2s_2s(TyS); 3820b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddl2_2d_4s_4s(TyS); 3821b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddl_4s_4h_4h(TyH); 3822b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddl2_4s_8h_8h(TyH); 3823b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddl_8h_8b_8b(TyB); 3824b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddl2_8h_16b_16b(TyB); 3825b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddl_2d_2s_2s(TyS); 3826b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddl2_2d_4s_4s(TyS); 3827b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddl_4s_4h_4h(TyH); 3828b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddl2_4s_8h_8h(TyH); 3829b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddl_8h_8b_8b(TyB); 3830b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddl2_8h_16b_16b(TyB); 3831b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubl_2d_2s_2s(TyS); 3832b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubl2_2d_4s_4s(TyS); 3833b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubl_4s_4h_4h(TyH); 3834b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubl2_4s_8h_8h(TyH); 3835b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubl_8h_8b_8b(TyB); 3836b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubl2_8h_16b_16b(TyB); 3837b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubl_2d_2s_2s(TyS); 3838b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubl2_2d_4s_4s(TyS); 3839b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubl_4s_4h_4h(TyH); 3840b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubl2_4s_8h_8h(TyH); 3841b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubl_8h_8b_8b(TyB); 3842b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubl2_8h_16b_16b(TyB); 3843eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3844eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // saddlp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 3845eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uaddlp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 3846b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlp_1d_2s(TyS); 3847b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlp_2d_4s(TyS); 3848b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlp_2s_4h(TyH); 3849b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlp_4s_8h(TyH); 3850b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlp_4h_8b(TyB); 3851b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlp_8h_16b(TyB); 3852b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlp_1d_2s(TyS); 3853b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlp_2d_4s(TyS); 3854b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlp_2s_4h(TyH); 3855b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlp_4s_8h(TyH); 3856b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlp_4h_8b(TyB); 3857b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlp_8h_16b(TyB); 3858eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3859eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // saddlv h_16b/8b, s_8h/4h, d_4s 3860eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uaddlv h_16b/8b, s_8h/4h, d_4s 3861b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlv_h_16b(TyB); 3862b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlv_h_8b(TyB); 3863b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlv_s_8h(TyH); 3864b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlv_s_4h(TyH); 3865b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddlv_d_4s(TyH); 3866b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlv_h_16b(TyB); 3867b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlv_h_8b(TyB); 3868b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlv_s_8h(TyH); 3869b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlv_s_4h(TyH); 3870b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddlv_d_4s(TyH); 3871eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3872eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // saddw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_4s/2s 3873eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uaddw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_4s/2s 3874eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ssubw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_4s/2s 3875eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // usubw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_4s/2s 3876b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddw2_8h_8h_16b(TyB); 3877b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddw_8h_8h_8b(TyB); 3878b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddw2_4s_4s_8h(TyH); 3879b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddw_4s_4s_4h(TyH); 3880b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddw2_2d_2d_4s(TyS); 3881b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_saddw_2d_2d_2s(TyS); 3882b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddw2_8h_8h_16b(TyB); 3883b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddw_8h_8h_8b(TyB); 3884b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddw2_4s_4s_8h(TyH); 3885b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddw_4s_4s_4h(TyH); 3886b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddw2_2d_2d_4s(TyS); 3887b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uaddw_2d_2d_2s(TyS); 3888b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubw2_8h_8h_16b(TyB); 3889b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubw_8h_8h_8b(TyB); 3890b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubw2_4s_4s_8h(TyH); 3891b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubw_4s_4s_4h(TyH); 3892b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubw2_2d_2d_4s(TyS); 3893b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssubw_2d_2d_2s(TyS); 3894b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubw2_8h_8h_16b(TyB); 3895b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubw_8h_8h_8b(TyB); 3896b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubw2_4s_4s_8h(TyH); 3897b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubw_4s_4s_4h(TyH); 3898b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubw2_2d_2d_4s(TyS); 3899b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usubw_2d_2d_2s(TyS); 3900eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3901eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // shadd 16b,8b,8h,4h,4s,2s 3902eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uhadd 16b,8b,8h,4h,4s,2s 3903eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // shsub 16b,8b,8h,4h,4s,2s 3904eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uhsub 16b,8b,8h,4h,4s,2s 3905b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shadd_4s_4s_4s(TyS); 3906b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shadd_2s_2s_2s(TyS); 3907b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shadd_8h_8h_8h(TyH); 3908b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shadd_4h_4h_4h(TyH); 3909b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shadd_16b_16b_16b(TyB); 3910b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shadd_8b_8b_8b(TyB); 3911b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhadd_4s_4s_4s(TyS); 3912b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhadd_2s_2s_2s(TyS); 3913b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhadd_8h_8h_8h(TyH); 3914b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhadd_4h_4h_4h(TyH); 3915b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhadd_16b_16b_16b(TyB); 3916b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhadd_8b_8b_8b(TyB); 3917b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shsub_4s_4s_4s(TyS); 3918b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shsub_2s_2s_2s(TyS); 3919b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shsub_8h_8h_8h(TyH); 3920b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shsub_4h_4h_4h(TyH); 3921b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shsub_16b_16b_16b(TyB); 3922b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shsub_8b_8b_8b(TyB); 3923b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhsub_4s_4s_4s(TyS); 3924b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhsub_2s_2s_2s(TyS); 3925b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhsub_8h_8h_8h(TyH); 3926b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhsub_4h_4h_4h(TyH); 3927b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhsub_16b_16b_16b(TyB); 3928b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uhsub_8b_8b_8b(TyB); 3929eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3930eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // shll{2} 8h_8b/16b_#8, 4s_4h/8h_#16, 2d_2s/4s_#32 3931b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shll_8h_8b_8(TyB); 3932b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shll2_8h_16b_8(TyB); 3933b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shll_4s_4h_16(TyH); 3934b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shll2_4s_8h_16(TyH); 3935b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shll_2d_2s_32(TyS); 3936b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shll2_2d_4s_32(TyS); 3937eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3938eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // shrn{2} 2s/4s_2d, 8h/4h_4s, 8b/16b_8h, #imm in 1 .. elem_bits 3939eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // rshrn{2} 2s/4s_2d, 8h/4h_4s, 8b/16b_8h, #imm in 1 .. elem_bits 3940c7a4cbba84a0645e6d9951b08dfaa62bd5e22960Dmitriy Ivanov if (1) test_shrn_2s_2d_1(TyD); 3941b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shrn_2s_2d_32(TyD); 3942c7a4cbba84a0645e6d9951b08dfaa62bd5e22960Dmitriy Ivanov if (1) test_shrn2_4s_2d_1(TyD); 3943b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shrn2_4s_2d_32(TyD); 3944c7a4cbba84a0645e6d9951b08dfaa62bd5e22960Dmitriy Ivanov if (1) test_shrn_4h_4s_1(TyS); 3945b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shrn_4h_4s_16(TyS); 3946c7a4cbba84a0645e6d9951b08dfaa62bd5e22960Dmitriy Ivanov if (1) test_shrn2_8h_4s_1(TyS); 3947b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shrn2_8h_4s_16(TyS); 3948c7a4cbba84a0645e6d9951b08dfaa62bd5e22960Dmitriy Ivanov if (1) test_shrn_8b_8h_1(TyH); 3949b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shrn_8b_8h_8(TyH); 3950c7a4cbba84a0645e6d9951b08dfaa62bd5e22960Dmitriy Ivanov if (1) test_shrn2_16b_8h_1(TyH); 3951b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shrn2_16b_8h_8(TyH); 3952b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn_2s_2d_1(TyD); 3953b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn_2s_2d_32(TyD); 3954b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn2_4s_2d_1(TyD); 3955b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn2_4s_2d_32(TyD); 3956b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn_4h_4s_1(TyS); 3957b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn_4h_4s_16(TyS); 3958b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn2_8h_4s_1(TyS); 3959b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn2_8h_4s_16(TyS); 3960b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn_8b_8h_1(TyH); 3961b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn_8b_8h_8(TyH); 3962b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn2_16b_8h_1(TyH); 3963b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_rshrn2_16b_8h_8(TyH); 3964eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3965eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sli d_#imm 3966eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sri d_#imm 3967b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_d_d_0(TyD); 3968b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_d_d_32(TyD); 3969b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_d_d_63(TyD); 3970b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_d_d_1(TyD); 3971b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_d_d_33(TyD); 3972b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_d_d_64(TyD); 3973eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 3974eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sli 2d,4s,2s,8h,4h,16b,8b _#imm 3975eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sri 2d,4s,2s,8h,4h,16b,8b _#imm 3976b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_2d_2d_0(TyD); 3977552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_2d_2d_32(TyD); 3978552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_2d_2d_63(TyD); 3979b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_4s_4s_0(TyS); 3980552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_4s_4s_16(TyS); 3981552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_4s_4s_31(TyS); 3982b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_2s_2s_0(TyS); 3983552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_2s_2s_16(TyS); 3984552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_2s_2s_31(TyS); 3985b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_8h_8h_0(TyH); 3986552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_8h_8h_8(TyH); 3987552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_8h_8h_15(TyH); 3988b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_4h_4h_0(TyH); 3989552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_4h_4h_8(TyH); 3990552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_4h_4h_15(TyH); 3991b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_16b_16b_0(TyB); 3992552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_16b_16b_3(TyB); 3993552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_16b_16b_7(TyB); 3994b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sli_8b_8b_0(TyB); 3995552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_8b_8b_3(TyB); 3996552733f1f1f517aecef091ee7df4794f33966a7dDmitriy Ivanov if (1) test_sli_8b_8b_7(TyB); 3997beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_2d_2d_1(TyD); 3998beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_2d_2d_33(TyD); 3999b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_2d_2d_64(TyD); 4000beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_4s_4s_1(TyS); 4001beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_4s_4s_17(TyS); 4002b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_4s_4s_32(TyS); 4003beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_2s_2s_1(TyS); 4004beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_2s_2s_17(TyS); 4005b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_2s_2s_32(TyS); 4006beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_8h_8h_1(TyH); 4007beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_8h_8h_8(TyH); 4008b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_8h_8h_16(TyH); 4009beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_4h_4h_1(TyH); 4010beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_4h_4h_8(TyH); 4011b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_4h_4h_16(TyH); 4012beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_16b_16b_1(TyB); 4013beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_16b_16b_4(TyB); 4014b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_16b_16b_8(TyB); 4015beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_8b_8b_1(TyB); 4016beceb42e1bb3a62da3d53a7c280dbfec16df0744Dmitriy Ivanov if (1) test_sri_8b_8b_4(TyB); 4017b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sri_8b_8b_8(TyB); 4018eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4019eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smax 4s,2s,8h,4h,16b,8b 4020eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umax 4s,2s,8h,4h,16b,8b 4021eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smin 4s,2s,8h,4h,16b,8b 4022eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umin 4s,2s,8h,4h,16b,8b 4023b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smax_4s_4s_4s(TyS); 4024b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smax_2s_2s_2s(TyS); 4025b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smax_8h_8h_8h(TyH); 4026b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smax_4h_4h_4h(TyH); 4027b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smax_16b_16b_16b(TyB); 4028b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smax_8b_8b_8b(TyB); 4029b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umax_4s_4s_4s(TyS); 4030b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umax_2s_2s_2s(TyS); 4031b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umax_8h_8h_8h(TyH); 4032b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umax_4h_4h_4h(TyH); 4033b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umax_16b_16b_16b(TyB); 4034b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umax_8b_8b_8b(TyB); 4035b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smin_4s_4s_4s(TyS); 4036b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smin_2s_2s_2s(TyS); 4037b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smin_8h_8h_8h(TyH); 4038b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smin_4h_4h_4h(TyH); 4039b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smin_16b_16b_16b(TyB); 4040b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smin_8b_8b_8b(TyB); 4041b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umin_4s_4s_4s(TyS); 4042b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umin_2s_2s_2s(TyS); 4043b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umin_8h_8h_8h(TyH); 4044b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umin_4h_4h_4h(TyH); 4045b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umin_16b_16b_16b(TyB); 4046b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umin_8b_8b_8b(TyB); 4047eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4048eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smaxp 4s,2s,8h,4h,16b,8b 4049eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umaxp 4s,2s,8h,4h,16b,8b 4050eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sminp 4s,2s,8h,4h,16b,8b 4051eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uminp 4s,2s,8h,4h,16b,8b 4052b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smaxp_4s_4s_4s(TyS); 4053b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smaxp_2s_2s_2s(TyS); 4054b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smaxp_8h_8h_8h(TyH); 4055b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smaxp_4h_4h_4h(TyH); 4056b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smaxp_16b_16b_16b(TyB); 4057b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smaxp_8b_8b_8b(TyB); 4058b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umaxp_4s_4s_4s(TyS); 4059b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umaxp_2s_2s_2s(TyS); 4060b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umaxp_8h_8h_8h(TyH); 4061b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umaxp_4h_4h_4h(TyH); 4062b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umaxp_16b_16b_16b(TyB); 4063b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umaxp_8b_8b_8b(TyB); 4064b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sminp_4s_4s_4s(TyS); 4065b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sminp_2s_2s_2s(TyS); 4066b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sminp_8h_8h_8h(TyH); 4067b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sminp_4h_4h_4h(TyH); 4068b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sminp_16b_16b_16b(TyB); 4069b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sminp_8b_8b_8b(TyB); 4070b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uminp_4s_4s_4s(TyS); 4071b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uminp_2s_2s_2s(TyS); 4072b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uminp_8h_8h_8h(TyH); 4073b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uminp_4h_4h_4h(TyH); 4074b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uminp_16b_16b_16b(TyB); 4075b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uminp_8b_8b_8b(TyB); 4076eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4077eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smaxv s_4s,h_8h,h_4h,b_16b,b_8b 4078eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umaxv s_4s,h_8h,h_4h,b_16b,b_8b 4079eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sminv s_4s,h_8h,h_4h,b_16b,b_8b 4080eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uminv s_4s,h_8h,h_4h,b_16b,b_8b 4081b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_SMAXV(); 4082b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_UMAXV(); 4083b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_SMINV(); 4084b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_UMINV(); 4085eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4086eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smlal{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 4087eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umlal{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 4088eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smlsl{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 4089eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umlsl{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 4090eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smull{2} 2d_2s/4s_s[]. 4s_4h/8h_h[] 4091eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umull{2} 2d_2s/4s_s[]. 4s_4h/8h_h[] 4092b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal_2d_2s_s0(TyS); 4093b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal_2d_2s_s3(TyS); 4094b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal2_2d_4s_s1(TyS); 4095b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal2_2d_4s_s2(TyS); 4096b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal_4s_4h_h0(TyH); 4097b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal_4s_4h_h7(TyH); 4098b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal2_4s_8h_h1(TyH); 4099b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal2_4s_8h_h4(TyH); 4100b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal_2d_2s_s0(TyS); 4101b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal_2d_2s_s3(TyS); 4102b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal2_2d_4s_s1(TyS); 4103b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal2_2d_4s_s2(TyS); 4104b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal_4s_4h_h0(TyH); 4105b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal_4s_4h_h7(TyH); 4106b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal2_4s_8h_h1(TyH); 4107b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal2_4s_8h_h4(TyH); 4108b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl_2d_2s_s0(TyS); 4109b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl_2d_2s_s3(TyS); 4110b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl2_2d_4s_s1(TyS); 4111b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl2_2d_4s_s2(TyS); 4112b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl_4s_4h_h0(TyH); 4113b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl_4s_4h_h7(TyH); 4114b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl2_4s_8h_h1(TyH); 4115b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl2_4s_8h_h4(TyH); 4116b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl_2d_2s_s0(TyS); 4117b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl_2d_2s_s3(TyS); 4118b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl2_2d_4s_s1(TyS); 4119b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl2_2d_4s_s2(TyS); 4120b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl_4s_4h_h0(TyH); 4121b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl_4s_4h_h7(TyH); 4122b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl2_4s_8h_h1(TyH); 4123b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl2_4s_8h_h4(TyH); 4124b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull_2d_2s_s0(TyS); 4125b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull_2d_2s_s3(TyS); 4126b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull2_2d_4s_s1(TyS); 4127b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull2_2d_4s_s2(TyS); 4128b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull_4s_4h_h0(TyH); 4129b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull_4s_4h_h7(TyH); 4130b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull2_4s_8h_h1(TyH); 4131b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull2_4s_8h_h4(TyH); 4132b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull_2d_2s_s0(TyS); 4133b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull_2d_2s_s3(TyS); 4134b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull2_2d_4s_s1(TyS); 4135b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull2_2d_4s_s2(TyS); 4136b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull_4s_4h_h0(TyH); 4137b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull_4s_4h_h7(TyH); 4138b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull2_4s_8h_h1(TyH); 4139b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull2_4s_8h_h4(TyH); 4140eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4141eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smlal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 4142eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umlal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 4143eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smlsl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 4144eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umlsl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 4145eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smull{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 4146eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umull{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 4147b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal_2d_2s_2s(TyS); 4148b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal2_2d_4s_4s(TyS); 4149b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal_4s_4h_4h(TyH); 4150b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal2_4s_8h_8h(TyH); 4151b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal_8h_8b_8b(TyB); 4152b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlal2_8h_16b_16b(TyB); 4153b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal_2d_2s_2s(TyS); 4154b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal2_2d_4s_4s(TyS); 4155b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal_4s_4h_4h(TyH); 4156b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal2_4s_8h_8h(TyH); 4157b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal_8h_8b_8b(TyB); 4158b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlal2_8h_16b_16b(TyB); 4159b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl_2d_2s_2s(TyS); 4160b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl2_2d_4s_4s(TyS); 4161b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl_4s_4h_4h(TyH); 4162b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl2_4s_8h_8h(TyH); 4163b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl_8h_8b_8b(TyB); 4164b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smlsl2_8h_16b_16b(TyB); 4165b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl_2d_2s_2s(TyS); 4166b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl2_2d_4s_4s(TyS); 4167b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl_4s_4h_4h(TyH); 4168b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl2_4s_8h_8h(TyH); 4169b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl_8h_8b_8b(TyB); 4170b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umlsl2_8h_16b_16b(TyB); 4171b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull_2d_2s_2s(TyS); 4172b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull2_2d_4s_4s(TyS); 4173b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull_4s_4h_4h(TyH); 4174b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull2_4s_8h_8h(TyH); 4175b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull_8h_8b_8b(TyB); 4176b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_smull2_8h_16b_16b(TyB); 41770a8046eb0993fb7e155b03cc5ef3323fca3467c0Dmitriy Ivanov if (1) test_umull_2d_2s_2s(TyS); 4178b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull2_2d_4s_4s(TyS); 41790a8046eb0993fb7e155b03cc5ef3323fca3467c0Dmitriy Ivanov if (1) test_umull_4s_4h_4h(TyH); 4180b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull2_4s_8h_8h(TyH); 41810a8046eb0993fb7e155b03cc5ef3323fca3467c0Dmitriy Ivanov if (1) test_umull_8h_8b_8b(TyB); 4182b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_umull2_8h_16b_16b(TyB); 4183eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4184eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // smov w_b[], w_h[], x_b[], x_h[], x_s[] 4185eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // umov w_b[], w_h[], w_s[], x_d[] 4186b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umov_x_d0(TyD); 4187b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umov_x_d1(TyD); 4188b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umov_w_s0(TyS); 4189b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umov_w_s3(TyS); 4190b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umov_w_h0(TyH); 4191b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umov_w_h7(TyH); 4192b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umov_w_b0(TyB); 4193b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_umov_w_b15(TyB); 4194b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_x_s0(TyS); 4195b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_x_s3(TyS); 4196b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_x_h0(TyH); 4197b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_x_h7(TyH); 4198b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_w_h0(TyH); 4199b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_w_h7(TyH); 4200b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_x_b0(TyB); 4201b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_x_b15(TyB); 4202b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_w_b0(TyB); 4203b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_smov_w_b15(TyB); 4204eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4205eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqabs d,s,h,b 4206eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqneg d,s,h,b 4207b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_d_d(TyD); 4208b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_s_s(TyS); 4209b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_h_h(TyH); 4210b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_b_b(TyB); 4211b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_d_d(TyD); 4212b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_s_s(TyS); 4213b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_h_h(TyH); 4214b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_b_b(TyB); 4215eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4216eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqabs 2d,4s,2s,8h,4h,16b,8b 4217eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqneg 2d,4s,2s,8h,4h,16b,8b 4218b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_2d_2d(TyD); 4219b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_4s_4s(TyS); 4220b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_2s_2s(TyS); 4221b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_8h_8h(TyH); 4222b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_4h_4h(TyH); 4223b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_16b_16b(TyB); 4224b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqabs_8b_8b(TyB); 4225b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_2d_2d(TyD); 4226b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_4s_4s(TyS); 4227b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_2s_2s(TyS); 4228b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_8h_8h(TyH); 4229b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_4h_4h(TyH); 4230b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_16b_16b(TyB); 4231b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqneg_8b_8b(TyB); 4232eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4233eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqadd d,s,h,b 4234eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqadd d,s,h,b 4235eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqsub d,s,h,b 4236eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqsub d,s,h,b 4237b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_d_d_d(TyD); 4238b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_s_s_s(TyS); 4239b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_h_h_h(TyH); 4240b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_b_b_b(TyB); 4241b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_d_d_d(TyD); 4242b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_s_s_s(TyS); 4243b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_h_h_h(TyH); 4244b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_b_b_b(TyB); 4245b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_d_d_d(TyD); 4246b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_s_s_s(TyS); 4247b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_h_h_h(TyH); 4248b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_b_b_b(TyB); 4249b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_d_d_d(TyD); 4250b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_s_s_s(TyS); 4251b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_h_h_h(TyH); 4252b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_b_b_b(TyB); 4253eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4254eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqadd 2d,4s,2s,8h,4h,16b,8b 4255eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqadd 2d,4s,2s,8h,4h,16b,8b 4256eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqsub 2d,4s,2s,8h,4h,16b,8b 4257eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqsub 2d,4s,2s,8h,4h,16b,8b 4258b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_2d_2d_2d(TyD); 4259b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_4s_4s_4s(TyS); 4260b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_2s_2s_2s(TyS); 4261b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_8h_8h_8h(TyH); 4262b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_4h_4h_4h(TyH); 4263b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_16b_16b_16b(TyB); 4264b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqadd_8b_8b_8b(TyB); 4265b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_2d_2d_2d(TyD); 4266b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_4s_4s_4s(TyS); 4267b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_2s_2s_2s(TyS); 4268b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_8h_8h_8h(TyH); 4269b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_4h_4h_4h(TyH); 4270b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_16b_16b_16b(TyB); 4271b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqadd_8b_8b_8b(TyB); 4272b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_2d_2d_2d(TyD); 4273b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_4s_4s_4s(TyS); 4274b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_2s_2s_2s(TyS); 4275b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_8h_8h_8h(TyH); 4276b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_4h_4h_4h(TyH); 4277b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_16b_16b_16b(TyB); 4278b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqsub_8b_8b_8b(TyB); 4279b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_2d_2d_2d(TyD); 4280b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_4s_4s_4s(TyS); 4281b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_2s_2s_2s(TyS); 4282b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_8h_8h_8h(TyH); 4283b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_4h_4h_4h(TyH); 4284b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_16b_16b_16b(TyB); 4285b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqsub_8b_8b_8b(TyB); 4286eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4287eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmlal d_s_s[], s_h_h[] 4288eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmlsl d_s_s[], s_h_h[] 4289eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmull d_s_s[], s_h_h[] 4290b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_d_s_s0(TyS); 4291b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_d_s_s3(TyS); 4292b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_s_h_h1(TyH); 4293b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_s_h_h5(TyH); 4294b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_d_s_s0(TyS); 4295b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_d_s_s3(TyS); 4296b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_s_h_h1(TyH); 4297b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_s_h_h5(TyH); 4298b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_d_s_s0(TyS); 4299b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_d_s_s3(TyS); 4300b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_s_h_h1(TyH); 4301b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_s_h_h5(TyH); 4302eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4303eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmlal{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 4304eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmlsl{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 4305eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmull{2} 2d_2s/4s_s[], 4s_4h/2h_h[] 4306b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_2d_2s_s0(TyS); 4307b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_2d_2s_s3(TyS); 4308b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal2_2d_4s_s1(TyS); 4309b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal2_2d_4s_s2(TyS); 4310b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_4s_4h_h0(TyH); 4311b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_4s_4h_h7(TyH); 4312b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal2_4s_8h_h1(TyH); 4313b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal2_4s_8h_h4(TyH); 4314b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_2d_2s_s0(TyS); 4315b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_2d_2s_s3(TyS); 4316b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl2_2d_4s_s1(TyS); 4317b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl2_2d_4s_s2(TyS); 4318b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_4s_4h_h0(TyH); 4319b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_4s_4h_h7(TyH); 4320b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl2_4s_8h_h1(TyH); 4321b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl2_4s_8h_h4(TyH); 4322b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_2d_2s_s0(TyS); 4323b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_2d_2s_s3(TyS); 4324b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull2_2d_4s_s1(TyS); 4325b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull2_2d_4s_s2(TyS); 4326b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_4s_4h_h0(TyH); 4327b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_4s_4h_h7(TyH); 4328b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull2_4s_8h_h1(TyH); 4329b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull2_4s_8h_h4(TyH); 4330eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4331eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmlal d_s_s, s_h_h 4332eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmlsl d_s_s, s_h_h 4333eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmull d_s_s, s_h_h 4334b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_d_s_s(TyS); 4335b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_s_h_h(TyH); 4336b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_d_s_s(TyS); 4337b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_s_h_h(TyH); 4338b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_d_s_s(TyS); 4339b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_s_h_h(TyH); 4340eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4341eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmlal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h) 4342eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmlsl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h) 4343eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmull{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h) 4344b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_2d_2s_2s(TyS); 4345b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal2_2d_4s_4s(TyS); 4346b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal_4s_4h_4h(TyH); 4347b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlal2_4s_8h_8h(TyH); 4348b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_2d_2s_2s(TyS); 4349b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl2_2d_4s_4s(TyS); 4350b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl_4s_4h_4h(TyH); 4351b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmlsl2_4s_8h_8h(TyH); 4352b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_2d_2s_2s(TyS); 4353b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull2_2d_4s_4s(TyS); 4354b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull_4s_4h_4h(TyH); 4355b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmull2_4s_8h_8h(TyH); 4356eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4357eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmulh s_s_s[], h_h_h[] 4358eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrdmulh s_s_s[], h_h_h[] 4359b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_s_s_s1(TyS); 4360b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_s_s_s3(TyS); 4361b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_h_h_h2(TyH); 4362b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_h_h_h7(TyH); 4363b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_s_s_s1(TyS); 4364b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_s_s_s3(TyS); 4365b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_h_h_h2(TyH); 4366b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_h_h_h7(TyH); 4367eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4368eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmulh 4s_4s_s[], 2s_2s_s[], 8h_8h_h[], 4h_4h_h[] 4369eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrdmulh 4s_4s_s[], 2s_2s_s[], 8h_8h_h[], 4h_4h_h[] 4370b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_4s_4s_s1(TyS); 4371b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_4s_4s_s3(TyS); 4372b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_2s_2s_s1(TyS); 4373b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_2s_2s_s3(TyS); 4374b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_8h_8h_h2(TyH); 4375b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_8h_8h_h7(TyH); 4376b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_4h_4h_h2(TyH); 4377b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_4h_4h_h7(TyH); 4378b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_4s_4s_s1(TyS); 4379b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_4s_4s_s3(TyS); 4380b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_2s_2s_s1(TyS); 4381b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_2s_2s_s3(TyS); 4382b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_8h_8h_h2(TyH); 4383b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_8h_8h_h7(TyH); 4384b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_4h_4h_h2(TyH); 4385b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_4h_4h_h7(TyH); 4386eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4387eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmulh h,s 4388eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrdmulh h,s 4389b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_s_s_s(TyS); 4390b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_h_h_h(TyH); 4391b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_s_s_s(TyS); 4392b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_h_h_h(TyH); 4393eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4394eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqdmulh 4s,2s,8h,4h 4395eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrdmulh 4s,2s,8h,4h 4396b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_4s_4s_4s(TyS); 4397b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_2s_2s_2s(TyS); 4398b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_8h_8h_8h(TyH); 4399b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqdmulh_4h_4h_4h(TyH); 4400b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_4s_4s_4s(TyS); 4401b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_2s_2s_2s(TyS); 4402b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_8h_8h_8h(TyH); 4403b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrdmulh_4h_4h_4h(TyH); 4404eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4405eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshl (reg) d,s,h,b 4406eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqshl (reg) d,s,h,b 4407eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrshl (reg) d,s,h,b 4408eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqrshl (reg) d,s,h,b 4409b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_d_d_d(TyD); 4410b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_s_s_s(TyS); 4411b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_h_h_h(TyH); 4412b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_b_b_b(TyB); 4413b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_d_d_d(TyD); 4414b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_s_s_s(TyS); 4415b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_h_h_h(TyH); 4416b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_b_b_b(TyB); 4417b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_d_d_d(TyD); 4418b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_s_s_s(TyS); 4419b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_h_h_h(TyH); 4420b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_b_b_b(TyB); 4421b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_d_d_d(TyD); 4422b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_s_s_s(TyS); 4423b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_h_h_h(TyH); 4424b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_b_b_b(TyB); 4425eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4426eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshl (reg) 2d,4s,2s,8h,4h,16b,8b 4427eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqshl (reg) 2d,4s,2s,8h,4h,16b,8b 4428eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrshl (reg) 2d,4s,2s,8h,4h,16b,8b 4429eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqrshl (reg) 2d,4s,2s,8h,4h,16b,8b 4430b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_2d_2d_2d(TyD); 4431b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_4s_4s_4s(TyS); 4432b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_2s_2s_2s(TyS); 4433b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_8h_8h_8h(TyH); 4434b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_4h_4h_4h(TyH); 4435b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_16b_16b_16b(TyB); 4436b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_8b_8b_8b(TyB); 4437b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_2d_2d_2d(TyD); 4438b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_4s_4s_4s(TyS); 4439b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_2s_2s_2s(TyS); 4440b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_8h_8h_8h(TyH); 4441b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_4h_4h_4h(TyH); 4442b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_16b_16b_16b(TyB); 4443b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_8b_8b_8b(TyB); 4444b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_2d_2d_2d(TyD); 4445b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_4s_4s_4s(TyS); 4446b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_2s_2s_2s(TyS); 4447b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_8h_8h_8h(TyH); 4448b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_4h_4h_4h(TyH); 4449b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_16b_16b_16b(TyB); 4450b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshl_8b_8b_8b(TyB); 4451b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_2d_2d_2d(TyD); 4452b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_4s_4s_4s(TyS); 4453b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_2s_2s_2s(TyS); 4454b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_8h_8h_8h(TyH); 4455b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_4h_4h_4h(TyH); 4456b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_16b_16b_16b(TyB); 4457b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshl_8b_8b_8b(TyB); 4458eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4459eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrshrn s_d, h_s, b_h #imm 4460eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqrshrn s_d, h_s, b_h #imm 4461eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshrn s_d, h_s, b_h #imm 4462eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqshrn s_d, h_s, b_h #imm 4463eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrshrun s_d, h_s, b_h #imm 4464eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshrun s_d, h_s, b_h #imm 4465b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_s_d_1(TyD); 4466b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_s_d_17(TyD); 4467b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_s_d_32(TyD); 4468b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_h_s_1(TyS); 4469b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_h_s_9(TyS); 4470b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_h_s_16(TyS); 4471b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_b_h_1(TyH); 4472b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_b_h_4(TyH); 4473b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_b_h_8(TyH); 4474b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_s_d_1(TyD); 4475b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_s_d_17(TyD); 4476b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_s_d_32(TyD); 4477b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_h_s_1(TyS); 4478b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_h_s_9(TyS); 4479b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_h_s_16(TyS); 4480b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_b_h_1(TyH); 4481b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_b_h_4(TyH); 4482b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_b_h_8(TyH); 4483b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_s_d_1(TyD); 4484b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_s_d_17(TyD); 4485b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_s_d_32(TyD); 4486b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_h_s_1(TyS); 4487b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_h_s_9(TyS); 4488b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_h_s_16(TyS); 4489b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_b_h_1(TyH); 4490b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_b_h_4(TyH); 4491b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_b_h_8(TyH); 4492b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_s_d_1(TyD); 4493b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_s_d_17(TyD); 4494b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_s_d_32(TyD); 4495b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_h_s_1(TyS); 4496b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_h_s_9(TyS); 4497b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_h_s_16(TyS); 4498b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_b_h_1(TyH); 4499b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_b_h_4(TyH); 4500b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_b_h_8(TyH); 4501b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_s_d_1(TyD); 4502b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_s_d_17(TyD); 4503b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_s_d_32(TyD); 4504b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_h_s_1(TyS); 4505b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_h_s_9(TyS); 4506b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_h_s_16(TyS); 4507b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_b_h_1(TyH); 4508b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_b_h_4(TyH); 4509b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_b_h_8(TyH); 4510b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_s_d_1(TyD); 4511b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_s_d_17(TyD); 4512b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_s_d_32(TyD); 4513b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_h_s_1(TyS); 4514b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_h_s_9(TyS); 4515b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_h_s_16(TyS); 4516b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_b_h_1(TyH); 4517b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_b_h_4(TyH); 4518b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_b_h_8(TyH); 4519eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4520eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 4521eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqrshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 4522eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 4523eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 4524eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqrshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 4525eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 4526b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_2s_2d_1(TyD); 4527b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_2s_2d_17(TyD); 4528b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_2s_2d_32(TyD); 4529b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn2_4s_2d_1(TyD); 4530b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn2_4s_2d_17(TyD); 4531b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn2_4s_2d_32(TyD); 4532b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_4h_4s_1(TyS); 4533b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_4h_4s_9(TyS); 4534b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_4h_4s_16(TyS); 4535b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn2_8h_4s_1(TyS); 4536b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn2_8h_4s_9(TyS); 4537b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn2_8h_4s_16(TyS); 4538b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_8b_8h_1(TyH); 4539b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_8b_8h_4(TyH); 4540b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn_8b_8h_8(TyH); 4541b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn2_16b_8h_1(TyH); 4542b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn2_16b_8h_4(TyH); 4543b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrn2_16b_8h_8(TyH); 4544b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_2s_2d_1(TyD); 4545b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_2s_2d_17(TyD); 4546b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_2s_2d_32(TyD); 4547b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn2_4s_2d_1(TyD); 4548b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn2_4s_2d_17(TyD); 4549b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn2_4s_2d_32(TyD); 4550b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_4h_4s_1(TyS); 4551b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_4h_4s_9(TyS); 4552b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_4h_4s_16(TyS); 4553b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn2_8h_4s_1(TyS); 4554b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn2_8h_4s_9(TyS); 4555b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn2_8h_4s_16(TyS); 4556b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_8b_8h_1(TyH); 4557b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_8b_8h_4(TyH); 4558b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn_8b_8h_8(TyH); 4559b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn2_16b_8h_1(TyH); 4560b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn2_16b_8h_4(TyH); 4561b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqrshrn2_16b_8h_8(TyH); 4562b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_2s_2d_1(TyD); 4563b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_2s_2d_17(TyD); 4564b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_2s_2d_32(TyD); 4565b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn2_4s_2d_1(TyD); 4566b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn2_4s_2d_17(TyD); 4567b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn2_4s_2d_32(TyD); 4568b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_4h_4s_1(TyS); 4569b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_4h_4s_9(TyS); 4570b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_4h_4s_16(TyS); 4571b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn2_8h_4s_1(TyS); 4572b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn2_8h_4s_9(TyS); 4573b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn2_8h_4s_16(TyS); 4574b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_8b_8h_1(TyH); 4575b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_8b_8h_4(TyH); 4576b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn_8b_8h_8(TyH); 4577b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn2_16b_8h_1(TyH); 4578b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn2_16b_8h_4(TyH); 4579b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrn2_16b_8h_8(TyH); 4580b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_2s_2d_1(TyD); 4581b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_2s_2d_17(TyD); 4582b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_2s_2d_32(TyD); 4583b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn2_4s_2d_1(TyD); 4584b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn2_4s_2d_17(TyD); 4585b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn2_4s_2d_32(TyD); 4586b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_4h_4s_1(TyS); 4587b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_4h_4s_9(TyS); 4588b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_4h_4s_16(TyS); 4589b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn2_8h_4s_1(TyS); 4590b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn2_8h_4s_9(TyS); 4591b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn2_8h_4s_16(TyS); 4592b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_8b_8h_1(TyH); 4593b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_8b_8h_4(TyH); 4594b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn_8b_8h_8(TyH); 4595b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn2_16b_8h_1(TyH); 4596b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn2_16b_8h_4(TyH); 4597b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshrn2_16b_8h_8(TyH); 4598b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_2s_2d_1(TyD); 4599b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_2s_2d_17(TyD); 4600b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_2s_2d_32(TyD); 4601b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun2_4s_2d_1(TyD); 4602b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun2_4s_2d_17(TyD); 4603b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun2_4s_2d_32(TyD); 4604b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_4h_4s_1(TyS); 4605b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_4h_4s_9(TyS); 4606b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_4h_4s_16(TyS); 4607b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun2_8h_4s_1(TyS); 4608b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun2_8h_4s_9(TyS); 4609b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun2_8h_4s_16(TyS); 4610b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_8b_8h_1(TyH); 4611b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_8b_8h_4(TyH); 4612b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun_8b_8h_8(TyH); 4613b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun2_16b_8h_1(TyH); 4614b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun2_16b_8h_4(TyH); 4615b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqrshrun2_16b_8h_8(TyH); 4616b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_2s_2d_1(TyD); 4617b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_2s_2d_17(TyD); 4618b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_2s_2d_32(TyD); 4619b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun2_4s_2d_1(TyD); 4620b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun2_4s_2d_17(TyD); 4621b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun2_4s_2d_32(TyD); 4622b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_4h_4s_1(TyS); 4623b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_4h_4s_9(TyS); 4624b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_4h_4s_16(TyS); 4625b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun2_8h_4s_1(TyS); 4626b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun2_8h_4s_9(TyS); 4627b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun2_8h_4s_16(TyS); 4628b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_8b_8h_1(TyH); 4629b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_8b_8h_4(TyH); 4630b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun_8b_8h_8(TyH); 4631b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun2_16b_8h_1(TyH); 4632b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun2_16b_8h_4(TyH); 4633b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshrun2_16b_8h_8(TyH); 4634eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4635eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshl (imm) d,s,h,b _#imm 4636eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqshl (imm) d,s,h,b _#imm 4637eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshlu (imm) d,s,h,b _#imm 4638b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_d_d_0(TyD); 4639b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_d_d_32(TyD); 4640b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_d_d_63(TyD); 4641b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_s_s_0(TyS); 4642b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_s_s_16(TyS); 4643b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_s_s_31(TyS); 4644b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_h_h_0(TyH); 4645b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_h_h_8(TyH); 4646b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_h_h_15(TyH); 4647b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_b_b_0(TyB); 4648b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_b_b_4(TyB); 4649b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_b_b_7(TyB); 4650b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_d_d_0(TyD); 4651b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_d_d_32(TyD); 4652b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_d_d_63(TyD); 4653b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_s_s_0(TyS); 4654b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_s_s_16(TyS); 4655b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_s_s_31(TyS); 4656b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_h_h_0(TyH); 4657b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_h_h_8(TyH); 4658b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_h_h_15(TyH); 4659b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_b_b_0(TyB); 4660b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_b_b_4(TyB); 4661b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_b_b_7(TyB); 4662b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_d_d_0(TyD); 4663b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_d_d_32(TyD); 4664b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_d_d_63(TyD); 4665b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_s_s_0(TyS); 4666b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_s_s_16(TyS); 4667b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_s_s_31(TyS); 4668b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_h_h_0(TyH); 4669b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_h_h_8(TyH); 4670b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_h_h_15(TyH); 4671b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_b_b_0(TyB); 4672b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_b_b_4(TyB); 4673b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_b_b_7(TyB); 4674eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4675eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshl (imm) 2d,4s,2s,8h,4h,16b,8b _#imm 4676eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqshl (imm) 2d,4s,2s,8h,4h,16b,8b _#imm 4677eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqshlu (imm) 2d,4s,2s,8h,4h,16b,8b _#imm 4678b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_2d_2d_0(TyD); 4679b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_2d_2d_32(TyD); 4680b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_2d_2d_63(TyD); 4681b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_4s_4s_0(TyS); 4682b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_4s_4s_16(TyS); 4683b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_4s_4s_31(TyS); 4684b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_2s_2s_0(TyS); 4685b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_2s_2s_16(TyS); 4686b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_2s_2s_31(TyS); 4687b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_8h_8h_0(TyH); 4688b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_8h_8h_8(TyH); 4689b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_8h_8h_15(TyH); 4690b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_4h_4h_0(TyH); 4691b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_4h_4h_8(TyH); 4692b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_4h_4h_15(TyH); 4693b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_16b_16b_0(TyB); 4694b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_16b_16b_3(TyB); 4695b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_16b_16b_7(TyB); 4696b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_8b_8b_0(TyB); 4697b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_8b_8b_3(TyB); 4698b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshl_8b_8b_7(TyB); 4699b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_2d_2d_0(TyD); 4700b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_2d_2d_32(TyD); 4701b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_2d_2d_63(TyD); 4702b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_4s_4s_0(TyS); 4703b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_4s_4s_16(TyS); 4704b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_4s_4s_31(TyS); 4705b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_2s_2s_0(TyS); 4706b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_2s_2s_16(TyS); 4707b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_2s_2s_31(TyS); 4708b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_8h_8h_0(TyH); 4709b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_8h_8h_8(TyH); 4710b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_8h_8h_15(TyH); 4711b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_4h_4h_0(TyH); 4712b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_4h_4h_8(TyH); 4713b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_4h_4h_15(TyH); 4714b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_16b_16b_0(TyB); 4715b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_16b_16b_3(TyB); 4716b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_16b_16b_7(TyB); 4717b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_8b_8b_0(TyB); 4718b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_8b_8b_3(TyB); 4719b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqshl_8b_8b_7(TyB); 4720b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_2d_2d_0(TyD); 4721b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_2d_2d_32(TyD); 4722b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_2d_2d_63(TyD); 4723b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_4s_4s_0(TyS); 4724b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_4s_4s_16(TyS); 4725b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_4s_4s_31(TyS); 4726b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_2s_2s_0(TyS); 4727b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_2s_2s_16(TyS); 4728b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_2s_2s_31(TyS); 4729b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_8h_8h_0(TyH); 4730b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_8h_8h_8(TyH); 4731b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_8h_8h_15(TyH); 4732b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_4h_4h_0(TyH); 4733b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_4h_4h_8(TyH); 4734b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_4h_4h_15(TyH); 4735b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_16b_16b_0(TyB); 4736b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_16b_16b_3(TyB); 4737b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_16b_16b_7(TyB); 4738b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_8b_8b_0(TyB); 4739b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_8b_8b_3(TyB); 4740b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqshlu_8b_8b_7(TyB); 4741eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4742eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqxtn s_d,h_s,b_h 4743eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqxtn s_d,h_s,b_h 4744eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqxtun s_d,h_s,b_h 4745b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtn_s_d(TyD); 4746b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtn_h_s(TyS); 4747b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtn_b_h(TyH); 4748b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqxtn_s_d(TyD); 4749b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqxtn_h_s(TyS); 4750b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqxtn_b_h(TyH); 4751b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtun_s_d(TyD); 4752b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtun_h_s(TyS); 4753b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtun_b_h(TyH); 4754eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4755eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqxtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 4756eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uqxtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 4757eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sqxtun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 4758b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtn_2s_2d(TyD); 4759b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtn2_4s_2d(TyD); 4760b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtn_4h_4s(TyS); 4761b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtn2_8h_4s(TyS); 4762b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtn_8b_8h(TyH); 4763b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtn2_16b_8h(TyH); 4764b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqxtn_2s_2d(TyD); 4765b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqxtn2_4s_2d(TyD); 4766b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqxtn_4h_4s(TyS); 4767b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqxtn2_8h_4s(TyS); 4768b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqxtn_8b_8h(TyH); 4769b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uqxtn2_16b_8h(TyH); 4770b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtun_2s_2d(TyD); 4771b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtun2_4s_2d(TyD); 4772b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtun_4h_4s(TyS); 4773b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtun2_8h_4s(TyS); 4774b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtun_8b_8h(TyH); 4775b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sqxtun2_16b_8h(TyH); 4776eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4777eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // srhadd 4s,2s,8h,4h,16b,8b 4778eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // urhadd 4s,2s,8h,4h,16b,8b 4779b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srhadd_4s_4s_4s(TyS); 4780b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srhadd_2s_2s_2s(TyS); 4781b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srhadd_8h_8h_8h(TyH); 4782b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srhadd_4h_4h_4h(TyH); 4783b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srhadd_16b_16b_16b(TyB); 4784b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srhadd_8b_8b_8b(TyB); 4785b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urhadd_4s_4s_4s(TyS); 4786b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urhadd_2s_2s_2s(TyS); 4787b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urhadd_8h_8h_8h(TyH); 4788b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urhadd_4h_4h_4h(TyH); 4789b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urhadd_16b_16b_16b(TyB); 4790b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urhadd_8b_8b_8b(TyB); 4791eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4792eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sshl (reg) d 4793eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ushl (reg) d 4794b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshl_d_d_d(TyD); 4795b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushl_d_d_d(TyD); 4796eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4797eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sshl (reg) 2d,4s,2s,8h,4h,16b,8b 4798eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ushl (reg) 2d,4s,2s,8h,4h,16b,8b 4799b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshl_2d_2d_2d(TyD); 4800b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshl_4s_4s_4s(TyS); 4801b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshl_2s_2s_2s(TyS); 4802b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshl_8h_8h_8h(TyH); 4803b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshl_4h_4h_4h(TyH); 4804b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshl_16b_16b_16b(TyB); 4805b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshl_8b_8b_8b(TyB); 4806b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushl_2d_2d_2d(TyD); 4807b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushl_4s_4s_4s(TyS); 4808b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushl_2s_2s_2s(TyS); 4809b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushl_8h_8h_8h(TyH); 4810b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushl_4h_4h_4h(TyH); 4811b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushl_16b_16b_16b(TyB); 4812b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushl_8b_8b_8b(TyB); 4813eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4814eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // shl (imm) d 4815eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sshr (imm) d 4816eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ushr (imm) d 4817b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_d_d_0(TyD); 4818b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_d_d_32(TyD); 4819b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_d_d_63(TyD); 4820b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_d_d_1(TyD); 4821b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_d_d_32(TyD); 4822b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_d_d_64(TyD); 4823e0d397ea0d66e3d8619e2bb6c122ec3c5f77751dDmitriy Ivanov if (1) test_ushr_d_d_1(TyD); 4824e0d397ea0d66e3d8619e2bb6c122ec3c5f77751dDmitriy Ivanov if (1) test_ushr_d_d_32(TyD); 4825b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushr_d_d_64(TyD); 4826eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4827eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // shl (imm) 16b,8b,8h,4h,4s,2s,2d 4828eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sshr (imm) 2d,4s,2s,8h,4h,16b,8b 4829eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ushr (imm) 2d,4s,2s,8h,4h,16b,8b 4830b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shl_2d_2d_0(TyD); 4831b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_2d_2d_13(TyD); 4832b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_2d_2d_63(TyD); 4833b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shl_4s_4s_0(TyS); 4834b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_4s_4s_13(TyS); 4835b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_4s_4s_31(TyS); 4836b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shl_2s_2s_0(TyS); 4837b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_2s_2s_13(TyS); 4838b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_2s_2s_31(TyS); 4839b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shl_8h_8h_0(TyH); 4840b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_8h_8h_13(TyH); 4841b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_8h_8h_15(TyH); 4842b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shl_4h_4h_0(TyH); 4843b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_4h_4h_13(TyH); 4844b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_4h_4h_15(TyH); 4845b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shl_16b_16b_0(TyB); 4846b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_16b_16b_7(TyB); 4847b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_shl_8b_8b_0(TyB); 4848b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_shl_8b_8b_7(TyB); 4849b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_2d_2d_1(TyD); 4850b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_2d_2d_13(TyD); 4851b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_2d_2d_64(TyD); 4852b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_4s_4s_1(TyS); 4853b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_4s_4s_13(TyS); 4854b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_4s_4s_32(TyS); 4855b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_2s_2s_1(TyS); 4856b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_2s_2s_13(TyS); 4857b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_2s_2s_32(TyS); 4858b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_8h_8h_1(TyH); 4859b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_8h_8h_13(TyH); 4860b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_8h_8h_16(TyH); 4861b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_4h_4h_1(TyH); 4862b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_4h_4h_13(TyH); 4863b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_4h_4h_16(TyH); 4864b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_16b_16b_1(TyB); 4865b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_16b_16b_8(TyB); 4866b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshr_8b_8b_1(TyB); 4867b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_sshr_8b_8b_8(TyB); 4868b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_2d_2d_1(TyD); 4869b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_2d_2d_13(TyD); 4870b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushr_2d_2d_64(TyD); 4871b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_4s_4s_1(TyS); 4872b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_4s_4s_13(TyS); 4873b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushr_4s_4s_32(TyS); 4874b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_2s_2s_1(TyS); 4875b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_2s_2s_13(TyS); 4876b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushr_2s_2s_32(TyS); 4877b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_8h_8h_1(TyH); 4878b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_8h_8h_13(TyH); 4879b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushr_8h_8h_16(TyH); 4880b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_4h_4h_1(TyH); 4881b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_4h_4h_13(TyH); 4882b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushr_4h_4h_16(TyH); 4883b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_16b_16b_1(TyB); 4884b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushr_16b_16b_8(TyB); 4885b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushr_8b_8b_1(TyB); 4886b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ushr_8b_8b_8(TyB); 4887eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4888eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ssra (imm) d 4889eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // usra (imm) d 4890b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_d_d_1(TyD); 4891b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_d_d_32(TyD); 4892b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_d_d_64(TyD); 4893b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_d_d_1(TyD); 4894b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_d_d_32(TyD); 4895b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_d_d_64(TyD); 4896eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4897eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ssra (imm) 2d,4s,2s,8h,4h,16b,8b 4898eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // usra (imm) 2d,4s,2s,8h,4h,16b,8b 4899b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_2d_2d_1(TyD); 4900b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_2d_2d_32(TyD); 4901b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_2d_2d_64(TyD); 4902b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_4s_4s_1(TyS); 4903b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_4s_4s_16(TyS); 4904b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_4s_4s_32(TyS); 4905b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_2s_2s_1(TyS); 4906b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_2s_2s_16(TyS); 4907b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_2s_2s_32(TyS); 4908b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_8h_8h_1(TyH); 4909b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_8h_8h_8(TyH); 4910b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_8h_8h_16(TyH); 4911b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_4h_4h_1(TyH); 4912b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_4h_4h_8(TyH); 4913b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_4h_4h_16(TyH); 4914b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_16b_16b_1(TyB); 4915b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_16b_16b_3(TyB); 4916b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_16b_16b_8(TyB); 4917b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_8b_8b_1(TyB); 4918b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_8b_8b_3(TyB); 4919b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ssra_8b_8b_8(TyB); 4920b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_2d_2d_1(TyD); 4921b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_2d_2d_32(TyD); 4922b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_2d_2d_64(TyD); 4923b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_4s_4s_1(TyS); 4924b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_4s_4s_16(TyS); 4925b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_4s_4s_32(TyS); 4926b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_2s_2s_1(TyS); 4927b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_2s_2s_16(TyS); 4928b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_2s_2s_32(TyS); 4929b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_8h_8h_1(TyH); 4930b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_8h_8h_8(TyH); 4931b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_8h_8h_16(TyH); 4932b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_4h_4h_1(TyH); 4933b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_4h_4h_8(TyH); 4934b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_4h_4h_16(TyH); 4935b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_16b_16b_1(TyB); 4936b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_16b_16b_3(TyB); 4937b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_16b_16b_8(TyB); 4938b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_8b_8b_1(TyB); 4939b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_8b_8b_3(TyB); 4940b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usra_8b_8b_8(TyB); 4941eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4942eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // srshl (reg) d 4943eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // urshl (reg) d 4944b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshl_d_d_d(TyD); 4945b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshl_d_d_d(TyD); 4946eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4947eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // srshl (reg) 2d,4s,2s,8h,4h,16b,8b 4948eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // urshl (reg) 2d,4s,2s,8h,4h,16b,8b 4949b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshl_2d_2d_2d(TyD); 4950b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshl_4s_4s_4s(TyS); 4951b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshl_2s_2s_2s(TyS); 4952b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshl_8h_8h_8h(TyH); 4953b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshl_4h_4h_4h(TyH); 4954b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshl_16b_16b_16b(TyB); 4955b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshl_8b_8b_8b(TyB); 4956b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshl_2d_2d_2d(TyD); 4957b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshl_4s_4s_4s(TyS); 4958b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshl_2s_2s_2s(TyS); 4959b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshl_8h_8h_8h(TyH); 4960b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshl_4h_4h_4h(TyH); 4961b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshl_16b_16b_16b(TyB); 4962b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshl_8b_8b_8b(TyB); 4963eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4964eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // srshr (imm) d 4965eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // urshr (imm) d 4966b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_d_d_1(TyD); 4967b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_d_d_32(TyD); 4968b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_d_d_64(TyD); 4969b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_d_d_1(TyD); 4970b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_d_d_32(TyD); 4971b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_d_d_64(TyD); 4972eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 4973eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // srshr (imm) 2d,4s,2s,8h,4h,16b,8b 4974eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // urshr (imm) 2d,4s,2s,8h,4h,16b,8b 4975b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_2d_2d_1(TyD); 4976b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_2d_2d_32(TyD); 4977b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_2d_2d_64(TyD); 4978b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_4s_4s_1(TyS); 4979b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_4s_4s_16(TyS); 4980b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_4s_4s_32(TyS); 4981b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_2s_2s_1(TyS); 4982b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_2s_2s_16(TyS); 4983b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_2s_2s_32(TyS); 4984b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_8h_8h_1(TyH); 4985b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_8h_8h_8(TyH); 4986b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_8h_8h_16(TyH); 4987b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_4h_4h_1(TyH); 4988b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_4h_4h_8(TyH); 4989b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_4h_4h_16(TyH); 4990b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_16b_16b_1(TyB); 4991b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_16b_16b_3(TyB); 4992b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_16b_16b_8(TyB); 4993b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_8b_8b_1(TyB); 4994b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_8b_8b_3(TyB); 4995b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srshr_8b_8b_8(TyB); 4996b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_2d_2d_1(TyD); 4997b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_2d_2d_32(TyD); 4998b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_2d_2d_64(TyD); 4999b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_4s_4s_1(TyS); 5000b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_4s_4s_16(TyS); 5001b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_4s_4s_32(TyS); 5002b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_2s_2s_1(TyS); 5003b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_2s_2s_16(TyS); 5004b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_2s_2s_32(TyS); 5005b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_8h_8h_1(TyH); 5006b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_8h_8h_8(TyH); 5007b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_8h_8h_16(TyH); 5008b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_4h_4h_1(TyH); 5009b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_4h_4h_8(TyH); 5010b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_4h_4h_16(TyH); 5011b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_16b_16b_1(TyB); 5012b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_16b_16b_3(TyB); 5013b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_16b_16b_8(TyB); 5014b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_8b_8b_1(TyB); 5015b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_8b_8b_3(TyB); 5016b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urshr_8b_8b_8(TyB); 5017eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5018eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // srsra (imm) d 5019eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ursra (imm) d 5020b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_d_d_1(TyD); 5021b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_d_d_32(TyD); 5022b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_d_d_64(TyD); 5023b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_d_d_1(TyD); 5024b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_d_d_32(TyD); 5025b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_d_d_64(TyD); 5026eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5027eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // srsra (imm) 2d,4s,2s,8h,4h,16b,8b 5028eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ursra (imm) 2d,4s,2s,8h,4h,16b,8b 5029b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_2d_2d_1(TyD); 5030b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_2d_2d_32(TyD); 5031b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_2d_2d_64(TyD); 5032b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_4s_4s_1(TyS); 5033b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_4s_4s_16(TyS); 5034b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_4s_4s_32(TyS); 5035b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_2s_2s_1(TyS); 5036b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_2s_2s_16(TyS); 5037b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_2s_2s_32(TyS); 5038b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_8h_8h_1(TyH); 5039b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_8h_8h_8(TyH); 5040b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_8h_8h_16(TyH); 5041b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_4h_4h_1(TyH); 5042b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_4h_4h_8(TyH); 5043b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_4h_4h_16(TyH); 5044b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_16b_16b_1(TyB); 5045b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_16b_16b_3(TyB); 5046b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_16b_16b_8(TyB); 5047b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_8b_8b_1(TyB); 5048b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_8b_8b_3(TyB); 5049b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_srsra_8b_8b_8(TyB); 5050b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_2d_2d_1(TyD); 5051b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_2d_2d_32(TyD); 5052b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_2d_2d_64(TyD); 5053b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_4s_4s_1(TyS); 5054b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_4s_4s_16(TyS); 5055b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_4s_4s_32(TyS); 5056b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_2s_2s_1(TyS); 5057b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_2s_2s_16(TyS); 5058b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_2s_2s_32(TyS); 5059b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_8h_8h_1(TyH); 5060b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_8h_8h_8(TyH); 5061b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_8h_8h_16(TyH); 5062b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_4h_4h_1(TyH); 5063b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_4h_4h_8(TyH); 5064b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_4h_4h_16(TyH); 5065b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_16b_16b_1(TyB); 5066b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_16b_16b_3(TyB); 5067b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_16b_16b_8(TyB); 5068b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_8b_8b_1(TyB); 5069b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_8b_8b_3(TyB); 5070b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursra_8b_8b_8(TyB); 5071eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5072eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sshll{2} (imm) 2d_2s/4s, 4s_4h/8h, 8h_8b/16b 5073eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ushll{2} (imm) 2d_2s/4s, 4s_4h/8h, 8h_8b/16b 5074b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll_2d_2s_0(TyS); 5075b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll_2d_2s_15(TyS); 5076b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll_2d_2s_31(TyS); 5077b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll2_2d_4s_0(TyS); 5078b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll2_2d_4s_15(TyS); 5079b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll2_2d_4s_31(TyS); 5080b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll_4s_4h_0(TyH); 5081b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll_4s_4h_7(TyH); 5082b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll_4s_4h_15(TyH); 5083b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll2_4s_8h_0(TyH); 5084b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll2_4s_8h_7(TyH); 5085b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll2_4s_8h_15(TyH); 5086b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll_8h_8b_0(TyB); 5087b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll_8h_8b_3(TyB); 5088b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll_8h_8b_7(TyB); 5089b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll2_8h_16b_0(TyB); 5090b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll2_8h_16b_3(TyB); 5091b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_sshll2_8h_16b_7(TyB); 5092b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll_2d_2s_0(TyS); 5093b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll_2d_2s_15(TyS); 5094b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll_2d_2s_31(TyS); 5095b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll2_2d_4s_0(TyS); 5096b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll2_2d_4s_15(TyS); 5097b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll2_2d_4s_31(TyS); 5098b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll_4s_4h_0(TyH); 5099b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll_4s_4h_7(TyH); 5100b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll_4s_4h_15(TyH); 5101b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll2_4s_8h_0(TyH); 5102b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll2_4s_8h_7(TyH); 5103b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll2_4s_8h_15(TyH); 5104b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll_8h_8b_0(TyB); 5105b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll_8h_8b_3(TyB); 5106b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll_8h_8b_7(TyB); 5107b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll2_8h_16b_0(TyB); 5108b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll2_8h_16b_3(TyB); 5109b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_ushll2_8h_16b_7(TyB); 5110eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5111eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // suqadd d,s,h,b 5112eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // usqadd d,s,h,b 5113b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_d_d(TyD); 5114b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_s_s(TyS); 5115b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_h_h(TyH); 5116b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_b_b(TyB); 5117b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_d_d(TyD); 5118b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_s_s(TyS); 5119b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_h_h(TyH); 5120b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_b_b(TyB); 5121eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5122eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // suqadd 2d,4s,2s,8h,4h,16b,8b 5123eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // usqadd 2d,4s,2s,8h,4h,16b,8b 5124b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_2d_2d(TyD); 5125b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_4s_4s(TyS); 5126b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_2s_2s(TyS); 5127b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_8h_8h(TyH); 5128b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_4h_4h(TyH); 5129b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_16b_16b(TyB); 5130b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_suqadd_8b_8b(TyB); 5131b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_2d_2d(TyD); 5132b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_4s_4s(TyS); 5133b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_2s_2s(TyS); 5134b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_8h_8h(TyH); 5135b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_4h_4h(TyH); 5136b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_16b_16b(TyB); 5137b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_usqadd_8b_8b(TyB); 5138eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5139eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // tbl 8b_{16b}_8b, 16b_{16b}_16b 5140eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // tbl 8b_{16b,16b}_8b, 16b_{16b,16b}_16b 5141eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // tbl 8b_{16b,16b,16b}_8b, 16b_{16b,16b,16b}_16b 5142eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // tbl 8b_{16b,16b,16b,16b}_8b, 16b_{16b,16b,16b,16b}_16b 5143b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbl_16b_1reg(TyB); 5144b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbl_16b_2reg(TyB); 5145b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbl_16b_3reg(TyB); 5146b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbl_16b_4reg(TyB); 5147b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbl_8b_1reg(TyB); 5148b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbl_8b_2reg(TyB); 5149b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbl_8b_3reg(TyB); 5150b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbl_8b_4reg(TyB); 5151eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5152eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // tbx 8b_{16b}_8b, 16b_{16b}_16b 5153eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // tbx 8b_{16b,16b}_8b, 16b_{16b,16b}_16b 5154eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // tbx 8b_{16b,16b,16b}_8b, 16b_{16b,16b,16b}_16b 5155eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // tbx 8b_{16b,16b,16b,16b}_8b, 16b_{16b,16b,16b,16b}_16b 5156b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbx_16b_1reg(TyB); 5157b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbx_16b_2reg(TyB); 5158b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbx_16b_3reg(TyB); 5159b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbx_16b_4reg(TyB); 5160b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbx_8b_1reg(TyB); 5161b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbx_8b_2reg(TyB); 5162b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbx_8b_3reg(TyB); 5163b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_tbx_8b_4reg(TyB); 5164eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5165eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // trn1 2d,4s,2s,8h,4h,16b,8b 5166eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // trn2 2d,4s,2s,8h,4h,16b,8b 5167b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn1_2d_2d_2d(TyD); 5168b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn1_4s_4s_4s(TyS); 5169b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn1_2s_2s_2s(TyS); 5170b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn1_8h_8h_8h(TyH); 5171b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn1_4h_4h_4h(TyH); 5172b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn1_16b_16b_16b(TyB); 5173b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn1_8b_8b_8b(TyB); 5174b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn2_2d_2d_2d(TyD); 5175b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn2_4s_4s_4s(TyS); 5176b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn2_2s_2s_2s(TyS); 5177b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn2_8h_8h_8h(TyH); 5178b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn2_4h_4h_4h(TyH); 5179b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn2_16b_16b_16b(TyB); 5180b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_trn2_8b_8b_8b(TyB); 5181eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5182eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // urecpe 4s,2s 5183eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ursqrte 4s,2s 5184b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urecpe_4s_4s(TyS); 5185b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_urecpe_2s_2s(TyS); 5186b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursqrte_4s_4s(TyS); 5187b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_ursqrte_2s_2s(TyS); 5188eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5189eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uzp1 2d,4s,2s,8h,4h,16b,8b 5190eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // uzp2 2d,4s,2s,8h,4h,16b,8b 5191eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // zip1 2d,4s,2s,8h,4h,16b,8b 5192eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // zip2 2d,4s,2s,8h,4h,16b,8b 5193b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp1_2d_2d_2d(TyD); 5194b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp1_4s_4s_4s(TyS); 5195b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp1_2s_2s_2s(TyS); 5196b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp1_8h_8h_8h(TyH); 5197b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp1_4h_4h_4h(TyH); 5198b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp1_16b_16b_16b(TyB); 5199b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp1_8b_8b_8b(TyB); 5200b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp2_2d_2d_2d(TyD); 5201b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp2_4s_4s_4s(TyS); 5202b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp2_2s_2s_2s(TyS); 5203b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp2_8h_8h_8h(TyH); 5204b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp2_4h_4h_4h(TyH); 5205b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp2_16b_16b_16b(TyB); 5206b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_uzp2_8b_8b_8b(TyB); 5207b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip1_2d_2d_2d(TyD); 5208b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip1_4s_4s_4s(TyS); 5209b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip1_2s_2s_2s(TyS); 5210b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip1_8h_8h_8h(TyH); 5211b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip1_4h_4h_4h(TyH); 5212b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip1_16b_16b_16b(TyB); 5213b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip1_8b_8b_8b(TyB); 5214b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip2_2d_2d_2d(TyD); 5215b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip2_4s_4s_4s(TyS); 5216b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip2_2s_2s_2s(TyS); 5217b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip2_8h_8h_8h(TyH); 5218b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip2_4h_4h_4h(TyH); 5219b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip2_16b_16b_16b(TyB); 5220b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (0) test_zip2_8b_8b_8b(TyB); 5221eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5222eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // xtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 5223b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_xtn_2s_2d(TyD); 5224b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_xtn2_4s_2d(TyD); 5225b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_xtn_4h_4s(TyS); 5226b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_xtn2_8h_4s(TyS); 5227b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_xtn_8b_8h(TyH); 5228b5b05affe1b9179353e7ccfdc96df750529daedeDmitriy Ivanov if (1) test_xtn2_16b_8h(TyH); 5229eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5230eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ======================== MEM ======================== 5231eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5232eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld1 (multiple 1-element structures to 1/2/3/4 regs) 5233eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld1 (single 1-element structure to one lane of 1 reg) 5234eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld1r (single 1-element structure and rep to all lanes of 1 reg) 5235eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5236eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld2 (multiple 2-element structures to 2 regs) 5237eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld2 (single 2-element structure to one lane of 2 regs) 5238eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld2r (single 2-element structure and rep to all lanes of 2 regs) 5239eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5240eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld3 (multiple 3-element structures to 3 regs) 5241eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld3 (single 3-element structure to one lane of 3 regs) 5242eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld3r (single 3-element structure and rep to all lanes of 3 regs) 5243eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5244eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld4 (multiple 4-element structures to 4 regs) 5245eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld4 (single 4-element structure to one lane of 4 regs) 5246eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ld4r (single 4-element structure and rep to all lanes of 4 regs) 5247eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5248eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ldnp q_q_addr,d_d_addr,s_s_addr (load pair w/ non-temporal hint) 5249eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = reg + uimm7 * reg_size 5250eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5251eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ldp q_q_addr,d_d_addr,s_s_addr (load pair) 5252eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = [Xn|SP],#imm or [Xn|SP,#imm]! or [Xn|SP,#imm] 5253eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5254eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ldr q,d,s,h,b from addr 5255eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = [Xn|SP],#imm or [Xn|SP,#imm]! or [Xn|SP,#imm] 5256eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5257eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ldr q,d,s from pc+#imm19 5258eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5259eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ldr q,d,s,h,b from addr 5260eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = [Xn|SP, R <extend> <shift] 5261eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5262eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ldur q,d,s,h,b from addr 5263eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = [Xn|SP,#imm] (unscaled offset) 5264eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5265eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // st1 (multiple 1-element structures from 1/2/3/4 regs) 5266eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // st1 (single 1-element structure for 1 lane of 1 reg) 5267eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5268eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // st2 (multiple 2-element structures from 2 regs) 5269eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // st2 (single 2-element structure from 1 lane of 2 regs) 5270eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5271eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // st3 (multiple 3-element structures from 3 regs) 5272eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // st3 (single 3-element structure from 1 lane of 3 regs) 5273eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5274eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // st4 (multiple 4-element structures from 4 regs) 5275eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // st4 (single 4-element structure from one lane of 4 regs) 5276eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5277eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // stnp q_q_addr, d_d_addr, s_s_addr 5278eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = [Xn|SP, #imm] 5279eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5280eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // stp q_q_addr, d_d_addr, s_s_addr 5281eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = [Xn|SP], #imm or [Xn|SP, #imm]! or [Xn|SP, #imm] 5282eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5283eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // str q,d,s,h,b_addr 5284eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = [Xn|SP], #simm or [Xn|SP, #simm]! or [Xn|SP, #pimm] 5285eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5286eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // str q,d,s,h,b_addr 5287eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = [Xn|SP, R <extend> <shift] 5288eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5289eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // stur q,d,s,h,b_addr 5290eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // addr = [Xn|SP,#imm] (unscaled offset) 5291eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5292eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // ======================== CRYPTO ======================== 5293eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5294eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // aesd 16b (aes single round decryption) 5295eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // aese 16b (aes single round encryption) 5296eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // aesimc 16b (aes inverse mix columns) 5297eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // aesmc 16b (aes mix columns) 5298eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5299eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha1c q_s_4s 5300eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha1h s_s 5301eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha1m q_s_4s 5302eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha1p q_s_4s 5303eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha1su0 4s_4s_4s 5304eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha1su1 4s_4s 5305eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5306eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha256h2 q_q_4s 5307eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha256h q_q_4s 5308eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha256su0 4s_4s 5309eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov // sha256su1 4s_4s_4s 5310eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5311eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov return 0; 5312eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov} 5313eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5314eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5315eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* ---------------------------------------------------------------- */ 5316eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* -- Alphabetical list of insns -- */ 5317eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* ---------------------------------------------------------------- */ 5318eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* 5319eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov abs d 5320eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov abs 2d,4s,2s,8h,4h,16b,8b 5321eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov add d 5322eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov add 2d,4s,2s,8h,4h,16b,8b 5323eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addhn 2s.2d.2d, 4s.2d.2d, h_from_s and b_from_h (add and get high half) 5324eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addp d (add pairs, across) 5325eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addp 2d,4s,2s,8h,4h,16b,8b 5326eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addv 4s,8h,4h,16b,18b (reduce across vector) 5327eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov aesd 16b (aes single round decryption) 5328eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov aese 16b (aes single round encryption) 5329eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov aesimc 16b (aes inverse mix columns) 5330eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov aesmc 16b (aes mix columns) 5331eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov and 16b,8b 5332eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5333eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bic 4s,2s,8h,4h (vector, imm) 5334eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov also movi, mvni, orr 5335eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5336eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bic 16b,8b (vector,reg) (bit clear) 5337eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bif 16b,8b (vector) (bit insert if false) 5338eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bit 16b,8b (vector) (bit insert if true) 5339eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bsl 16b,8b (vector) (bit select) 5340eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5341eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cls 4s,2s,8h,4h,16b,8b (count leading sign bits) 5342eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov clz 4s,2s,8h,4h,16b,8b (count leading zero bits) 5343eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5344eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmeq d 5345eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmeq 2d,4s,2s,8h,4h,16b,8b 5346eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmeq_z d 5347eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmeq_z 2d,4s,2s,8h,4h,16b,8b 5348eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5349eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmge d 5350eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmge 2d,4s,2s,8h,4h,16b,8b 5351eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmge_z d 5352eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmge_z 2d,4s,2s,8h,4h,16b,8b 5353eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5354eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmgt d 5355eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmgt 2d,4s,2s,8h,4h,16b,8b 5356eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmgt_z d 5357eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmgt_z 2d,4s,2s,8h,4h,16b,8b 5358eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5359eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmhi d 5360eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmhi 2d,4s,2s,8h,4h,16b,8b 5361eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5362eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmhs d 5363eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmhs 2d,4s,2s,8h,4h,16b,8b 5364eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5365eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmle_z d 5366eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmle_z 2d,4s,2s,8h,4h,16b,8b 5367eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5368eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmlt_z d 5369eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmlt_z 2d,4s,2s,8h,4h,16b,8b 5370eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5371eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmtst d 5372eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmtst 2d,4s,2s,8h,4h,16b,8b 5373eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5374eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cnt 16b,8b (population count per byte) 5375eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5376eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov dup d,s,h,b (vec elem to scalar) 5377eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov dup 2d,4s,2s,8h,4h,16b,8b (vec elem to vector) 5378eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov dup 2d,4s,2s,8h,4h,16b,8b (general reg to vector) 5379eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5380eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov eor 16b,8b (vector) 5381eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ext 16b,8b,#imm4 (concat 2 vectors, then slice) 5382eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5383eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fabd d,s 5384eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fabd 2d,4s,2s 5385eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5386eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fabs d,s 5387eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fabs 2d,4s,2s 5388eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5389eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov facge s,d (floating abs compare GE) 5390eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov facge 2d,4s,2s 5391eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5392eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov facgt s,d (floating abs compare GE) 5393eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov facgt 2d,4s,2s 5394eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5395eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fadd d,s 5396eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fadd 2d,4s,2s 5397eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5398eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov faddp d,s (floating add pair) 5399eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov faddp 2d,4s,2s 5400eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5401eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fccmp d,s (floating point conditional quiet compare) 5402eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fccmpe d,s (floating point conditional signaling compare) 5403eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5404eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmeq d,s 5405eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmeq 2d,4s,2s 5406eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmeq_z d,s 5407eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmeq_z 2d,4s,2s 5408eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5409eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmge d,s 5410eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmge 2d,4s,2s 5411eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmge_z d,s 5412eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmge_z 2d,4s,2s 5413eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5414eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmgt d,s 5415eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmgt 2d,4s,2s 5416eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmgt_z d,s 5417eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmgt_z 2d,4s,2s 5418eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5419eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmle_z d,s 5420eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmle_z 2d,4s,2s 5421eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5422eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmlt_z d,s 5423eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmlt_z 2d,4s,2s 5424eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5425eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmp d,s (floating point quiet, set flags) 5426eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmp_z d,s 5427eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmpe d,s (floating point signaling, set flags) 5428eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmpe_z d,s 5429eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5430eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcsel d,s (fp cond select) 5431eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5432eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvt s_h,d_h,h_s,d_s,h_d,s_d (fp convert, scalar) 5433eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5434eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtas d,s (fcvt to signed int, nearest, ties away) 5435eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtas 2d,4s,2s 5436eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtas w_s,x_s,w_d,x_d 5437eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5438eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtau d,s (fcvt to unsigned int, nearest, ties away) 5439eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtau 2d,4s,2s 5440eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtau w_s,x_s,w_d,x_d 5441eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5442eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtl{2} 4s/4h, 4s/8h, 2d/2s, 2d/4s (float convert to longer form) 5443eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5444eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtms d,s (fcvt to signed int, minus inf) 5445eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtms 2d,4s,2s 5446eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtms w_s,x_s,w_d,x_d 5447eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5448eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtmu d,s (fcvt to unsigned int, minus inf) 5449eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtmu 2d,4s,2s 5450eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtmu w_s,x_s,w_d,x_d 5451eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5452eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtn{2} 4h/4s, 8h/4s, 2s/2d, 4s/2d (float convert to narrower form) 5453eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5454eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtns d,s (fcvt to signed int, nearest) 5455eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtns 2d,4s,2s 5456eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtns w_s,x_s,w_d,x_d 5457eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5458eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtnu d,s (fcvt to unsigned int, nearest) 5459eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtnu 2d,4s,2s 5460eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtnu w_s,x_s,w_d,x_d 5461eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5462eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtps d,s (fcvt to signed int, plus inf) 5463eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtps 2d,4s,2s 5464eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtps w_s,x_s,w_d,x_d 5465eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5466eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtpu d,s (fcvt to unsigned int, plus inf) 5467eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtpu 2d,4s,2s 5468eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtpu w_s,x_s,w_d,x_d 5469eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5470eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtxn s_d (fcvt to lower prec narrow, rounding to odd) 5471eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtxn 2s_2d,4s_2d 5472eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5473eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs s,d (fcvt to signed fixedpt, to zero) (w/ #fbits) 5474eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs 2d,4s,2s 5475eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5476eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs s,d (fcvt to signed integer, to zero) 5477eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs 2d,4s,2s 5478eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5479eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs w_s,x_s,w_d,x_d (fcvt to signed fixedpt, to zero) (w/ #fbits) 5480eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5481eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs w_s,x_s,w_d,x_d (fcvt to signed integer, to zero) 5482eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5483eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu s,d (fcvt to unsigned fixedpt, to zero) (w/ #fbits) 5484eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu 2d,4s,2s 5485eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5486eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu s,d (fcvt to unsigned integer, to zero) 5487eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu 2d,4s,2s 5488eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5489eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu w_s,x_s,w_d,x_d (fcvt to unsigned fixedpt, to zero) (w/ #fbits) 5490eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5491eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu w_s,x_s,w_d,x_d (fcvt to unsigned integer, to zero) 5492eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5493eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fdiv d,s 5494eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fdiv 2d,4s,2s 5495eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5496eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmadd d,s 5497eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fnmadd d,s 5498eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fnmsub d,s 5499eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fnmul d,s 5500eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5501eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmax d,s 5502eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmin d,s 5503eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5504eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmax 2d,4s,2s 5505eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmin 2d,4s,2s 5506eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5507eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnm d,s ("max number") 5508eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnm d,s 5509eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5510eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnm 2d,4s,2s 5511eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnm 2d,4s,2s 5512eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5513eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnmp d_2d,s_2s ("max number pairwise") 5514eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnmp d_2d,s_2s 5515eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5516eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnmp 2d,4s,2s 5517eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnmp 2d,4s,2s 5518eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5519eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnmv s_4s (maxnum across vector) 5520eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnmv s_4s 5521eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5522eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxp d_2d,s_2s (max of a pair) 5523eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminp d_2d,s_2s (max of a pair) 5524eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5525eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxp 2d,4s,2s (max pairwise) 5526eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminp 2d,4s,2s 5527eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5528eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxv s_4s (max across vector) 5529eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminv s_4s 5530eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5531eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmla d_d_d[],s_s_s[] (by element) 5532eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmla 2d_2d_d[],4s_4s_s[],2s_2s_s[] 5533eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5534eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmla 2d,4s,2s 5535eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5536eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmls d_d_d[],s_s_s[] (by element) 5537eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmls 2d_2d_d[],4s_4s_s[],2s_2s_s[] 5538eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5539eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmls 2d,4s,2s 5540eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5541eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmov 2d,4s,2s #imm (part of the MOVI/MVNI/ORR/BIC imm group) 5542eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5543eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmov d_d,s_s 5544eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5545eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmov s_w,w_s,d_x,d[1]_x,x_d,x_d[1] 5546eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5547eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmov d,s #imm 5548eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5549eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmsub d,s 5550eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5551eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmul d_d_d[],s_s_s[] 5552eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmul 2d_2d_d[],4s_4s_s[],2s_2s_s[] 5553eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5554eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmul 2d,4s,2s 5555eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmul d,s 5556eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5557eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmulx d_d_d[],s_s_s[] 5558eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmulx 2d_2d_d[],4s_4s_s[],2s_2s_s[] 5559eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5560eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmulx d,s 5561eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmulx 2d,4s,2s 5562eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5563eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fneg d,s 5564eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fneg 2d,4s,2s 5565eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5566eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecpe d,s (recip estimate) 5567eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecpe 2d,4s,2s 5568eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5569eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecps d,s (recip step) 5570eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecps 2d,4s,2s 5571eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5572eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecpx d,s (recip exponent) 5573eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5574eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frinta 2d,4s,2s (round to integral, nearest away) 5575eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frinta d,s 5576eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5577eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frinti 2d,4s,2s (round to integral, per FPCR) 5578eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frinti d,s 5579eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5580eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintm 2d,4s,2s (round to integral, minus inf) 5581eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintm d,s 5582eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5583eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintn 2d,4s,2s (round to integral, nearest, to even) 5584eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintn d,s 5585eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5586eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintp 2d,4s,2s (round to integral, plus inf) 5587eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintp d,s 5588eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5589eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintx 2d,4s,2s (round to integral exact, per FPCR) 5590eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintx d,s 5591eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5592eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintz 2d,4s,2s (round to integral, zero) 5593eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintz d,s 5594eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5595eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frsqrte d,s (est) 5596eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frsqrte 2d,4s,2s 5597eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5598eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frsqrts d,s (step) 5599eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frsqrts 2d,4s,2s 5600eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5601eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fsqrt d,s 5602eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fsqrt 2d,4s,2s 5603eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5604eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fsub d,s 5605eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fsub 2d,4s,2s 5606eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5607eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ins d[]_d[],s[]_s[],h[]_h[],b[]_b[] 5608eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5609eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ins d[]_x, s[]_w, h[]_w, b[]_w 5610eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5611eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld1 (multiple 1-element structures to 1/2/3/4 regs) 5612eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld1 (single 1-element structure to one lane of 1 reg) 5613eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld1r (single 1-element structure and rep to all lanes of 1 reg) 5614eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5615eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld2 (multiple 2-element structures to 2 regs) 5616eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld2 (single 2-element structure to one lane of 2 regs) 5617eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld2r (single 2-element structure and rep to all lanes of 2 regs) 5618eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5619eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld3 (multiple 3-element structures to 3 regs) 5620eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld3 (single 3-element structure to one lane of 3 regs) 5621eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld3r (single 3-element structure and rep to all lanes of 3 regs) 5622eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5623eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld4 (multiple 4-element structures to 4 regs) 5624eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld4 (single 4-element structure to one lane of 4 regs) 5625eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld4r (single 4-element structure and rep to all lanes of 4 regs) 5626eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5627eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldnp q_q_addr,d_d_addr,s_s_addr (load pair w/ non-temporal hint) 5628eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = reg + uimm7 * reg_size 5629eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5630eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldp q_q_addr,d_d_addr,s_s_addr (load pair) 5631eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP],#imm or [Xn|SP,#imm]! or [Xn|SP,#imm] 5632eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5633eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldr q,d,s,h,b from addr 5634eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP],#imm or [Xn|SP,#imm]! or [Xn|SP,#imm] 5635eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5636eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldr q,d,s from pc+#imm19 5637eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5638eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldr q,d,s,h,b from addr 5639eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP, R <extend> <shift] 5640eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5641eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldur q,d,s,h,b from addr 5642eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP,#imm] (unscaled offset) 5643eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5644eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mla 4s_4s_s[],2s_2s_s[],8h_8h_h[],4h_4h_h[] 5645eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mla 4s,2s,8h,4h,16b,8b 5646eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5647eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mls 4s_4s_s[],2s_2s_s[],8h_8h_h[],4h_4h_h[] 5648eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mls 4s,2s,8h,4h,16b,8b 5649eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5650eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 16b,8b #imm8, LSL #0 5651eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 8h,4h #imm8, LSL #0 or 8 5652eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 4s,2s #imm8, LSL #0, 8, 16, 24 5653eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 4s,2s #imm8, MSL #8 or 16 5654eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi d, #imm64 5655eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 2d, #imm64 5656eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5657eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mul 4s_4s_s[],2s_2s_s[],8h_8h_h[],4h_4h_h[] 5658eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mul 4s,2s,8h,4h,16b,8b 5659eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5660eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mvni 8h,4h #imm8, LSL #0 or 8 5661eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mvni 4s,2s #imm8, LSL #0, 8, 16, 24 5662eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mvni 4s,2s #imm8, MSL #8 or 16 5663eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5664eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov neg d 5665eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov neg 2d,4s,2s,8h,4h,16b,8b 5666eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5667eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov not 16b,8b 5668eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5669eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov orn 16b,8b 5670eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5671eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov orr 8h,4h #imm8, LSL #0 or 8 5672eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov orr 4s,2s #imm8, LSL #0, 8, 16 or 24 5673eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5674eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov orr 16b,8b 5675eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5676eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov pmul 16b,8b 5677eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5678eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov pmull{2} 8h_8b_8b,8h_16b_16b,1q_1d_1d,1d_2d_2d 5679eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5680eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov raddhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 5681eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5682eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rbit 16b,8b 5683eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rev16 16b,8b 5684eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rev32 16b,8b,8h,4h 5685eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rev64 16b,8b,8h,4h,4s,2s 5686eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5687eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rshrn{2} 2s/4s_2d, 8h/4h_4s, 2s/4s_2d, #imm in 1 .. elem_bits 5688eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5689eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rsubhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 5690eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5691eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saba 16b,8b,8h,4h,4s,2s 5692eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sabal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5693eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5694eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sabd 16b,8b,8h,4h,4s,2s 5695eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sabdl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5696eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5697eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sadalp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 5698eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5699eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saddl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5700eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5701eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saddlp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 5702eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5703eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saddlv h_16b/8b, s_8h/4h, d_4s 5704eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5705eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saddw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_2s/4s 5706eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5707eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf d,s _#fbits 5708eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf 2d,4s,2s _#fbits 5709eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5710eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf d,s 5711eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf 2d,4s,2s 5712eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5713eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf s_w, d_w, s_x, d_x, _#fbits 5714eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf s_w, d_w, s_x, d_x 5715eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5716eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1c q_s_4s 5717eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1h s_s 5718eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1m q_s_4s 5719eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1p q_s_4s 5720eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1su0 4s_4s_4s 5721eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1su1 4s_4s 5722eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha256h2 q_q_4s 5723eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha256h q_q_4s 5724eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha256su0 4s_4s 5725eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha256su1 4s_4s_4s 5726eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5727eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shadd 16b,8b,8h,4h,4s,2s 5728eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5729eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shl d_#imm 5730eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shl 16b,8b,8h,4h,4s,2s,2d _#imm 5731eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5732eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shll{2} 8h_8b/16b_#8, 4s_4h/8h_#16, 2d_2s/4s_#32 5733eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5734eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shrn{2} 2s/4s_2d, 8h/4h_4s, 2s/4s_2d, #imm in 1 .. elem_bits 5735eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5736eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shsub 16b,8b,8h,4h,4s,2s 5737eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5738eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sli d_#imm 5739eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sli 2d,4s,2s,8h,4h,16b,8b _#imm 5740eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5741eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smax 4s,2s,8h,4h,16b,8b 5742eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5743eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smaxp 4s,2s,8h,4h,16b,8b 5744eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5745eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smaxv s_4s,h_8h,h_4h,b_16b,b_8b 5746eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5747eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smin 4s,2s,8h,4h,16b,8b 5748eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5749eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sminp 4s,2s,8h,4h,16b,8b 5750eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5751eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sminv s_4s,h_8h,h_4h,b_16b,b_8b 5752eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5753eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smlal{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 5754eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smlal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5755eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5756eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smlsl{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 5757eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smlsl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5758eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5759eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smov w_b[], w_h[], x_b[], x_h[], x_s[] 5760eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5761eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smull{2} 2d_2s/4s_s[]. 4s_4h/8h_h[] 5762eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smull{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5763eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5764eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqabs d,s,h,b 5765eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqabs 2d,4s,2s,8h,4h,16b,8b 5766eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5767eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqadd d,s,h,b 5768eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqadd 2d,4s,2s,8h,4h,16b,8b 5769eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5770eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlal d_s_s[], s_h_h[] 5771eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlal{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 5772eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5773eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlal d_s_s, s_h_h 5774eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h) 5775eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5776eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlsl d_s_s[], s_h_h[] 5777eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlsl{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 5778eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5779eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlsl d_s_s, s_h_h 5780eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlsl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h) 5781eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5782eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmulh s_s_s[], h_h_h[] 5783eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmulh 4s_4s_s[], 2s_2s_s[], 8h_8h_h[], 4h_4h_h[] 5784eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5785eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmulh h,s 5786eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmulh 4s,2s,8h,4h 5787eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5788eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmull d_s_s[], s_h_h[] 5789eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmull{2} 2d_2s/4s_s[], 4s_4h/2h_h[] 5790eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5791eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmull d_s_s,s_h_h 5792eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmull{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h) 5793eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5794eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqneg d,s,h,b 5795eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqneg 2d,4s,2s,8h,4h,16b,8b 5796eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5797eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrdmulh s_s_s[], h_h_h[] 5798eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrdmulh 4s_4s_s[], 2s_2s_s[], 8h_8h_h[], 4h_4h_h[] 5799eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5800eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrdmulh h,s 5801eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrdmulh 4s,2s,8h,4h 5802eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5803eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshl d,s,h,b 5804eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshl 2d,4s,2s,8h,4h,16b,8b 5805eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5806eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshrn s_d, h_s, b_h #imm 5807eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 5808eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5809eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshrun s_d, h_s, b_h #imm 5810eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 5811eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5812eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshl d,s,h,b _#imm 5813eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshl 2d,4s,2s,8h,4h,16b,8b _#imm 5814eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5815eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshl d,s,h,b 5816eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshl 2d,4s,2s,8h,4h,16b,8b 5817eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5818eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshlu d,s,h,b _#imm 5819eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshlu 2d,4s,2s,8h,4h,16b,8b _#imm 5820eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5821eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshrn s_d, h_s, b_h #imm 5822eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 5823eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5824eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshrun s_d, h_s, b_h #imm 5825eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 5826eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5827eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqsub d,s,h,b 5828eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqsub 2d,4s,2s,8h,4h,16b,8b 5829eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5830eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqxtn s_d,h_s,b_h 5831eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqxtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 5832eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5833eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqxtun s_d,h_s,b_h 5834eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqxtun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 5835eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5836eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srhadd 4s,2s,8h,4h,16b,8b 5837eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5838eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sri d_#imm 5839eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sri 2d,4s,2s,8h,4h,16b,8b _#imm 5840eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5841eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srshl (reg) d 5842eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srshl 2d,4s,2s,8h,4h,16b,8b 5843eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5844eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srshr (imm) d 5845eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srshr 2d,4s,2s,8h,4h,16b,8b 5846eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5847eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srsra (imm) d 5848eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srsra 2d,4s,2s,8h,4h,16b,8b 5849eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5850eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshl (reg) d 5851eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshl 2d,4s,2s,8h,4h,16b,8b 5852eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5853eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshll{2} (imm) 2d_2s/4s 4s_4h/8h, 8h_8b/16b 5854eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5855eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshr (imm) d 5856eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshr 2d,4s,2s,8h,4h,16b,8b 5857eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5858eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ssra (imm) d 5859eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ssra 2d,4s,2s,8h,4h,16b,8b 5860eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5861eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ssubl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5862eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5863eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ssubw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_2s/4s 5864eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5865eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st1 (multiple 1-element structures from 1/2/3/4 regs) 5866eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st1 (single 1-element structure for 1 lane of 1 reg) 5867eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5868eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st2 (multiple 2-element structures from 2 regs) 5869eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st2 (single 2-element structure from 1 lane of 2 regs) 5870eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5871eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st3 (multiple 3-element structures from 3 regs) 5872eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st3 (single 3-element structure from 1 lane of 3 regs) 5873eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5874eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st4 (multiple 4-element structures from 4 regs) 5875eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st4 (single 4-element structure from one lane of 4 regs) 5876eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5877eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov stnp q_q_addr, d_d_addr, s_s_addr 5878eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP, #imm] 5879eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5880eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov stp q_q_addr, d_d_addr, s_s_addr 5881eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP], #imm or [Xn|SP, #imm]! or [Xn|SP, #imm] 5882eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5883eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov str q,d,s,h,b_addr 5884eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP], #simm or [Xn|SP, #simm]! or [Xn|SP, #pimm] 5885eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5886eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov str q,d,s,h,b_addr 5887eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP, R <extend> <shift] 5888eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5889eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov stur q,d,s,h,b_addr 5890eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP,#imm] (unscaled offset) 5891eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5892eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sub d 5893eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sub 2d,4s,2s,8h,4h,16b,8b 5894eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5895eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov subhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 5896eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5897eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov suqadd d,s,h,b 5898eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov suqadd 2d,4s,2s,8h,4h,16b,8b 5899eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5900eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl 8b_{16b}_8b, 16b_{16b}_16b 5901eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl 8b_{16b,16b}_8b, 16b_{16b,16b}_16b 5902eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl 8b_{16b,16b,16b}_8b, 16b_{16b,16b,16b}_16b 5903eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl 8b_{16b,16b,16b,16b}_8b, 16b_{16b,16b,16b,16b}_16b 5904eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5905eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx 8b_{16b}_8b, 16b_{16b}_16b 5906eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx 8b_{16b,16b}_8b, 16b_{16b,16b}_16b 5907eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx 8b_{16b,16b,16b}_8b, 16b_{16b,16b,16b}_16b 5908eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx 8b_{16b,16b,16b,16b}_8b, 16b_{16b,16b,16b,16b}_16b 5909eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5910eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov trn1 2d,4s,2s,8h,4h,16b,8b 5911eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov trn2 2d,4s,2s,8h,4h,16b,8b 5912eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5913eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaba 16b,8b,8h,4h,4s,2s 5914eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uabal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5915eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5916eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uabd 16b,8b,8h,4h,4s,2s 5917eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uabdl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5918eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5919eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uadalp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 5920eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5921eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaddl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5922eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5923eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaddlp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 5924eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5925eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaddlv h_16b/8b, s_8h/4h, d_4s 5926eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5927eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaddw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_2s/4s 5928eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5929eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf d,s _#fbits 5930eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf 2d,4s,2s _#fbits 5931eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5932eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf d,s 5933eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf 2d,4s,2s 5934eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5935eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf s_w, d_w, s_x, d_x, _#fbits 5936eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf s_w, d_w, s_x, d_x 5937eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5938eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uhadd 16b,8b,8h,4h,4s,2s 5939eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5940eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uhsub 16b,8b,8h,4h,4s,2s 5941eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5942eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umax 4s,2s,8h,4h,16b,8b 5943eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5944eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umaxp 4s,2s,8h,4h,16b,8b 5945eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5946eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umaxv s_4s,h_8h,h_4h,b_16b,b_8b 5947eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5948eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umin 4s,2s,8h,4h,16b,8b 5949eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5950eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uminp 4s,2s,8h,4h,16b,8b 5951eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5952eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uminv s_4s,h_8h,h_4h,b_16b,b_8b 5953eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5954eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umlal{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 5955eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umlal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5956eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5957eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umlsl{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 5958eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umlsl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5959eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5960eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umov w_b[], w_h[], x_b[], x_h[], x_s[] 5961eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5962eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umull{2} 2d_2s/4s_s[]. 4s_4h/8h_h[] 5963eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umull{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 5964eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5965eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqadd d,s,h,b 5966eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqadd 2d,4s,2s,8h,4h,16b,8b 5967eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5968eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqrshl d,s,h,b 5969eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqrshl 2d,4s,2s,8h,4h,16b,8b 5970eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5971eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqrshrn s_d, h_s, b_h #imm 5972eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqrshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 5973eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5974eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshl d,s,h,b _#imm 5975eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshl 2d,4s,2s,8h,4h,16b,8b _#imm 5976eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5977eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshl d,s,h,b 5978eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshl 2d,4s,2s,8h,4h,16b,8b 5979eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5980eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshrn s_d, h_s, b_h #imm 5981eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 5982eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5983eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqsub d,s,h,b 5984eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqsub 2d,4s,2s,8h,4h,16b,8b 5985eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5986eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqxtn s_d,h_s,b_h 5987eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqxtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 5988eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5989eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urecpe 4s,2s 5990eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5991eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urhadd 4s,2s,8h,4h,16b,8b 5992eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5993eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urshl (reg) d 5994eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urshl 2d,4s,2s,8h,4h,16b,8b 5995eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5996eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urshr (imm) d 5997eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urshr 2d,4s,2s,8h,4h,16b,8b 5998eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 5999eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ursqrte 4s,2s 6000eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6001eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ursra (imm) d 6002eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ursra 2d,4s,2s,8h,4h,16b,8b 6003eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6004eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushl (reg) d 6005eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushl 2d,4s,2s,8h,4h,16b,8b 6006eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6007eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushll{2} (imm) 2d_2s/4s 4s_4h/8h, 8h_8b/16b 6008eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6009eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushr (imm) d 6010eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushr 2d,4s,2s,8h,4h,16b,8b 6011eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6012eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usqadd d,s,h,b 6013eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usqadd 2d,4s,2s,8h,4h,16b,8b 6014eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6015eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usra (imm) d 6016eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usra 2d,4s,2s,8h,4h,16b,8b 6017eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6018eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usubl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6019eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6020eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usubw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_2s/4s 6021eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6022eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uzp1 2d,4s,2s,8h,4h,16b,8b 6023eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uzp2 2d,4s,2s,8h,4h,16b,8b 6024eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6025eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov xtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 6026eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6027eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov zip1 2d,4s,2s,8h,4h,16b,8b 6028eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov zip2 2d,4s,2s,8h,4h,16b,8b 6029eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov*/ 6030eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6031eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6032eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* ---------------------------------------------------------------- */ 6033eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* -- List of insns, grouped somewhat by laneage configuration -- */ 6034eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* ---------------------------------------------------------------- */ 6035eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov/* 6036eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ======================== FP ======================== 6037eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6038eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fabs d,s 6039eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fabs 2d,4s,2s 6040eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6041eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fneg d,s 6042eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fneg 2d,4s,2s 6043eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6044eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fsqrt d,s 6045eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fsqrt 2d,4s,2s 6046eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6047eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fadd d,s 6048eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fsub d,s 6049eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6050eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fadd 2d,4s,2s 6051eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fsub 2d,4s,2s 6052eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6053eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fabd d,s 6054eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fabd 2d,4s,2s 6055eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6056eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov faddp d,s (floating add pair) 6057eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov faddp 2d,4s,2s 6058eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6059eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fccmp d,s (floating point conditional quiet compare) 6060eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fccmpe d,s (floating point conditional signaling compare) 6061eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6062eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmeq d,s 6063eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmge d,s 6064eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmgt d,s 6065eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov facgt d,s (floating abs compare GE) 6066eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov facge d,s (floating abs compare GE) 6067eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6068eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmeq 2d,4s,2s 6069eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmge 2d,4s,2s 6070eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmgt 2d,4s,2s 6071eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov facge 2d,4s,2s 6072eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov facgt 2d,4s,2s 6073eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6074eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmeq_z d,s 6075eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmge_z d,s 6076eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmgt_z d,s 6077eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmle_z d,s 6078eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmlt_z d,s 6079eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6080eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmeq_z 2d,4s,2s 6081eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmge_z 2d,4s,2s 6082eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmgt_z 2d,4s,2s 6083eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmle_z 2d,4s,2s 6084eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmlt_z 2d,4s,2s 6085eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6086eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmp_z d,s 6087eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmpe_z d,s 6088eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmp d,s (floating point quiet, set flags) 6089eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcmpe d,s (floating point signaling, set flags) 6090eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6091eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcsel d,s (fp cond select) 6092eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6093eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fdiv d,s 6094eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fdiv 2d,4s,2s 6095eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6096eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmadd d,s 6097eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fnmadd d,s 6098eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmsub d,s 6099eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fnmsub d,s 6100eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6101eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fnmul d,s 6102eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6103eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmax d,s 6104eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmin d,s 6105eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnm d,s ("max number") 6106eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnm d,s 6107eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6108eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmax 2d,4s,2s 6109eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmin 2d,4s,2s 6110eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnm 2d,4s,2s 6111eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnm 2d,4s,2s 6112eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6113eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnmp d_2d,s_2s ("max number pairwise") 6114eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnmp d_2d,s_2s 6115eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6116eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnmp 2d,4s,2s 6117eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnmp 2d,4s,2s 6118eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6119eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxnmv s_4s (maxnum across vector) 6120eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminnmv s_4s 6121eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6122eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxp d_2d,s_2s (max of a pair) 6123eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminp d_2d,s_2s (max of a pair) 6124eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6125eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxp 2d,4s,2s (max pairwise) 6126eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminp 2d,4s,2s 6127eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6128eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmaxv s_4s (max across vector) 6129eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fminv s_4s 6130eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6131eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmla 2d,4s,2s 6132eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmls 2d,4s,2s 6133eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6134eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmla d_d_d[],s_s_s[] (by element) 6135eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmls d_d_d[],s_s_s[] (by element) 6136eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6137eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmla 2d_2d_d[],4s_4s_s[],2s_2s_s[] 6138eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmls 2d_2d_d[],4s_4s_s[],2s_2s_s[] 6139eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6140eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmov 2d,4s,2s #imm (part of the MOVI/MVNI/ORR/BIC imm group) 6141eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6142eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmov d_d,s_s 6143eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6144eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmov s_w,w_s,d_x,d[1]_x,x_d,x_d[1] 6145eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6146eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmov d,s #imm 6147eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6148eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmul d_d_d[],s_s_s[] 6149eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmul 2d_2d_d[],4s_4s_s[],2s_2s_s[] 6150eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6151eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmul 2d,4s,2s 6152eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmul d,s 6153eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6154eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmulx d_d_d[],s_s_s[] 6155eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmulx 2d_2d_d[],4s_4s_s[],2s_2s_s[] 6156eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6157eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmulx d,s 6158eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fmulx 2d,4s,2s 6159eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6160eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecpe d,s (recip estimate) 6161eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecpe 2d,4s,2s 6162eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6163eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecps d,s (recip step) 6164eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecps 2d,4s,2s 6165eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6166eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frecpx d,s (recip exponent) 6167eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6168eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frinta d,s 6169eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frinti d,s 6170eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintm d,s 6171eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintn d,s 6172eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintp d,s 6173eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintx d,s 6174eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintz d,s 6175eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6176eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frinta 2d,4s,2s (round to integral, nearest away) 6177eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frinti 2d,4s,2s (round to integral, per FPCR) 6178eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintm 2d,4s,2s (round to integral, minus inf) 6179eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintn 2d,4s,2s (round to integral, nearest, to even) 6180eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintp 2d,4s,2s (round to integral, plus inf) 6181eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintx 2d,4s,2s (round to integral exact, per FPCR) 6182eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frintz 2d,4s,2s (round to integral, zero) 6183eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6184eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frsqrte d,s (est) 6185eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frsqrte 2d,4s,2s 6186eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6187eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frsqrts d,s (step) 6188eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov frsqrts 2d,4s,2s 6189eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6190eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ======================== CONV ======================== 6191eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6192eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvt s_h,d_h,h_s,d_s,h_d,s_d (fp convert, scalar) 6193eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6194eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtl{2} 4s/4h, 4s/8h, 2d/2s, 2d/4s (float convert to longer form) 6195eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6196eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtn{2} 4h/4s, 8h/4s, 2s/2d, 4s/2d (float convert to narrower form) 6197eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6198eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtas d,s (fcvt to signed int, nearest, ties away) 6199eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtau d,s (fcvt to unsigned int, nearest, ties away) 6200eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtas 2d,4s,2s 6201eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtau 2d,4s,2s 6202eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtas w_s,x_s,w_d,x_d 6203eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtau w_s,x_s,w_d,x_d 6204eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6205eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtms d,s (fcvt to signed int, minus inf) 6206eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtmu d,s (fcvt to unsigned int, minus inf) 6207eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtms 2d,4s,2s 6208eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtmu 2d,4s,2s 6209eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtms w_s,x_s,w_d,x_d 6210eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtmu w_s,x_s,w_d,x_d 6211eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6212eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtns d,s (fcvt to signed int, nearest) 6213eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtnu d,s (fcvt to unsigned int, nearest) 6214eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtns 2d,4s,2s 6215eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtnu 2d,4s,2s 6216eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtns w_s,x_s,w_d,x_d 6217eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtnu w_s,x_s,w_d,x_d 6218eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6219eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtps d,s (fcvt to signed int, plus inf) 6220eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtpu d,s (fcvt to unsigned int, plus inf) 6221eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtps 2d,4s,2s 6222eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtpu 2d,4s,2s 6223eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtps w_s,x_s,w_d,x_d 6224eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtpu w_s,x_s,w_d,x_d 6225eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6226eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs d,s (fcvt to signed integer, to zero) 6227eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu d,s (fcvt to unsigned integer, to zero) 6228eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs 2d,4s,2s 6229eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu 2d,4s,2s 6230eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs w_s,x_s,w_d,x_d 6231eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu w_s,x_s,w_d,x_d 6232eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6233eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs d,s (fcvt to signed fixedpt, to zero) (w/ #fbits) 6234eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu d,s (fcvt to unsigned fixedpt, to zero) (w/ #fbits) 6235eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs 2d,4s,2s 6236eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu 2d,4s,2s 6237eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzs w_s,x_s,w_d,x_d (fcvt to signed fixedpt, to zero) (w/ #fbits) 6238eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtzu w_s,x_s,w_d,x_d (fcvt to unsigned fixedpt, to zero) (w/ #fbits) 6239eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6240eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtxn s_d (fcvt to lower prec narrow, rounding to odd) 6241eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov fcvtxn 2s_2d,4s_2d 6242eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6243eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf d,s _#fbits 6244eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf d,s _#fbits 6245eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6246eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf 2d,4s,2s _#fbits 6247eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf 2d,4s,2s _#fbits 6248eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6249eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf d,s 6250eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf d,s 6251eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6252eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf 2d,4s,2s 6253eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf 2d,4s,2s 6254eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6255eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf s_w, d_w, s_x, d_x, _#fbits 6256eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf s_w, d_w, s_x, d_x, _#fbits 6257eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6258eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov scvtf s_w, d_w, s_x, d_x 6259eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ucvtf s_w, d_w, s_x, d_x 6260eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6261eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ======================== INT ======================== 6262eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6263eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov abs d 6264eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov neg d 6265eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6266eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov abs 2d,4s,2s,8h,4h,16b,8b 6267eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov neg 2d,4s,2s,8h,4h,16b,8b 6268eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6269eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov add d 6270eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sub d 6271eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6272eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov add 2d,4s,2s,8h,4h,16b,8b 6273eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sub 2d,4s,2s,8h,4h,16b,8b 6274eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6275eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 6276eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov subhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 6277eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov raddhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 6278eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rsubhn{2} 2s/4s_2d_2d, 4h/8h_4s_4s, 8b/16b_8h_8h 6279eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6280eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addp d (add pairs, across) 6281eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addp 2d,4s,2s,8h,4h,16b,8b 6282eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addv 4s,8h,4h,16b,18b (reduce across vector) 6283eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6284eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov and 16b,8b 6285eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6286eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov orr 8h,4h #imm8, LSL #0 or 8 6287eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov orr 4s,2s #imm8, LSL #0, 8, 16 or 24 6288eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bic 8h,4h #imm8, LSL #0 or 8 6289eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bic 4s,2s #imm8, LSL #0, 8, 16 or 24 6290eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov also movi, mvni 6291eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6292eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bic 16b,8b (vector,reg) (bit clear) 6293eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bif 16b,8b (vector) (bit insert if false) 6294eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bit 16b,8b (vector) (bit insert if true) 6295eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov bsl 16b,8b (vector) (bit select) 6296eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6297eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cls 4s,2s,8h,4h,16b,8b (count leading sign bits) 6298eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov clz 4s,2s,8h,4h,16b,8b (count leading zero bits) 6299eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6300eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmeq d 6301eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmge d 6302eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmgt d 6303eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmhi d 6304eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmhs d 6305eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmtst d 6306eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6307eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmeq 2d,4s,2s,8h,4h,16b,8b 6308eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmge 2d,4s,2s,8h,4h,16b,8b 6309eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmgt 2d,4s,2s,8h,4h,16b,8b 6310eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmhi 2d,4s,2s,8h,4h,16b,8b 6311eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmhs 2d,4s,2s,8h,4h,16b,8b 6312eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmtst 2d,4s,2s,8h,4h,16b,8b 6313eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6314eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmeq_z d 6315eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmge_z d 6316eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmgt_z d 6317eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmle_z d 6318eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmlt_z d 6319eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6320eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmeq_z 2d,4s,2s,8h,4h,16b,8b 6321eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmge_z 2d,4s,2s,8h,4h,16b,8b 6322eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmgt_z 2d,4s,2s,8h,4h,16b,8b 6323eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmle_z 2d,4s,2s,8h,4h,16b,8b 6324eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cmlt_z 2d,4s,2s,8h,4h,16b,8b 6325eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6326eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov cnt 16b,8b (population count per byte) 6327eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6328eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov dup d,s,h,b (vec elem to scalar) 6329eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov dup 2d,4s,2s,8h,4h,16b,8b (vec elem to vector) 6330eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov dup 2d,4s,2s,8h,4h,16b,8b (general reg to vector) 6331eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6332eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov eor 16b,8b (vector) 6333eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ext 16b,8b,#imm4 (concat 2 vectors, then slice) 6334eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6335eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ins d[]_d[],s[]_s[],h[]_h[],b[]_b[] 6336eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6337eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ins d[]_x, s[]_w, h[]_w, b[]_w 6338eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6339eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mla 4s_4s_s[],2s_2s_s[],8h_8h_h[],4h_4h_h[] 6340eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mla 4s,2s,8h,4h,16b,8b 6341eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6342eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mls 4s_4s_s[],2s_2s_s[],8h_8h_h[],4h_4h_h[] 6343eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mls 4s,2s,8h,4h,16b,8b 6344eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6345eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 16b,8b #imm8, LSL #0 6346eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 8h,4h #imm8, LSL #0 or 8 6347eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 4s,2s #imm8, LSL #0, 8, 16, 24 6348eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 4s,2s #imm8, MSL #8 or 16 6349eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi d, #imm64 6350eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov movi 2d, #imm64 6351eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6352eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mul 4s_4s_s[],2s_2s_s[],8h_8h_h[],4h_4h_h[] 6353eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mul 4s,2s,8h,4h,16b,8b 6354eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6355eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mvni 8h,4h #imm8, LSL #0 or 8 6356eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mvni 4s,2s #imm8, LSL #0, 8, 16, 24 6357eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov mvni 4s,2s #imm8, MSL #8 or 16 6358eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6359eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov not 16b,8b 6360eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6361eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov orn 16b,8b 6362eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov orr 16b,8b 6363eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6364eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov pmul 16b,8b 6365eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6366eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov pmull{2} 8h_8b_8b,8h_16b_16b,1q_1d_1d,1d_2d_2d 6367eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6368eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rbit 16b,8b 6369eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rev16 16b,8b 6370eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rev32 16b,8b,8h,4h 6371eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rev64 16b,8b,8h,4h,4s,2s 6372eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6373eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saba 16b,8b,8h,4h,4s,2s 6374eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaba 16b,8b,8h,4h,4s,2s 6375eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6376eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sabal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6377eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uabal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6378eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6379eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sabd 16b,8b,8h,4h,4s,2s 6380eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uabd 16b,8b,8h,4h,4s,2s 6381eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6382eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sabdl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6383eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uabdl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6384eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6385eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sadalp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 6386eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uadalp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 6387eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6388eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saddl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6389eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaddl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6390eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ssubl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6391eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usubl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6392eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6393eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saddlp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 6394eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaddlp 4h_8b,8h_16b,2s_4h,4s_8h,1d_2s,2d_4s 6395eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6396eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saddlv h_16b/8b, s_8h/4h, d_4s 6397eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaddlv h_16b/8b, s_8h/4h, d_4s 6398eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6399eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov saddw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_2s/4s 6400eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uaddw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_2s/4s 6401eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ssubw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_2s/4s 6402eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usubw{2} 8h_8h_16b/8b, 4s_4s_8h/4h, 2d_2d_2s/4s 6403eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6404eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shadd 16b,8b,8h,4h,4s,2s 6405eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uhadd 16b,8b,8h,4h,4s,2s 6406eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shsub 16b,8b,8h,4h,4s,2s 6407eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uhsub 16b,8b,8h,4h,4s,2s 6408eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6409eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shl d_#imm 6410eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shl 16b,8b,8h,4h,4s,2s,2d _#imm 6411eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6412eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shll{2} 8h_8b/16b_#8, 4s_4h/8h_#16, 2d_2s/4s_#32 6413eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6414eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov shrn{2} 2s/4s_2d, 8h/4h_4s, 2s/4s_2d, #imm in 1 .. elem_bits 6415eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov rshrn{2} 2s/4s_2d, 8h/4h_4s, 2s/4s_2d, #imm in 1 .. elem_bits 6416eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6417eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sli d_#imm 6418eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sri d_#imm 6419eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6420eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sli 2d,4s,2s,8h,4h,16b,8b _#imm 6421eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sri 2d,4s,2s,8h,4h,16b,8b _#imm 6422eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6423eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smax 4s,2s,8h,4h,16b,8b 6424eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umax 4s,2s,8h,4h,16b,8b 6425eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smin 4s,2s,8h,4h,16b,8b 6426eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umin 4s,2s,8h,4h,16b,8b 6427eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6428eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smaxp 4s,2s,8h,4h,16b,8b 6429eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umaxp 4s,2s,8h,4h,16b,8b 6430eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sminp 4s,2s,8h,4h,16b,8b 6431eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uminp 4s,2s,8h,4h,16b,8b 6432eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6433eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smaxv s_4s,h_8h,h_4h,b_16b,b_8b 6434eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umaxv s_4s,h_8h,h_4h,b_16b,b_8b 6435eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sminv s_4s,h_8h,h_4h,b_16b,b_8b 6436eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uminv s_4s,h_8h,h_4h,b_16b,b_8b 6437eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6438eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smlal{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 6439eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umlal{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 6440eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smlsl{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 6441eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umlsl{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 6442eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smull{2} 2d_2s/4s_s[]. 4s_4h/8h_h[] 6443eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umull{2} 2d_2s/4s_s[]. 4s_4h/8h_h[] 6444eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6445eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smlal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6446eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umlal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6447eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smlsl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6448eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umlsl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6449eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smull{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6450eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umull{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h), 8h_(8b_8b)/(16b_16b) 6451eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6452eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov smov w_b[], w_h[], x_b[], x_h[], x_s[] 6453eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov umov w_b[], w_h[], x_b[], x_h[], x_s[] 6454eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6455eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqabs d,s,h,b 6456eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqneg d,s,h,b 6457eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6458eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqabs 2d,4s,2s,8h,4h,16b,8b 6459eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqneg 2d,4s,2s,8h,4h,16b,8b 6460eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6461eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqadd d,s,h,b 6462eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqadd d,s,h,b 6463eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqsub d,s,h,b 6464eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqsub d,s,h,b 6465eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6466eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqadd 2d,4s,2s,8h,4h,16b,8b 6467eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqadd 2d,4s,2s,8h,4h,16b,8b 6468eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqsub 2d,4s,2s,8h,4h,16b,8b 6469eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqsub 2d,4s,2s,8h,4h,16b,8b 6470eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6471eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlal d_s_s[], s_h_h[] 6472eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlsl d_s_s[], s_h_h[] 6473eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmull d_s_s[], s_h_h[] 6474eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6475eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlal{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 6476eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlsl{2} 2d_2s/4s_s[], 4s_4h/8h_h[] 6477eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmull{2} 2d_2s/4s_s[], 4s_4h/2h_h[] 6478eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6479eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlal d_s_s, s_h_h 6480eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlsl d_s_s, s_h_h 6481eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmull d_s_s, s_h_h 6482eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6483eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlal{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h) 6484eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmlsl{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h) 6485eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmull{2} 2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h) 6486eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6487eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmulh s_s_s[], h_h_h[] 6488eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrdmulh s_s_s[], h_h_h[] 6489eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6490eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmulh 4s_4s_s[], 2s_2s_s[], 8h_8h_h[], 4h_4h_h[] 6491eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrdmulh 4s_4s_s[], 2s_2s_s[], 8h_8h_h[], 4h_4h_h[] 6492eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6493eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmulh h,s 6494eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrdmulh h,s 6495eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6496eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqdmulh 4s,2s,8h,4h 6497eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrdmulh 4s,2s,8h,4h 6498eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6499eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshl d,s,h,b 6500eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshl d,s,h,b 6501eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshl d,s,h,b 6502eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqrshl d,s,h,b 6503eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6504eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshl 2d,4s,2s,8h,4h,16b,8b 6505eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshl 2d,4s,2s,8h,4h,16b,8b 6506eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshl 2d,4s,2s,8h,4h,16b,8b 6507eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqrshl 2d,4s,2s,8h,4h,16b,8b 6508eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6509eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshrn s_d, h_s, b_h #imm 6510eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqrshrn s_d, h_s, b_h #imm 6511eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshrn s_d, h_s, b_h #imm 6512eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshrn s_d, h_s, b_h #imm 6513eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6514eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshrun s_d, h_s, b_h #imm 6515eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshrun s_d, h_s, b_h #imm 6516eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6517eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 6518eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqrshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 6519eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 6520eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshrn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 6521eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6522eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqrshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 6523eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshrun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h, #imm 6524eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6525eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshl d,s,h,b _#imm 6526eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshl d,s,h,b _#imm 6527eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshlu d,s,h,b _#imm 6528eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6529eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshl 2d,4s,2s,8h,4h,16b,8b _#imm 6530eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqshl 2d,4s,2s,8h,4h,16b,8b _#imm 6531eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqshlu 2d,4s,2s,8h,4h,16b,8b _#imm 6532eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6533eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqxtn s_d,h_s,b_h 6534eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqxtn s_d,h_s,b_h 6535eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqxtun s_d,h_s,b_h 6536eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6537eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqxtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 6538eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uqxtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 6539eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sqxtun{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 6540eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6541eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srhadd 4s,2s,8h,4h,16b,8b 6542eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urhadd 4s,2s,8h,4h,16b,8b 6543eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6544eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshl (reg) d 6545eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushl (reg) d 6546eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshr (imm) d 6547eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushr (imm) d 6548eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ssra (imm) d 6549eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usra (imm) d 6550eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6551eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srshl (reg) d 6552eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urshl (reg) d 6553eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srshr (imm) d 6554eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urshr (imm) d 6555eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srsra (imm) d 6556eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ursra (imm) d 6557eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6558eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshl 2d,4s,2s,8h,4h,16b,8b 6559eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushl 2d,4s,2s,8h,4h,16b,8b 6560eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshr 2d,4s,2s,8h,4h,16b,8b 6561eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushr 2d,4s,2s,8h,4h,16b,8b 6562eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ssra 2d,4s,2s,8h,4h,16b,8b 6563eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usra 2d,4s,2s,8h,4h,16b,8b 6564eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6565eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srshl 2d,4s,2s,8h,4h,16b,8b 6566eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urshl 2d,4s,2s,8h,4h,16b,8b 6567eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srshr 2d,4s,2s,8h,4h,16b,8b 6568eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urshr 2d,4s,2s,8h,4h,16b,8b 6569eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov srsra 2d,4s,2s,8h,4h,16b,8b 6570eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ursra 2d,4s,2s,8h,4h,16b,8b 6571eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6572eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sshll{2} (imm) 2d_2s/4s 4s_4h/8h, 8h_8b/16b 6573eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ushll{2} (imm) 2d_2s/4s 4s_4h/8h, 8h_8b/16b 6574eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6575eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov suqadd d,s,h,b 6576eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov suqadd 2d,4s,2s,8h,4h,16b,8b 6577eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6578eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl 8b_{16b}_8b, 16b_{16b}_16b 6579eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl 8b_{16b,16b}_8b, 16b_{16b,16b}_16b 6580eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl 8b_{16b,16b,16b}_8b, 16b_{16b,16b,16b}_16b 6581eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbl 8b_{16b,16b,16b,16b}_8b, 16b_{16b,16b,16b,16b}_16b 6582eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6583eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx 8b_{16b}_8b, 16b_{16b}_16b 6584eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx 8b_{16b,16b}_8b, 16b_{16b,16b}_16b 6585eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx 8b_{16b,16b,16b}_8b, 16b_{16b,16b,16b}_16b 6586eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov tbx 8b_{16b,16b,16b,16b}_8b, 16b_{16b,16b,16b,16b}_16b 6587eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6588eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov trn1 2d,4s,2s,8h,4h,16b,8b 6589eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov trn2 2d,4s,2s,8h,4h,16b,8b 6590eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6591eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov urecpe 4s,2s 6592eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6593eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ursqrte 4s,2s 6594eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6595eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usqadd d,s,h,b 6596eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov usqadd 2d,4s,2s,8h,4h,16b,8b 6597eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6598eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uzp1 2d,4s,2s,8h,4h,16b,8b 6599eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov uzp2 2d,4s,2s,8h,4h,16b,8b 6600eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6601eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov xtn{2} 2s/4s_2d, 4h/8h_4s, 8b/16b_8h 6602eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6603eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov zip1 2d,4s,2s,8h,4h,16b,8b 6604eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov zip2 2d,4s,2s,8h,4h,16b,8b 6605eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6606eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ======================== MEM ======================== 6607eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6608eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld1 (multiple 1-element structures to 1/2/3/4 regs) 6609eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld1 (single 1-element structure to one lane of 1 reg) 6610eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld1r (single 1-element structure and rep to all lanes of 1 reg) 6611eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6612eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld2 (multiple 2-element structures to 2 regs) 6613eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld2 (single 2-element structure to one lane of 2 regs) 6614eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld2r (single 2-element structure and rep to all lanes of 2 regs) 6615eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6616eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld3 (multiple 3-element structures to 3 regs) 6617eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld3 (single 3-element structure to one lane of 3 regs) 6618eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld3r (single 3-element structure and rep to all lanes of 3 regs) 6619eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6620eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld4 (multiple 4-element structures to 4 regs) 6621eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld4 (single 4-element structure to one lane of 4 regs) 6622eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ld4r (single 4-element structure and rep to all lanes of 4 regs) 6623eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6624eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldnp q_q_addr,d_d_addr,s_s_addr (load pair w/ non-temporal hint) 6625eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = reg + uimm7 * reg_size 6626eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6627eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldp q_q_addr,d_d_addr,s_s_addr (load pair) 6628eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP],#imm or [Xn|SP,#imm]! or [Xn|SP,#imm] 6629eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6630eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldr q,d,s,h,b from addr 6631eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP],#imm or [Xn|SP,#imm]! or [Xn|SP,#imm] 6632eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6633eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldr q,d,s from pc+#imm19 6634eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6635eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldr q,d,s,h,b from addr 6636eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP, R <extend> <shift] 6637eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6638eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ldur q,d,s,h,b from addr 6639eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP,#imm] (unscaled offset) 6640eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6641eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st1 (multiple 1-element structures from 1/2/3/4 regs) 6642eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st1 (single 1-element structure for 1 lane of 1 reg) 6643eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6644eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st2 (multiple 2-element structures from 2 regs) 6645eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st2 (single 2-element structure from 1 lane of 2 regs) 6646eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6647eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st3 (multiple 3-element structures from 3 regs) 6648eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st3 (single 3-element structure from 1 lane of 3 regs) 6649eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6650eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st4 (multiple 4-element structures from 4 regs) 6651eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov st4 (single 4-element structure from one lane of 4 regs) 6652eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6653eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov stnp q_q_addr, d_d_addr, s_s_addr 6654eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP, #imm] 6655eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6656eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov stp q_q_addr, d_d_addr, s_s_addr 6657eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP], #imm or [Xn|SP, #imm]! or [Xn|SP, #imm] 6658eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6659eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov str q,d,s,h,b_addr 6660eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP], #simm or [Xn|SP, #simm]! or [Xn|SP, #pimm] 6661eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6662eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov str q,d,s,h,b_addr 6663eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP, R <extend> <shift] 6664eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6665eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov stur q,d,s,h,b_addr 6666eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov addr = [Xn|SP,#imm] (unscaled offset) 6667eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6668eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov ======================== CRYPTO ======================== 6669eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6670eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov aesd 16b (aes single round decryption) 6671eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov aese 16b (aes single round encryption) 6672eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov aesimc 16b (aes inverse mix columns) 6673eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov aesmc 16b (aes mix columns) 6674eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6675eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1c q_s_4s 6676eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1h s_s 6677eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1m q_s_4s 6678eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1p q_s_4s 6679eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1su0 4s_4s_4s 6680eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha1su1 4s_4s 6681eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov 6682eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha256h2 q_q_4s 6683eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha256h q_q_4s 6684eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha256su0 4s_4s 6685eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov sha256su1 4s_4s_4s 6686eb0bae136f4eeaaf29761dddb148b118fb824632Dmitriy Ivanov*/ 6687