#region License
/* 
 * Copyright (C) 1999-2022 John Källén.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2,
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; see the file COPYING.  If not,
 * the Free Software Foundation,
 */
#endregion

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Reko.Arch.Vax
{
    public enum Mnemonic
    {
        Reserved = -2,
        Invalid = -1,

        halt,
        bsbw,
        nop,
        brw,
        rei,
        cvtwl,
        bpt,
        cvtwb,
        ret,
        movp,
        rsb,
        cmpp3,
        ldpctx,
        cvtpl,
        svpctx,
        cmpp4,
        cvtps,
        editpc,
        cvtsp,
        matchc,
        index,
        locc,
        crc,
        skpc,
        prober,
        movzwl,
        probew,
        acbw,
        insque,
        movaw,
        remque,
        pushaw,
        bsbb,
        addf2,
        brb,
        addf3,
        bneq,
        subf2,
        beql,
        subf3,
        bgtr,
        mulf2,
        bleq,
        mulf3,
        jsb,
        divf2,
        jmp,
        divf3,
        bgeq,
        cvtfb,
        blss,
        cvtfw,
        bgtru,
        cvtfl,
        blequ,
        cvtrfl,
        bvc,
        cvtbf,
        bvs,
        cvtwf,
        bgequ,
        cvtlf,
        blssu,
        acbf,
        addp4,
        movf,
        addp6,
        cmpf,
        subp4,
        mnegf,
        subp6,
        tstf,
        cvtpt,
        emodf,
        mulp,
        polyf,
        cvttp,
        cvtfd,
        divp,
        movc3,
        adawi,
        cmpc3,
        scanc,
        spanc,
        movc5,
        insqhi,
        cmpc5,
        insqti,
        movtc,
        remqhi,
        movtuc,
        remqti,
        addd2,
        movb,
        addd3,
        cmpb,
        subd2,
        mcomb,
        subd3,
        bitb,
        muld2,
        clrb,
        muld3,
        tstb,
        divd2,
        incb,
        divd3,
        decb,
        cvtdb,
        cvtbl,
        cvtdw,
        cvtbw,
        cvtdl,
        movzbl,
        cvtrdl,
        movzbw,
        cvtbd,
        rotl,
        cvtwd,
        acbb,
        cvtld,
        movab,
        acbd,
        pushab,
        movd,
        addw2,
        cmpd,
        addw3,
        mnegd,
        subw2,
        tstd,
        subw3,
        emodd,
        mulw2,
        polyd,
        mulw3,
        cvtdf,
        divw2,
        divw3,
        ashl,
        bisw2,
        ashq,
        bisw3,
        emul,
        bicw2,
        ediv,
        bicw3,
        clrq,
        xorw2,
        movq,
        xorw3,
        movaq,
        mnegw,
        pushaq,
        casew,
        addb2,
        movw,
        addb3,
        cmpw,
        subb2,
        mcomw,
        subb3,
        bitw,
        mulb2,
        clrw,
        mulb3,
        tstw,
        divb2,
        incw,
        divb3,
        decw,
        bisb2,
        bispsw,
        bisb3,
        bicpsw,
        bicb2,
        popr,
        bicb3,
        pushr,
        xorb2,
        chmk,
        xorb3,
        chme,
        mnegb,
        chms,
        caseb,
        chmu,
        addl2,
        bbs,
        addl3,
        bbc,
        subl2,
        bbss,
        subl3,
        bbcs,
        mull2,
        bbsc,
        mull3,
        bbcc,
        divl2,
        bbssi,
        divl3,
        bbcci,
        bisl2,
        blbs,
        bisl3,
        blbc,
        bicl2,
        ffs,
        bicl3,
        ffc,
        xorl2,
        cmpv,
        xorl3,
        cmpzv,
        mnegl,
        extv,
        casel,
        extzv,
        movl,
        insv,
        cmpl,
        acbl,
        mcoml,
        aoblss,
        bitl,
        aobleq,
        clrl,
        sobgeq,
        tstl,
        sobgtr,
        incl,
        cvtlb,
        decl,
        cvtlw,
        adwc,
        ashp,
        sbwc,
        cvtlp,
        mtpr,
        callg,
        mfpr,
        calls,
        movpsl,
        xfc,
        pushl,
        moval,
        pushal,


        mfvp,
        cvtdh,
        cvtgf,
        vldl,
        vgathl,
        vldq,
        vgathq,
        addg2,
        addg3,
        subg2,
        subg3,
        mulg2,
        mulg3,
        divg2,
        divg3,
        cvtgb,
        cvtgw,
        cvtgl,
        cvtrgl,
        cvtbg,
        cvtwg,
        cvtlg,
        acbg,
        movg,
        cmpg,
        mnegg,
        tstg,
        emodg,
        polyg,
        cvtgh,
        addh2,
        addh3,
        subh2,
        subh3,
        mulh2,
        mulh3,
        divh2,
        divh3,
        cvthb,
        cvtfh,
        cvthw,
        cvtfg,
        cvthl,
        cvtrhl,
        cvtbh,
        vstl,
        cvtwh,
        vscatl,
        cvtlh,
        vstq,
        acbh,
        vscatq,
        movh,
        vvmull,
        cmph,
        vsmull,
        mnegh,
        vvmulg,
        tsth,
        vsmulg,
        emodh,
        vvmulf,
        polyh,
        vsmulf,
        cvthg,
        vvmuld,
        vsmuld,
        vsync,
        mtvp,
        vvdivg,
        vsdivg,
        clrh,
        vvdivf,
        movo,
        vsdivf,
        movah,
        vvdivd,
        pushah,
        vsdivd,
        vvaddl,
        vsaddl,
        vvaddg,
        vsaddg,
        vvaddf,
        vsaddf,
        vvaddd,
        vsaddd,
        vvsubl,
        vssubl,
        vvsubg,
        vssubg,
        vvsubf,
        vssubf,
        vvsubd,
        vssubd,
        vvcmpl,
        vvsrll,
        vscmpl,
        vssrll,
        vvcmpg,
        vscmpg,
        vvcmpf,
        vvslll,
        vscmpf,
        vsslll,
        vvcmpd,
        vscmpd,
        vvbisl,
        vvxorl,
        vsbisl,
        vsxorl,
        vvbicl,
        vvcvt,
        vsbicl,
        iota,
        vvmerge,
        vsmerge,
        cvthf,
        cvthd,
        bugl,
        bugw,
    };
}
