blob: 1f33449b23ceecc0c4307686bd4c9ceec9015946 [file]
// Code generated by 'simdgen -o godefs -goroot $GOROOT -arch sve -arm64Path $ARM64_ISA_PATH go_sve.yaml types.yaml categories.yaml'; DO NOT EDIT.
package main
func simdARM64SVEOps(z11, z21, zkv, z2kk, z2kv, z2kvPred, z3kvPred regInfo) []opData {
return []opData{
{name: "ZABSB", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
{name: "ZABSD", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
{name: "ZABSH", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
{name: "ZABSMergingB", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
{name: "ZABSMergingD", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
{name: "ZABSMergingH", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
{name: "ZABSMergingS", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
{name: "ZABSS", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
{name: "ZADDB", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
{name: "ZADDD", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
{name: "ZADDH", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
{name: "ZADDMergingB", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
{name: "ZADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
{name: "ZADDMergingH", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
{name: "ZADDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
{name: "ZADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
{name: "ZADDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
{name: "ZADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
{name: "ZADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
{name: "ZADDS", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
{name: "ZANDD", argLength: 2, reg: z21, asm: "ZAND", commutative: true, typ: "Vec256"},
{name: "ZANDMergingB", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
{name: "ZANDMergingD", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
{name: "ZANDMergingH", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
{name: "ZANDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
{name: "ZANDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
{name: "ZANDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
{name: "ZANDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
{name: "ZANDMergingS", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
{name: "ZCMPEQB", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
{name: "ZCMPEQD", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
{name: "ZCMPEQH", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
{name: "ZCMPEQS", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
{name: "ZCMPGEB", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
{name: "ZCMPGED", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
{name: "ZCMPGEH", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
{name: "ZCMPGES", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
{name: "ZCMPGTB", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
{name: "ZCMPGTD", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
{name: "ZCMPGTH", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
{name: "ZCMPGTS", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
{name: "ZCMPHIB", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
{name: "ZCMPHID", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
{name: "ZCMPHIH", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
{name: "ZCMPHIS", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
{name: "ZCMPHSB", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
{name: "ZCMPHSD", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
{name: "ZCMPHSH", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
{name: "ZCMPHSS", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
{name: "ZCMPNEB", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
{name: "ZCMPNED", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
{name: "ZCMPNEH", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
{name: "ZCMPNES", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
{name: "ZEORD", argLength: 2, reg: z21, asm: "ZEOR", commutative: true, typ: "Vec256"},
{name: "ZEORMergingB", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
{name: "ZEORMergingD", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
{name: "ZEORMergingH", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
{name: "ZEORMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
{name: "ZEORMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
{name: "ZEORMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
{name: "ZEORMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
{name: "ZEORMergingS", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
{name: "ZFABSD", argLength: 2, reg: zkv, asm: "ZFABS", typ: "Vec256"},
{name: "ZFABSMergingD", argLength: 3, reg: z2kvPred, asm: "ZFABS", typ: "Vec256", resultInArg0: true},
{name: "ZFABSMergingS", argLength: 3, reg: z2kvPred, asm: "ZFABS", typ: "Vec256", resultInArg0: true},
{name: "ZFABSS", argLength: 2, reg: zkv, asm: "ZFABS", typ: "Vec256"},
{name: "ZFADDD", argLength: 2, reg: z21, asm: "ZFADD", commutative: true, typ: "Vec256"},
{name: "ZFADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZFADD", commutative: true, typ: "Vec256"},
{name: "ZFADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZFADD", typ: "Vec256", resultInArg0: true},
{name: "ZFADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZFADD", typ: "Vec256", resultInArg0: true},
{name: "ZFADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZFADD", commutative: true, typ: "Vec256"},
{name: "ZFADDS", argLength: 2, reg: z21, asm: "ZFADD", commutative: true, typ: "Vec256"},
{name: "ZFCMEQD", argLength: 3, reg: z2kk, asm: "ZFCMEQ", commutative: true, typ: "Mask"},
{name: "ZFCMEQS", argLength: 3, reg: z2kk, asm: "ZFCMEQ", commutative: true, typ: "Mask"},
{name: "ZFCMGED", argLength: 3, reg: z2kk, asm: "ZFCMGE", typ: "Mask"},
{name: "ZFCMGES", argLength: 3, reg: z2kk, asm: "ZFCMGE", typ: "Mask"},
{name: "ZFCMGTD", argLength: 3, reg: z2kk, asm: "ZFCMGT", typ: "Mask"},
{name: "ZFCMGTS", argLength: 3, reg: z2kk, asm: "ZFCMGT", typ: "Mask"},
{name: "ZFCMNED", argLength: 3, reg: z2kk, asm: "ZFCMNE", commutative: true, typ: "Mask"},
{name: "ZFCMNES", argLength: 3, reg: z2kk, asm: "ZFCMNE", commutative: true, typ: "Mask"},
{name: "ZFNEGD", argLength: 2, reg: zkv, asm: "ZFNEG", typ: "Vec256"},
{name: "ZFNEGMergingD", argLength: 3, reg: z2kvPred, asm: "ZFNEG", typ: "Vec256", resultInArg0: true},
{name: "ZFNEGMergingS", argLength: 3, reg: z2kvPred, asm: "ZFNEG", typ: "Vec256", resultInArg0: true},
{name: "ZFNEGS", argLength: 2, reg: zkv, asm: "ZFNEG", typ: "Vec256"},
{name: "ZFRINTMD", argLength: 2, reg: zkv, asm: "ZFRINTM", typ: "Vec256"},
{name: "ZFRINTMS", argLength: 2, reg: zkv, asm: "ZFRINTM", typ: "Vec256"},
{name: "ZFRINTND", argLength: 2, reg: zkv, asm: "ZFRINTN", typ: "Vec256"},
{name: "ZFRINTNS", argLength: 2, reg: zkv, asm: "ZFRINTN", typ: "Vec256"},
{name: "ZFRINTPD", argLength: 2, reg: zkv, asm: "ZFRINTP", typ: "Vec256"},
{name: "ZFRINTPS", argLength: 2, reg: zkv, asm: "ZFRINTP", typ: "Vec256"},
{name: "ZFRINTZD", argLength: 2, reg: zkv, asm: "ZFRINTZ", typ: "Vec256"},
{name: "ZFRINTZS", argLength: 2, reg: zkv, asm: "ZFRINTZ", typ: "Vec256"},
{name: "ZFSQRTD", argLength: 2, reg: zkv, asm: "ZFSQRT", typ: "Vec256"},
{name: "ZFSQRTMergingD", argLength: 3, reg: z2kvPred, asm: "ZFSQRT", typ: "Vec256", resultInArg0: true},
{name: "ZFSQRTMergingS", argLength: 3, reg: z2kvPred, asm: "ZFSQRT", typ: "Vec256", resultInArg0: true},
{name: "ZFSQRTS", argLength: 2, reg: zkv, asm: "ZFSQRT", typ: "Vec256"},
{name: "ZFSUBD", argLength: 2, reg: z21, asm: "ZFSUB", typ: "Vec256"},
{name: "ZFSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZFSUB", typ: "Vec256", resultInArg0: true},
{name: "ZFSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZFSUB", typ: "Vec256", resultInArg0: true},
{name: "ZFSUBS", argLength: 2, reg: z21, asm: "ZFSUB", typ: "Vec256"},
{name: "ZNEGB", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
{name: "ZNEGD", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
{name: "ZNEGH", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
{name: "ZNEGMergingB", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
{name: "ZNEGMergingD", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
{name: "ZNEGMergingH", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
{name: "ZNEGMergingS", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
{name: "ZNEGS", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
{name: "ZORRD", argLength: 2, reg: z21, asm: "ZORR", commutative: true, typ: "Vec256"},
{name: "ZORRMergingB", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
{name: "ZORRMergingD", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
{name: "ZORRMergingH", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
{name: "ZORRMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
{name: "ZORRMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
{name: "ZORRMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
{name: "ZORRMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
{name: "ZORRMergingS", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
{name: "ZSQADDB", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
{name: "ZSQADDD", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
{name: "ZSQADDH", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
{name: "ZSQADDMergingB", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
{name: "ZSQADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
{name: "ZSQADDMergingH", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
{name: "ZSQADDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
{name: "ZSQADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
{name: "ZSQADDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
{name: "ZSQADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
{name: "ZSQADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
{name: "ZSQADDS", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
{name: "ZSQSUBB", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
{name: "ZSQSUBD", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
{name: "ZSQSUBH", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
{name: "ZSQSUBMergingB", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
{name: "ZSQSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
{name: "ZSQSUBMergingH", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
{name: "ZSQSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
{name: "ZSQSUBS", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
{name: "ZSUBB", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
{name: "ZSUBD", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
{name: "ZSUBH", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
{name: "ZSUBMergingB", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
{name: "ZSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
{name: "ZSUBMergingH", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
{name: "ZSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
{name: "ZSUBS", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
{name: "ZUQADDB", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
{name: "ZUQADDD", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
{name: "ZUQADDH", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
{name: "ZUQADDMergingB", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
{name: "ZUQADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
{name: "ZUQADDMergingH", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
{name: "ZUQADDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
{name: "ZUQADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
{name: "ZUQADDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
{name: "ZUQADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
{name: "ZUQADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
{name: "ZUQADDS", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
{name: "ZUQSUBB", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
{name: "ZUQSUBD", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
{name: "ZUQSUBH", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
{name: "ZUQSUBMergingB", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
{name: "ZUQSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
{name: "ZUQSUBMergingH", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
{name: "ZUQSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
{name: "ZUQSUBS", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
}
}