Source file src/cmd/compile/internal/ssa/_gen/simdARM64SVEops.go

     1  // Code generated by 'simdgen -o godefs -goroot $GOROOT -arch sve -arm64Path $ARM64_ISA_PATH go_sve.yaml types.yaml categories.yaml'; DO NOT EDIT.
     2  
     3  package main
     4  
     5  func simdARM64SVEOps(z11, z21, zkv, z2kk, z2kv, z2kvPred, z3kvPred regInfo) []opData {
     6  	return []opData{
     7  		{name: "ZABSB", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
     8  		{name: "ZABSD", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
     9  		{name: "ZABSH", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
    10  		{name: "ZABSMergingB", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
    11  		{name: "ZABSMergingD", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
    12  		{name: "ZABSMergingH", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
    13  		{name: "ZABSMergingS", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
    14  		{name: "ZABSS", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
    15  		{name: "ZADDB", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
    16  		{name: "ZADDD", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
    17  		{name: "ZADDH", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
    18  		{name: "ZADDMergingB", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
    19  		{name: "ZADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
    20  		{name: "ZADDMergingH", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
    21  		{name: "ZADDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
    22  		{name: "ZADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
    23  		{name: "ZADDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
    24  		{name: "ZADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
    25  		{name: "ZADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
    26  		{name: "ZADDS", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
    27  		{name: "ZANDD", argLength: 2, reg: z21, asm: "ZAND", commutative: true, typ: "Vec256"},
    28  		{name: "ZANDMergingB", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
    29  		{name: "ZANDMergingD", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
    30  		{name: "ZANDMergingH", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
    31  		{name: "ZANDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
    32  		{name: "ZANDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
    33  		{name: "ZANDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
    34  		{name: "ZANDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
    35  		{name: "ZANDMergingS", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
    36  		{name: "ZBICD", argLength: 2, reg: z21, asm: "ZBIC", typ: "Vec256"},
    37  		{name: "ZBICMergingB", argLength: 3, reg: z2kvPred, asm: "ZBIC", typ: "Vec256", resultInArg0: true},
    38  		{name: "ZBICMergingD", argLength: 3, reg: z2kvPred, asm: "ZBIC", typ: "Vec256", resultInArg0: true},
    39  		{name: "ZBICMergingH", argLength: 3, reg: z2kvPred, asm: "ZBIC", typ: "Vec256", resultInArg0: true},
    40  		{name: "ZBICMergingS", argLength: 3, reg: z2kvPred, asm: "ZBIC", typ: "Vec256", resultInArg0: true},
    41  		{name: "ZCMPEQB", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
    42  		{name: "ZCMPEQD", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
    43  		{name: "ZCMPEQH", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
    44  		{name: "ZCMPEQS", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
    45  		{name: "ZCMPGEB", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
    46  		{name: "ZCMPGED", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
    47  		{name: "ZCMPGEH", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
    48  		{name: "ZCMPGES", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
    49  		{name: "ZCMPGTB", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
    50  		{name: "ZCMPGTD", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
    51  		{name: "ZCMPGTH", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
    52  		{name: "ZCMPGTS", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
    53  		{name: "ZCMPHIB", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
    54  		{name: "ZCMPHID", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
    55  		{name: "ZCMPHIH", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
    56  		{name: "ZCMPHIS", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
    57  		{name: "ZCMPHSB", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
    58  		{name: "ZCMPHSD", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
    59  		{name: "ZCMPHSH", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
    60  		{name: "ZCMPHSS", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
    61  		{name: "ZCMPNEB", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
    62  		{name: "ZCMPNED", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
    63  		{name: "ZCMPNEH", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
    64  		{name: "ZCMPNES", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
    65  		{name: "ZEORD", argLength: 2, reg: z21, asm: "ZEOR", commutative: true, typ: "Vec256"},
    66  		{name: "ZEORMergingB", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
    67  		{name: "ZEORMergingD", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
    68  		{name: "ZEORMergingH", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
    69  		{name: "ZEORMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
    70  		{name: "ZEORMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
    71  		{name: "ZEORMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
    72  		{name: "ZEORMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
    73  		{name: "ZEORMergingS", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
    74  		{name: "ZFABSD", argLength: 2, reg: zkv, asm: "ZFABS", typ: "Vec256"},
    75  		{name: "ZFABSMergingD", argLength: 3, reg: z2kvPred, asm: "ZFABS", typ: "Vec256", resultInArg0: true},
    76  		{name: "ZFABSMergingS", argLength: 3, reg: z2kvPred, asm: "ZFABS", typ: "Vec256", resultInArg0: true},
    77  		{name: "ZFABSS", argLength: 2, reg: zkv, asm: "ZFABS", typ: "Vec256"},
    78  		{name: "ZFADDD", argLength: 2, reg: z21, asm: "ZFADD", commutative: true, typ: "Vec256"},
    79  		{name: "ZFADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZFADD", commutative: true, typ: "Vec256"},
    80  		{name: "ZFADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZFADD", typ: "Vec256", resultInArg0: true},
    81  		{name: "ZFADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZFADD", typ: "Vec256", resultInArg0: true},
    82  		{name: "ZFADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZFADD", commutative: true, typ: "Vec256"},
    83  		{name: "ZFADDS", argLength: 2, reg: z21, asm: "ZFADD", commutative: true, typ: "Vec256"},
    84  		{name: "ZFCMEQD", argLength: 3, reg: z2kk, asm: "ZFCMEQ", commutative: true, typ: "Mask"},
    85  		{name: "ZFCMEQS", argLength: 3, reg: z2kk, asm: "ZFCMEQ", commutative: true, typ: "Mask"},
    86  		{name: "ZFCMGED", argLength: 3, reg: z2kk, asm: "ZFCMGE", typ: "Mask"},
    87  		{name: "ZFCMGES", argLength: 3, reg: z2kk, asm: "ZFCMGE", typ: "Mask"},
    88  		{name: "ZFCMGTD", argLength: 3, reg: z2kk, asm: "ZFCMGT", typ: "Mask"},
    89  		{name: "ZFCMGTS", argLength: 3, reg: z2kk, asm: "ZFCMGT", typ: "Mask"},
    90  		{name: "ZFCMNED", argLength: 3, reg: z2kk, asm: "ZFCMNE", commutative: true, typ: "Mask"},
    91  		{name: "ZFCMNES", argLength: 3, reg: z2kk, asm: "ZFCMNE", commutative: true, typ: "Mask"},
    92  		{name: "ZFMULD", argLength: 2, reg: z21, asm: "ZFMUL", commutative: true, typ: "Vec256"},
    93  		{name: "ZFMULMergingD", argLength: 3, reg: z2kvPred, asm: "ZFMUL", commutative: true, typ: "Vec256"},
    94  		{name: "ZFMULMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZFMUL", typ: "Vec256", resultInArg0: true},
    95  		{name: "ZFMULMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZFMUL", typ: "Vec256", resultInArg0: true},
    96  		{name: "ZFMULMergingS", argLength: 3, reg: z2kvPred, asm: "ZFMUL", commutative: true, typ: "Vec256"},
    97  		{name: "ZFMULS", argLength: 2, reg: z21, asm: "ZFMUL", commutative: true, typ: "Vec256"},
    98  		{name: "ZFNEGD", argLength: 2, reg: zkv, asm: "ZFNEG", typ: "Vec256"},
    99  		{name: "ZFNEGMergingD", argLength: 3, reg: z2kvPred, asm: "ZFNEG", typ: "Vec256", resultInArg0: true},
   100  		{name: "ZFNEGMergingS", argLength: 3, reg: z2kvPred, asm: "ZFNEG", typ: "Vec256", resultInArg0: true},
   101  		{name: "ZFNEGS", argLength: 2, reg: zkv, asm: "ZFNEG", typ: "Vec256"},
   102  		{name: "ZFRINTMD", argLength: 2, reg: zkv, asm: "ZFRINTM", typ: "Vec256"},
   103  		{name: "ZFRINTMS", argLength: 2, reg: zkv, asm: "ZFRINTM", typ: "Vec256"},
   104  		{name: "ZFRINTND", argLength: 2, reg: zkv, asm: "ZFRINTN", typ: "Vec256"},
   105  		{name: "ZFRINTNS", argLength: 2, reg: zkv, asm: "ZFRINTN", typ: "Vec256"},
   106  		{name: "ZFRINTPD", argLength: 2, reg: zkv, asm: "ZFRINTP", typ: "Vec256"},
   107  		{name: "ZFRINTPS", argLength: 2, reg: zkv, asm: "ZFRINTP", typ: "Vec256"},
   108  		{name: "ZFRINTZD", argLength: 2, reg: zkv, asm: "ZFRINTZ", typ: "Vec256"},
   109  		{name: "ZFRINTZS", argLength: 2, reg: zkv, asm: "ZFRINTZ", typ: "Vec256"},
   110  		{name: "ZFSQRTD", argLength: 2, reg: zkv, asm: "ZFSQRT", typ: "Vec256"},
   111  		{name: "ZFSQRTMergingD", argLength: 3, reg: z2kvPred, asm: "ZFSQRT", typ: "Vec256", resultInArg0: true},
   112  		{name: "ZFSQRTMergingS", argLength: 3, reg: z2kvPred, asm: "ZFSQRT", typ: "Vec256", resultInArg0: true},
   113  		{name: "ZFSQRTS", argLength: 2, reg: zkv, asm: "ZFSQRT", typ: "Vec256"},
   114  		{name: "ZFSUBD", argLength: 2, reg: z21, asm: "ZFSUB", typ: "Vec256"},
   115  		{name: "ZFSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZFSUB", typ: "Vec256", resultInArg0: true},
   116  		{name: "ZFSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZFSUB", typ: "Vec256", resultInArg0: true},
   117  		{name: "ZFSUBS", argLength: 2, reg: z21, asm: "ZFSUB", typ: "Vec256"},
   118  		{name: "ZMULB", argLength: 2, reg: z21, asm: "ZMUL", commutative: true, typ: "Vec256"},
   119  		{name: "ZMULD", argLength: 2, reg: z21, asm: "ZMUL", commutative: true, typ: "Vec256"},
   120  		{name: "ZMULH", argLength: 2, reg: z21, asm: "ZMUL", commutative: true, typ: "Vec256"},
   121  		{name: "ZMULMergingB", argLength: 3, reg: z2kvPred, asm: "ZMUL", commutative: true, typ: "Vec256"},
   122  		{name: "ZMULMergingD", argLength: 3, reg: z2kvPred, asm: "ZMUL", commutative: true, typ: "Vec256"},
   123  		{name: "ZMULMergingH", argLength: 3, reg: z2kvPred, asm: "ZMUL", commutative: true, typ: "Vec256"},
   124  		{name: "ZMULMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZMUL", typ: "Vec256", resultInArg0: true},
   125  		{name: "ZMULMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZMUL", typ: "Vec256", resultInArg0: true},
   126  		{name: "ZMULMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZMUL", typ: "Vec256", resultInArg0: true},
   127  		{name: "ZMULMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZMUL", typ: "Vec256", resultInArg0: true},
   128  		{name: "ZMULMergingS", argLength: 3, reg: z2kvPred, asm: "ZMUL", commutative: true, typ: "Vec256"},
   129  		{name: "ZMULS", argLength: 2, reg: z21, asm: "ZMUL", commutative: true, typ: "Vec256"},
   130  		{name: "ZNEGB", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
   131  		{name: "ZNEGD", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
   132  		{name: "ZNEGH", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
   133  		{name: "ZNEGMergingB", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
   134  		{name: "ZNEGMergingD", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
   135  		{name: "ZNEGMergingH", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
   136  		{name: "ZNEGMergingS", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
   137  		{name: "ZNEGS", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
   138  		{name: "ZORRD", argLength: 2, reg: z21, asm: "ZORR", commutative: true, typ: "Vec256"},
   139  		{name: "ZORRMergingB", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
   140  		{name: "ZORRMergingD", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
   141  		{name: "ZORRMergingH", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
   142  		{name: "ZORRMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
   143  		{name: "ZORRMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
   144  		{name: "ZORRMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
   145  		{name: "ZORRMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
   146  		{name: "ZORRMergingS", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
   147  		{name: "ZSMULHB", argLength: 2, reg: z21, asm: "ZSMULH", commutative: true, typ: "Vec256"},
   148  		{name: "ZSMULHD", argLength: 2, reg: z21, asm: "ZSMULH", commutative: true, typ: "Vec256"},
   149  		{name: "ZSMULHH", argLength: 2, reg: z21, asm: "ZSMULH", commutative: true, typ: "Vec256"},
   150  		{name: "ZSMULHMergingB", argLength: 3, reg: z2kvPred, asm: "ZSMULH", commutative: true, typ: "Vec256"},
   151  		{name: "ZSMULHMergingD", argLength: 3, reg: z2kvPred, asm: "ZSMULH", commutative: true, typ: "Vec256"},
   152  		{name: "ZSMULHMergingH", argLength: 3, reg: z2kvPred, asm: "ZSMULH", commutative: true, typ: "Vec256"},
   153  		{name: "ZSMULHMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZSMULH", typ: "Vec256", resultInArg0: true},
   154  		{name: "ZSMULHMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZSMULH", typ: "Vec256", resultInArg0: true},
   155  		{name: "ZSMULHMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZSMULH", typ: "Vec256", resultInArg0: true},
   156  		{name: "ZSMULHMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZSMULH", typ: "Vec256", resultInArg0: true},
   157  		{name: "ZSMULHMergingS", argLength: 3, reg: z2kvPred, asm: "ZSMULH", commutative: true, typ: "Vec256"},
   158  		{name: "ZSMULHS", argLength: 2, reg: z21, asm: "ZSMULH", commutative: true, typ: "Vec256"},
   159  		{name: "ZSQADDB", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
   160  		{name: "ZSQADDD", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
   161  		{name: "ZSQADDH", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
   162  		{name: "ZSQADDMergingB", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
   163  		{name: "ZSQADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
   164  		{name: "ZSQADDMergingH", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
   165  		{name: "ZSQADDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
   166  		{name: "ZSQADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
   167  		{name: "ZSQADDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
   168  		{name: "ZSQADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
   169  		{name: "ZSQADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
   170  		{name: "ZSQADDS", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
   171  		{name: "ZSQSUBB", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
   172  		{name: "ZSQSUBD", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
   173  		{name: "ZSQSUBH", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
   174  		{name: "ZSQSUBMergingB", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
   175  		{name: "ZSQSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
   176  		{name: "ZSQSUBMergingH", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
   177  		{name: "ZSQSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
   178  		{name: "ZSQSUBS", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
   179  		{name: "ZSUBB", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
   180  		{name: "ZSUBD", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
   181  		{name: "ZSUBH", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
   182  		{name: "ZSUBMergingB", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
   183  		{name: "ZSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
   184  		{name: "ZSUBMergingH", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
   185  		{name: "ZSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
   186  		{name: "ZSUBS", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
   187  		{name: "ZUMULHB", argLength: 2, reg: z21, asm: "ZUMULH", commutative: true, typ: "Vec256"},
   188  		{name: "ZUMULHD", argLength: 2, reg: z21, asm: "ZUMULH", commutative: true, typ: "Vec256"},
   189  		{name: "ZUMULHH", argLength: 2, reg: z21, asm: "ZUMULH", commutative: true, typ: "Vec256"},
   190  		{name: "ZUMULHMergingB", argLength: 3, reg: z2kvPred, asm: "ZUMULH", commutative: true, typ: "Vec256"},
   191  		{name: "ZUMULHMergingD", argLength: 3, reg: z2kvPred, asm: "ZUMULH", commutative: true, typ: "Vec256"},
   192  		{name: "ZUMULHMergingH", argLength: 3, reg: z2kvPred, asm: "ZUMULH", commutative: true, typ: "Vec256"},
   193  		{name: "ZUMULHMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZUMULH", typ: "Vec256", resultInArg0: true},
   194  		{name: "ZUMULHMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZUMULH", typ: "Vec256", resultInArg0: true},
   195  		{name: "ZUMULHMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZUMULH", typ: "Vec256", resultInArg0: true},
   196  		{name: "ZUMULHMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZUMULH", typ: "Vec256", resultInArg0: true},
   197  		{name: "ZUMULHMergingS", argLength: 3, reg: z2kvPred, asm: "ZUMULH", commutative: true, typ: "Vec256"},
   198  		{name: "ZUMULHS", argLength: 2, reg: z21, asm: "ZUMULH", commutative: true, typ: "Vec256"},
   199  		{name: "ZUQADDB", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
   200  		{name: "ZUQADDD", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
   201  		{name: "ZUQADDH", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
   202  		{name: "ZUQADDMergingB", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
   203  		{name: "ZUQADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
   204  		{name: "ZUQADDMergingH", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
   205  		{name: "ZUQADDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
   206  		{name: "ZUQADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
   207  		{name: "ZUQADDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
   208  		{name: "ZUQADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
   209  		{name: "ZUQADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
   210  		{name: "ZUQADDS", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
   211  		{name: "ZUQSUBB", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
   212  		{name: "ZUQSUBD", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
   213  		{name: "ZUQSUBH", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
   214  		{name: "ZUQSUBMergingB", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
   215  		{name: "ZUQSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
   216  		{name: "ZUQSUBMergingH", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
   217  		{name: "ZUQSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
   218  		{name: "ZUQSUBS", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
   219  	}
   220  }
   221  

View as plain text