#region License
/* 
 * Copyright (C) 1999-2024 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, or (at your option)
 * 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, write to
 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 */
#endregion

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace Reko.Arch.SuperH
{
    public enum Mnemonic
    {
        invalid,
        add,
        addc,
        addv,
        and,
        and_b,
        bclr,
        bf,
        bf_s,
        bld,
        bra,
        braf,
        brk,
        bset,
        bsr,
        bsrf,
        bst,
        bt,
        bt_s,
        clips_b,
        clips_w,
        clipu_b,
        clipu_w,
        clrmac,
        clrs,
        clrt,
        cmp_eq,
        cmp_ge,
        cmp_gt,
        cmp_hi,
        cmp_hs,
        cmp_pl,
        cmp_pz,
        cmp_str,
        dcf_padd,
        dcf_pand,
        dcf_pclr,
        dcf_pcopy,
        dcf_pdec,
        dcf_pdmsb,
        dcf_pinc,
        dcf_plds,
        dcf_pneg,
        dcf_por,
        dcf_psha,
        dcf_pshl,
        dcf_psts,
        dcf_psub,
        dcf_pxor,
        dct_padd,
        dct_pand,
        dct_pclr,
        dct_pcopy,
        dct_pdec,
        dct_pdmsb,
        dct_pinc,
        dct_plds,
        dct_pneg,
        dct_por,
        dct_psha,
        dct_pshl,
        dct_psts,
        dct_psub,
        dct_pxor,
        div0s,
        div0u,
        div1,
        divs,
        divu,
        dmuls_l,
        dmulu_l,
        dt,
        exts_b,
        exts_w,
        extu_b,
        extu_w,
        fabs,
        fadd,
        fcmp_eq,
        fcmp_gt,
        fcnvds,
        fcnvsd,
        fdiv,
        fipr,
        fldi0,
        fldi1,
        flds,
        @float,
        fmac,
        fmov,
        fmov_d,
        fmov_s,
        fmul,
        fneg,
        frchg,
        fsca,
        fschg,
        fsqrt,
        fsts,
        fsub,
        ftrc,
        ftrv,
        icbi,
        jmp,
        jsr,
        jsr_n,
        ldbank,
        ldc,
        ldc_l,
        ldre,
        ldrs,
        lds,
        lds_l,
        ldtlb,
        mac_l,
        mac_w,
        mov,
        mov_b,
        mov_l,
        mov_w,
        mova,
        movca_l,
        movco_l,
        movi20,
        movi20s,
        movli_l,
        movml_l,
        movmu_l,
        movrt,
        movt,
        movu_b,
        movu_w,
        movua_l,
        mul_l,
        mulr,
        muls_w,
        mulu_w,
        neg,
        negc,
        nop,
        not,
        nott,
        ocbi,
        ocbp,
        ocbwb,
        or,
        or_b,
        pabs,
        padd,
        paddc,
        pand,
        pclr,
        pcmp,
        pcopy,
        pdec,
        pdmsb,
        pinc,
        plds,
        pmuls,
        pneg,
        por,
        pref,
        prefi,
        prnd,
        psha,
        pshl,
        psts,
        psub,
        psubc,
        pxor,
        resbank,
        rotcl,
        rotcr,
        rotl,
        rotr,
        rte,
        rts,
        rts_n,
        rtv_n,
        setrc,
        sets,
        sett,
        shad,
        shal,
        shar,
        shld,
        shll,
        shll16,
        shll2,
        shll8,
        shlr,
        shlr16,
        shlr2,
        shlr8,
        sleep,
        stbank,
        stc,
        stc_l,
        sts,
        sts_l,
        sub,
        subc,
        subv,
        swap_b,
        swap_w,
        synco,
        tas_b,
        trapa,
        tst,
        tst_b,
        xor,
        xor_b,
        xtrct,
    }
}
