#include "operations.h"
static const char* const names[] = {
"error",
"abs",
"adc",
"adclb",
"adclt",
"adcs",
"add",
"addg",
"addha",
"addhn",
"addhn2",
"addhnb",
"addhnt",
"addp",
"addpl",
"addpt",
"addqp",
"addqv",
"adds",
"addspl",
"addsubp",
"addsvl",
"addv",
"addva",
"addvl",
"adr",
"adrp",
"aesd",
"aesdimc",
"aese",
"aesemc",
"aesimc",
"aesmc",
"and",
"andqv",
"ands",
"andv",
"apas",
"asr",
"asrd",
"asrr",
"asrv",
"at",
"autda",
"autdb",
"autdza",
"autdzb",
"autia",
"autia1716",
"autia171615",
"autiasp",
"autiasppc",
"autiasppcr",
"autiaz",
"autib",
"autib1716",
"autib171615",
"autibsp",
"autibsppc",
"autibsppcr",
"autibz",
"autiza",
"autizb",
"axflag",
"b",
"bc",
"bcax",
"bdep",
"bext",
"bf1cvt",
"bf1cvtl",
"bf1cvtl2",
"bf1cvtlt",
"bf2cvt",
"bf2cvtl",
"bf2cvtl2",
"bf2cvtlt",
"bfadd",
"bfc",
"bfclamp",
"bfcvt",
"bfcvtn",
"bfcvtn2",
"bfcvtnt",
"bfdot",
"bfi",
"bfm",
"bfmax",
"bfmaxnm",
"bfmin",
"bfminnm",
"bfmla",
"bfmlal",
"bfmlalb",
"bfmlalt",
"bfmls",
"bfmlsl",
"bfmlslb",
"bfmlslt",
"bfmmla",
"bfmop4a",
"bfmop4s",
"bfmopa",
"bfmops",
"bfmul",
"bfscale",
"bfsub",
"bftmopa",
"bfvdot",
"bfxil",
"bgrp",
"bic",
"bics",
"bif",
"bit",
"bl",
"blr",
"blraa",
"blraaz",
"blrab",
"blrabz",
"bmopa",
"bmops",
"br",
"braa",
"braaz",
"brab",
"brabz",
"brb",
"brk",
"brka",
"brkas",
"brkb",
"brkbs",
"brkn",
"brkns",
"brkpa",
"brkpas",
"brkpb",
"brkpbs",
"bsl",
"bsl1n",
"bsl2n",
"bti",
"b.al",
"b.lo",
"b.hs",
"b.eq",
"b.ge",
"b.gt",
"b.hi",
"b.le",
"b.ls",
"b.lt",
"b.mi",
"b.ne",
"b.nv",
"b.pl",
"b.vc",
"b.vs",
"cadd",
"cas",
"casa",
"casab",
"casah",
"casal",
"casalb",
"casalh",
"casalt",
"casat",
"casb",
"cash",
"casl",
"caslb",
"caslh",
"caslt",
"casp",
"caspa",
"caspal",
"caspalt",
"caspat",
"caspl",
"casplt",
"caspt",
"cast",
"cbbeq",
"cbbge",
"cbbgt",
"cbbhi",
"cbbhs",
"cbble",
"cbblo",
"cbbls",
"cbblt",
"cbbne",
"cbeq",
"cbge",
"cbgt",
"cbheq",
"cbhge",
"cbhgt",
"cbhhi",
"cbhhs",
"cbhi",
"cbhle",
"cbhlo",
"cbhls",
"cbhlt",
"cbhne",
"cbhs",
"cble",
"cblo",
"cbls",
"cblt",
"cbne",
"cbnz",
"cbz",
"ccmn",
"ccmp",
"cdot",
"cfinv",
"cfp",
"chkfeat",
"cinc",
"cinv",
"clasta",
"clastb",
"clrbhb",
"clrex",
"cls",
"clz",
"cmeq",
"cmge",
"cmgt",
"cmhi",
"cmhs",
"cmla",
"cmle",
"cmlt",
"cmn",
"cmp",
"cmpeq",
"cmpge",
"cmpgt",
"cmphi",
"cmphs",
"cmple",
"cmplo",
"cmpls",
"cmplt",
"cmpne",
"cmpp",
"cmtst",
"cneg",
"cnot",
"cnt",
"cntb",
"cntd",
"cnth",
"cntp",
"cntw",
"compact",
"cosp",
"cpp",
"cpy",
"cpye",
"cpyen",
"cpyern",
"cpyert",
"cpyertn",
"cpyertrn",
"cpyertwn",
"cpyet",
"cpyetn",
"cpyetrn",
"cpyetwn",
"cpyewn",
"cpyewt",
"cpyewtn",
"cpyewtrn",
"cpyewtwn",
"cpyfe",
"cpyfen",
"cpyfern",
"cpyfert",
"cpyfertn",
"cpyfertrn",
"cpyfertwn",
"cpyfet",
"cpyfetn",
"cpyfetrn",
"cpyfetwn",
"cpyfewn",
"cpyfewt",
"cpyfewtn",
"cpyfewtrn",
"cpyfewtwn",
"cpyfm",
"cpyfmn",
"cpyfmrn",
"cpyfmrt",
"cpyfmrtn",
"cpyfmrtrn",
"cpyfmrtwn",
"cpyfmt",
"cpyfmtn",
"cpyfmtrn",
"cpyfmtwn",
"cpyfmwn",
"cpyfmwt",
"cpyfmwtn",
"cpyfmwtrn",
"cpyfmwtwn",
"cpyfp",
"cpyfpn",
"cpyfprn",
"cpyfprt",
"cpyfprtn",
"cpyfprtrn",
"cpyfprtwn",
"cpyfpt",
"cpyfptn",
"cpyfptrn",
"cpyfptwn",
"cpyfpwn",
"cpyfpwt",
"cpyfpwtn",
"cpyfpwtrn",
"cpyfpwtwn",
"cpym",
"cpymn",
"cpymrn",
"cpymrt",
"cpymrtn",
"cpymrtrn",
"cpymrtwn",
"cpymt",
"cpymtn",
"cpymtrn",
"cpymtwn",
"cpymwn",
"cpymwt",
"cpymwtn",
"cpymwtrn",
"cpymwtwn",
"cpyp",
"cpypn",
"cpyprn",
"cpyprt",
"cpyprtn",
"cpyprtrn",
"cpyprtwn",
"cpypt",
"cpyptn",
"cpyptrn",
"cpyptwn",
"cpypwn",
"cpypwt",
"cpypwtn",
"cpypwtrn",
"cpypwtwn",
"crc32b",
"crc32cb",
"crc32ch",
"crc32cw",
"crc32cx",
"crc32h",
"crc32w",
"crc32x",
"csdb",
"csel",
"cset",
"csetm",
"csinc",
"csinv",
"csneg",
"ctermeq",
"ctermne",
"ctz",
"dc",
"dcps1",
"dcps2",
"dcps3",
"decb",
"decd",
"dech",
"decp",
"decw",
"dgh",
"dmb",
"drps",
"dsb",
"dup",
"dupm",
"dupq",
"dvp",
"eon",
"eor",
"eor3",
"eorbt",
"eorqv",
"eors",
"eortb",
"eorv",
"eret",
"eretaa",
"eretab",
"esb",
"expand",
"ext",
"extq",
"extr",
"f1cvt",
"f1cvtl",
"f1cvtl2",
"f1cvtlt",
"f2cvt",
"f2cvtl",
"f2cvtl2",
"f2cvtlt",
"fabd",
"fabs",
"facge",
"facgt",
"facle",
"faclt",
"fadd",
"fadda",
"faddp",
"faddqv",
"faddv",
"famax",
"famin",
"fcadd",
"fccmp",
"fccmpe",
"fclamp",
"fcmeq",
"fcmge",
"fcmgt",
"fcmla",
"fcmle",
"fcmlt",
"fcmne",
"fcmp",
"fcmpe",
"fcmuo",
"fcpy",
"fcsel",
"fcvt",
"fcvtas",
"fcvtau",
"fcvtl",
"fcvtl2",
"fcvtlt",
"fcvtms",
"fcvtmu",
"fcvtn",
"fcvtn2",
"fcvtnb",
"fcvtns",
"fcvtnt",
"fcvtnu",
"fcvtps",
"fcvtpu",
"fcvtx",
"fcvtxn",
"fcvtxn2",
"fcvtxnt",
"fcvtzs",
"fcvtzsn",
"fcvtzu",
"fcvtzun",
"fdiv",
"fdivr",
"fdot",
"fdup",
"fexpa",
"firstp",
"fjcvtzs",
"flogb",
"fmad",
"fmadd",
"fmax",
"fmaxnm",
"fmaxnmp",
"fmaxnmqv",
"fmaxnmv",
"fmaxp",
"fmaxqv",
"fmaxv",
"fmin",
"fminnm",
"fminnmp",
"fminnmqv",
"fminnmv",
"fminp",
"fminqv",
"fminv",
"fmla",
"fmlal",
"fmlal2",
"fmlalb",
"fmlall",
"fmlallbb",
"fmlallbt",
"fmlalltb",
"fmlalltt",
"fmlalt",
"fmls",
"fmlsl",
"fmlsl2",
"fmlslb",
"fmlslt",
"fmmla",
"fmop4a",
"fmop4s",
"fmopa",
"fmops",
"fmov",
"fmsb",
"fmsub",
"fmul",
"fmulx",
"fneg",
"fnmad",
"fnmadd",
"fnmla",
"fnmls",
"fnmsb",
"fnmsub",
"fnmul",
"frecpe",
"frecps",
"frecpx",
"frint32x",
"frint32z",
"frint64x",
"frint64z",
"frinta",
"frinti",
"frintm",
"frintn",
"frintp",
"frintx",
"frintz",
"frsqrte",
"frsqrts",
"fscale",
"fsqrt",
"fsub",
"fsubr",
"ftmad",
"ftmopa",
"ftsmul",
"ftssel",
"fvdot",
"fvdotb",
"fvdott",
"gcsb",
"gcspopcx",
"gcspopm",
"gcspopx",
"gcspushm",
"gcspushx",
"gcsss1",
"gcsss2",
"gcsstr",
"gcssttr",
"gic",
"gicr",
"gmi",
"gsb",
"hint",
"histcnt",
"histseg",
"hlt",
"hvc",
"ic",
"incb",
"incd",
"inch",
"incp",
"incw",
"index",
"ins",
"insr",
"irg",
"isb",
"lasta",
"lastb",
"lastp",
"ld1",
"ld1b",
"ld1d",
"ld1h",
"ld1q",
"ld1r",
"ld1rb",
"ld1rd",
"ld1rh",
"ld1rob",
"ld1rod",
"ld1roh",
"ld1row",
"ld1rqb",
"ld1rqd",
"ld1rqh",
"ld1rqw",
"ld1rsb",
"ld1rsh",
"ld1rsw",
"ld1rw",
"ld1sb",
"ld1sh",
"ld1sw",
"ld1w",
"ld2",
"ld2b",
"ld2d",
"ld2h",
"ld2q",
"ld2r",
"ld2w",
"ld3",
"ld3b",
"ld3d",
"ld3h",
"ld3q",
"ld3r",
"ld3w",
"ld4",
"ld4b",
"ld4d",
"ld4h",
"ld4q",
"ld4r",
"ld4w",
"ld64b",
"ldadd",
"ldadda",
"ldaddab",
"ldaddah",
"ldaddal",
"ldaddalb",
"ldaddalh",
"ldaddb",
"ldaddh",
"ldaddl",
"ldaddlb",
"ldaddlh",
"ldap",
"ldap1",
"ldapp",
"ldapr",
"ldaprb",
"ldaprh",
"ldapur",
"ldapurb",
"ldapurh",
"ldapursb",
"ldapursh",
"ldapursw",
"ldar",
"ldarb",
"ldarh",
"ldatxr",
"ldaxp",
"ldaxr",
"ldaxrb",
"ldaxrh",
"ldbfadd",
"ldbfadda",
"ldbfaddal",
"ldbfaddl",
"ldbfmax",
"ldbfmaxa",
"ldbfmaxal",
"ldbfmaxl",
"ldbfmaxnm",
"ldbfmaxnma",
"ldbfmaxnmal",
"ldbfmaxnml",
"ldbfmin",
"ldbfmina",
"ldbfminal",
"ldbfminl",
"ldbfminnm",
"ldbfminnma",
"ldbfminnmal",
"ldbfminnml",
"ldclr",
"ldclra",
"ldclrab",
"ldclrah",
"ldclral",
"ldclralb",
"ldclralh",
"ldclrb",
"ldclrh",
"ldclrl",
"ldclrlb",
"ldclrlh",
"ldclrp",
"ldclrpa",
"ldclrpal",
"ldclrpl",
"ldeor",
"ldeora",
"ldeorab",
"ldeorah",
"ldeoral",
"ldeoralb",
"ldeoralh",
"ldeorb",
"ldeorh",
"ldeorl",
"ldeorlb",
"ldeorlh",
"ldfadd",
"ldfadda",
"ldfaddal",
"ldfaddl",
"ldff1b",
"ldff1d",
"ldff1h",
"ldff1sb",
"ldff1sh",
"ldff1sw",
"ldff1w",
"ldfmax",
"ldfmaxa",
"ldfmaxal",
"ldfmaxl",
"ldfmaxnm",
"ldfmaxnma",
"ldfmaxnmal",
"ldfmaxnml",
"ldfmin",
"ldfmina",
"ldfminal",
"ldfminl",
"ldfminnm",
"ldfminnma",
"ldfminnmal",
"ldfminnml",
"ldg",
"ldgm",
"ldiapp",
"ldlar",
"ldlarb",
"ldlarh",
"ldnf1b",
"ldnf1d",
"ldnf1h",
"ldnf1sb",
"ldnf1sh",
"ldnf1sw",
"ldnf1w",
"ldnp",
"ldnt1b",
"ldnt1d",
"ldnt1h",
"ldnt1sb",
"ldnt1sh",
"ldnt1sw",
"ldnt1w",
"ldp",
"ldpsw",
"ldr",
"ldraa",
"ldrab",
"ldrb",
"ldrh",
"ldrsb",
"ldrsh",
"ldrsw",
"ldset",
"ldseta",
"ldsetab",
"ldsetah",
"ldsetal",
"ldsetalb",
"ldsetalh",
"ldsetb",
"ldseth",
"ldsetl",
"ldsetlb",
"ldsetlh",
"ldsetp",
"ldsetpa",
"ldsetpal",
"ldsetpl",
"ldsmax",
"ldsmaxa",
"ldsmaxab",
"ldsmaxah",
"ldsmaxal",
"ldsmaxalb",
"ldsmaxalh",
"ldsmaxb",
"ldsmaxh",
"ldsmaxl",
"ldsmaxlb",
"ldsmaxlh",
"ldsmin",
"ldsmina",
"ldsminab",
"ldsminah",
"ldsminal",
"ldsminalb",
"ldsminalh",
"ldsminb",
"ldsminh",
"ldsminl",
"ldsminlb",
"ldsminlh",
"ldtadd",
"ldtadda",
"ldtaddal",
"ldtaddl",
"ldtclr",
"ldtclra",
"ldtclral",
"ldtclrl",
"ldtnp",
"ldtp",
"ldtr",
"ldtrb",
"ldtrh",
"ldtrsb",
"ldtrsh",
"ldtrsw",
"ldtset",
"ldtseta",
"ldtsetal",
"ldtsetl",
"ldtxr",
"ldumax",
"ldumaxa",
"ldumaxab",
"ldumaxah",
"ldumaxal",
"ldumaxalb",
"ldumaxalh",
"ldumaxb",
"ldumaxh",
"ldumaxl",
"ldumaxlb",
"ldumaxlh",
"ldumin",
"ldumina",
"lduminab",
"lduminah",
"lduminal",
"lduminalb",
"lduminalh",
"lduminb",
"lduminh",
"lduminl",
"lduminlb",
"lduminlh",
"ldur",
"ldurb",
"ldurh",
"ldursb",
"ldursh",
"ldursw",
"ldxp",
"ldxr",
"ldxrb",
"ldxrh",
"lsl",
"lslr",
"lslv",
"lsr",
"lsrr",
"lsrv",
"luti2",
"luti4",
"luti6",
"mad",
"madd",
"maddpt",
"madpt",
"match",
"mla",
"mlapt",
"mlbi",
"mls",
"mneg",
"mov",
"mova",
"movaz",
"movi",
"movk",
"movn",
"movprfx",
"movs",
"movt",
"movz",
"mrrs",
"mrs",
"msb",
"msr",
"msrr",
"msub",
"msubpt",
"mul",
"mvn",
"mvni",
"nand",
"nands",
"nbsl",
"neg",
"negs",
"ngc",
"ngcs",
"nmatch",
"nop",
"nor",
"nors",
"not",
"nots",
"orn",
"orns",
"orqv",
"orr",
"orrs",
"orv",
"pacda",
"pacdb",
"pacdza",
"pacdzb",
"pacga",
"pacia",
"pacia1716",
"pacia171615",
"paciasp",
"paciasppc",
"paciaz",
"pacib",
"pacib1716",
"pacib171615",
"pacibsp",
"pacibsppc",
"pacibz",
"paciza",
"pacizb",
"pacm",
"pacnbiasppc",
"pacnbibsppc",
"pext",
"pfalse",
"pfirst",
"pmlal",
"pmov",
"pmul",
"pmull",
"pmull2",
"pmullb",
"pmullt",
"pnext",
"prfb",
"prfd",
"prfh",
"prfm",
"prfum",
"prfw",
"psb",
"psel",
"pssbb",
"ptest",
"ptrue",
"ptrues",
"punpkhi",
"punpklo",
"raddhn",
"raddhn2",
"raddhnb",
"raddhnt",
"rax1",
"rbit",
"rcwcas",
"rcwcasa",
"rcwcasal",
"rcwcasl",
"rcwcasp",
"rcwcaspa",
"rcwcaspal",
"rcwcaspl",
"rcwclr",
"rcwclra",
"rcwclral",
"rcwclrl",
"rcwclrp",
"rcwclrpa",
"rcwclrpal",
"rcwclrpl",
"rcwscas",
"rcwscasa",
"rcwscasal",
"rcwscasl",
"rcwscasp",
"rcwscaspa",
"rcwscaspal",
"rcwscaspl",
"rcwsclr",
"rcwsclra",
"rcwsclral",
"rcwsclrl",
"rcwsclrp",
"rcwsclrpa",
"rcwsclrpal",
"rcwsclrpl",
"rcwset",
"rcwseta",
"rcwsetal",
"rcwsetl",
"rcwsetp",
"rcwsetpa",
"rcwsetpal",
"rcwsetpl",
"rcwsset",
"rcwsseta",
"rcwssetal",
"rcwssetl",
"rcwssetp",
"rcwssetpa",
"rcwssetpal",
"rcwssetpl",
"rcwsswp",
"rcwsswpa",
"rcwsswpal",
"rcwsswpl",
"rcwsswpp",
"rcwsswppa",
"rcwsswppal",
"rcwsswppl",
"rcwswp",
"rcwswpa",
"rcwswpal",
"rcwswpl",
"rcwswpp",
"rcwswppa",
"rcwswppal",
"rcwswppl",
"rdffr",
"rdffrs",
"rdsvl",
"rdvl",
"ret",
"retaa",
"retaasppc",
"retaasppcr",
"retab",
"retabsppc",
"retabsppcr",
"rev",
"rev16",
"rev32",
"rev64",
"revb",
"revd",
"revh",
"revw",
"rmif",
"ror",
"rorv",
"rprfm",
"rshrn",
"rshrn2",
"rshrnb",
"rshrnt",
"rsubhn",
"rsubhn2",
"rsubhnb",
"rsubhnt",
"saba",
"sabal",
"sabal2",
"sabalb",
"sabalt",
"sabd",
"sabdl",
"sabdl2",
"sabdlb",
"sabdlt",
"sadalp",
"saddl",
"saddl2",
"saddlb",
"saddlbt",
"saddlp",
"saddlt",
"saddlv",
"saddv",
"saddw",
"saddw2",
"saddwb",
"saddwt",
"sb",
"sbc",
"sbclb",
"sbclt",
"sbcs",
"sbfiz",
"sbfm",
"sbfx",
"sclamp",
"scvtf",
"scvtflt",
"sdiv",
"sdivr",
"sdot",
"sel",
"sete",
"seten",
"setet",
"setetn",
"setf16",
"setf8",
"setffr",
"setge",
"setgen",
"setget",
"setgetn",
"setgm",
"setgmn",
"setgmt",
"setgmtn",
"setgp",
"setgpn",
"setgpt",
"setgptn",
"setm",
"setmn",
"setmt",
"setmtn",
"setp",
"setpn",
"setpt",
"setptn",
"sev",
"sevl",
"sha1c",
"sha1h",
"sha1m",
"sha1p",
"sha1su0",
"sha1su1",
"sha256h",
"sha256h2",
"sha256su0",
"sha256su1",
"sha512h",
"sha512h2",
"sha512su0",
"sha512su1",
"shadd",
"shl",
"shll",
"shll2",
"shrn",
"shrn2",
"shrnb",
"shrnt",
"shsub",
"shsubr",
"shuh",
"sli",
"sm3partw1",
"sm3partw2",
"sm3ss1",
"sm3tt1a",
"sm3tt1b",
"sm3tt2a",
"sm3tt2b",
"sm4e",
"sm4ekey",
"smaddl",
"smax",
"smaxp",
"smaxqv",
"smaxv",
"smc",
"smin",
"sminp",
"sminqv",
"sminv",
"smlal",
"smlal2",
"smlalb",
"smlall",
"smlalt",
"smlsl",
"smlsl2",
"smlslb",
"smlsll",
"smlslt",
"smmla",
"smnegl",
"smop4a",
"smop4s",
"smopa",
"smops",
"smov",
"smstart",
"smstop",
"smsubl",
"smulh",
"smull",
"smull2",
"smullb",
"smullt",
"splice",
"sqabs",
"sqadd",
"sqcadd",
"sqcvt",
"sqcvtn",
"sqcvtu",
"sqcvtun",
"sqdecb",
"sqdecd",
"sqdech",
"sqdecp",
"sqdecw",
"sqdmlal",
"sqdmlal2",
"sqdmlalb",
"sqdmlalbt",
"sqdmlalt",
"sqdmlsl",
"sqdmlsl2",
"sqdmlslb",
"sqdmlslbt",
"sqdmlslt",
"sqdmulh",
"sqdmull",
"sqdmull2",
"sqdmullb",
"sqdmullt",
"sqincb",
"sqincd",
"sqinch",
"sqincp",
"sqincw",
"sqneg",
"sqrdcmlah",
"sqrdmlah",
"sqrdmlsh",
"sqrdmulh",
"sqrshl",
"sqrshlr",
"sqrshr",
"sqrshrn",
"sqrshrn2",
"sqrshrnb",
"sqrshrnt",
"sqrshru",
"sqrshrun",
"sqrshrun2",
"sqrshrunb",
"sqrshrunt",
"sqshl",
"sqshlr",
"sqshlu",
"sqshrn",
"sqshrn2",
"sqshrnb",
"sqshrnt",
"sqshrun",
"sqshrun2",
"sqshrunb",
"sqshrunt",
"sqsub",
"sqsubr",
"sqxtn",
"sqxtn2",
"sqxtnb",
"sqxtnt",
"sqxtun",
"sqxtun2",
"sqxtunb",
"sqxtunt",
"srhadd",
"sri",
"srshl",
"srshlr",
"srshr",
"srsra",
"ssbb",
"sshl",
"sshll",
"sshll2",
"sshllb",
"sshllt",
"sshr",
"ssra",
"ssubl",
"ssubl2",
"ssublb",
"ssublbt",
"ssublt",
"ssubltb",
"ssubw",
"ssubw2",
"ssubwb",
"ssubwt",
"st1",
"st1b",
"st1d",
"st1h",
"st1q",
"st1w",
"st2",
"st2b",
"st2d",
"st2g",
"st2h",
"st2q",
"st2w",
"st3",
"st3b",
"st3d",
"st3h",
"st3q",
"st3w",
"st4",
"st4b",
"st4d",
"st4h",
"st4q",
"st4w",
"st64b",
"st64bv",
"st64bv0",
"stadd",
"staddb",
"staddh",
"staddl",
"staddlb",
"staddlh",
"stbfadd",
"stbfaddl",
"stbfmax",
"stbfmaxl",
"stbfmaxnm",
"stbfmaxnml",
"stbfmin",
"stbfminl",
"stbfminnm",
"stbfminnml",
"stclr",
"stclrb",
"stclrh",
"stclrl",
"stclrlb",
"stclrlh",
"stcph",
"steor",
"steorb",
"steorh",
"steorl",
"steorlb",
"steorlh",
"stfadd",
"stfaddl",
"stfmax",
"stfmaxl",
"stfmaxnm",
"stfmaxnml",
"stfmin",
"stfminl",
"stfminnm",
"stfminnml",
"stg",
"stgm",
"stgp",
"stilp",
"stl1",
"stllr",
"stllrb",
"stllrh",
"stlp",
"stlr",
"stlrb",
"stlrh",
"stltxr",
"stlur",
"stlurb",
"stlurh",
"stlxp",
"stlxr",
"stlxrb",
"stlxrh",
"stmopa",
"stnp",
"stnt1b",
"stnt1d",
"stnt1h",
"stnt1w",
"stp",
"str",
"strb",
"strh",
"stset",
"stsetb",
"stseth",
"stsetl",
"stsetlb",
"stsetlh",
"stshh",
"stsmax",
"stsmaxb",
"stsmaxh",
"stsmaxl",
"stsmaxlb",
"stsmaxlh",
"stsmin",
"stsminb",
"stsminh",
"stsminl",
"stsminlb",
"stsminlh",
"sttadd",
"sttaddl",
"sttclr",
"sttclrl",
"sttnp",
"sttp",
"sttr",
"sttrb",
"sttrh",
"sttset",
"sttsetl",
"sttxr",
"stumax",
"stumaxb",
"stumaxh",
"stumaxl",
"stumaxlb",
"stumaxlh",
"stumin",
"stuminb",
"stuminh",
"stuminl",
"stuminlb",
"stuminlh",
"stur",
"sturb",
"sturh",
"stxp",
"stxr",
"stxrb",
"stxrh",
"stz2g",
"stzg",
"stzgm",
"sub",
"subg",
"subhn",
"subhn2",
"subhnb",
"subhnt",
"subp",
"subps",
"subpt",
"subr",
"subs",
"sudot",
"sumlall",
"sumop4a",
"sumop4s",
"sumopa",
"sumops",
"sunpk",
"sunpkhi",
"sunpklo",
"suqadd",
"sutmopa",
"suvdot",
"svc",
"svdot",
"swp",
"swpa",
"swpab",
"swpah",
"swpal",
"swpalb",
"swpalh",
"swpb",
"swph",
"swpl",
"swplb",
"swplh",
"swpp",
"swppa",
"swppal",
"swppl",
"swpt",
"swpta",
"swptal",
"swptl",
"sxtb",
"sxth",
"sxtl",
"sxtl2",
"sxtw",
"sys",
"sysl",
"sysp",
"tbl",
"tblq",
"tbnz",
"tbx",
"tbxq",
"tbz",
"tlbi",
"tlbip",
"trcit",
"trn1",
"trn2",
"tsb",
"tst",
"uaba",
"uabal",
"uabal2",
"uabalb",
"uabalt",
"uabd",
"uabdl",
"uabdl2",
"uabdlb",
"uabdlt",
"uadalp",
"uaddl",
"uaddl2",
"uaddlb",
"uaddlp",
"uaddlt",
"uaddlv",
"uaddv",
"uaddw",
"uaddw2",
"uaddwb",
"uaddwt",
"ubfiz",
"ubfm",
"ubfx",
"uclamp",
"ucvtf",
"ucvtflt",
"udf",
"udiv",
"udivr",
"udot",
"uhadd",
"uhsub",
"uhsubr",
"umaddl",
"umax",
"umaxp",
"umaxqv",
"umaxv",
"umin",
"uminp",
"uminqv",
"uminv",
"umlal",
"umlal2",
"umlalb",
"umlall",
"umlalt",
"umlsl",
"umlsl2",
"umlslb",
"umlsll",
"umlslt",
"ummla",
"umnegl",
"umop4a",
"umop4s",
"umopa",
"umops",
"umov",
"umsubl",
"umulh",
"umull",
"umull2",
"umullb",
"umullt",
"uqadd",
"uqcvt",
"uqcvtn",
"uqdecb",
"uqdecd",
"uqdech",
"uqdecp",
"uqdecw",
"uqincb",
"uqincd",
"uqinch",
"uqincp",
"uqincw",
"uqrshl",
"uqrshlr",
"uqrshr",
"uqrshrn",
"uqrshrn2",
"uqrshrnb",
"uqrshrnt",
"uqshl",
"uqshlr",
"uqshrn",
"uqshrn2",
"uqshrnb",
"uqshrnt",
"uqsub",
"uqsubr",
"uqxtn",
"uqxtn2",
"uqxtnb",
"uqxtnt",
"urecpe",
"urhadd",
"urshl",
"urshlr",
"urshr",
"ursqrte",
"ursra",
"usdot",
"ushl",
"ushll",
"ushll2",
"ushllb",
"ushllt",
"ushr",
"usmlall",
"usmmla",
"usmop4a",
"usmop4s",
"usmopa",
"usmops",
"usqadd",
"usra",
"ustmopa",
"usubl",
"usubl2",
"usublb",
"usublt",
"usubw",
"usubw2",
"usubwb",
"usubwt",
"usvdot",
"utmopa",
"uunpk",
"uunpkhi",
"uunpklo",
"uvdot",
"uxtb",
"uxth",
"uxtl",
"uxtl2",
"uxtw",
"uzp",
"uzp1",
"uzp2",
"uzpq1",
"uzpq2",
"wfe",
"wfet",
"wfi",
"wfit",
"whilege",
"whilegt",
"whilehi",
"whilehs",
"whilele",
"whilelo",
"whilels",
"whilelt",
"whilerw",
"whilewr",
"wrffr",
"xaflag",
"xar",
"xpacd",
"xpaci",
"xpaclri",
"xtn",
"xtn2",
"yield",
"zero",
"zip",
"zip1",
"zip2",
"zipq1",
"zipq2",
};
const char* operation_to_str(enum Operation oper)
{
if (oper < 0 || oper >= sizeof(names) / sizeof(names[0]))
return "error";
return names[oper];
}