#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.Text;

namespace Reko.Arch.Avr.Avr32
{
    public enum Mnemonic
    {
        invalid,

        abs,
        acall,
        acr,
        adc,
        add,
        addabs,
        subf,
        addhh_w,
        and,
        andh,
        andl,
        andn,
        asr,
        bfexts,
        bfextu,
        bfins,
        bld,
        br,
        breakpoint,
        brev,
        bst,
        cache,
        casts_b,
        casts_h,
        castu_b,
        castu_h,
        cbr,
        clz,
        com,
        cop,
        cp_b,
        cp_h,
        cp_w,
        cpc,
        csrf,
        csrfcz,
        divs,
        divu,
        eor,
        eorh,
        eorl,
        frs,
        icall,
        incjosp,
        ld_d,
        ld_sb,
        ld_sh,
        ld_ub,
        ld_uh,
        ld_w,
        ldc_d,
        ldc_w,
        ldc0_d,
        ldc0_w,
        ldcm_d,
        ldcm_w,
        lddpc,
        lddsp,
        ldins_b,
        ldins_h,
        ldm,
        ldmts,
        ldswp_sh,
        ldswp_uh,
        ldswp_w,
        lsl,
        lsr,
        mac,
        machh_d,
        machh_w,
        macs_d,
        macsathh_w,
        macu_d,
        macwh_d,
        max,
        mcall,
        memc,
        mems,
        memt,
        mfdr,
        mfsr,
        min,
        mov,
        movh,
        mtdr,
        mtsr,
        mul,
        mulhh_w,
        mulnhh_w,
        mulnwh_d,
        muls_d,
        mulsathh_h,
        mulsathh_w,
        mulsatrndhh_h,
        mulsatrndwh_w,
        mulsatwh_w,
        mulu_d,
        mulwh_d,
        musfr,
        mustr,
        mvcr_d,
        mvcr_w,
        mvrc_d,
        mvrc_w,
        neg,
        nop,
        or,
        orh,
        orl,
        pabs_sb,
        pabs_sw,
        packsh_sb,
        packsh_ub,
        packw_sh,
        padd_b,
        padd_h,
        paddh_sh,
        paddh_ub,
        padds_sb,
        padds_sh,
        padds_ub,
        padds_uh,
        paddsub_h,
        paddsub_sh,
        paddsubh_sh,
        paddsubs_sh,
        paddsubs_uh,
        paddx_h,
        paddxh_sh,
        paddxs_sh,
        paddxs_uh,
        pasr_b,
        pasr_h,
        pavg_sh,
        pavg_ub,
        plsl_b,
        plsl_h,
        plsr_b,
        plsr_h,
        pmax_sh,
        pmax_ub,
        pmin_sh,
        pmin_ub,
        popjc,
        popm,
        pref,
        psad,
        psub_b,
        psub_h,
        psubadd_h,
        psubaddh_sh,
        psubadds_sh,
        psubadds_uh,
        psubh_sh,
        psubh_ub,
        psubs_sb,
        psubs_sh,
        psubs_ub,
        psubs_uh,
        psubx_h,
        psubxh_sh,
        psubxs_sh,
        psubxs_uh,
        punpcksb_h,
        punpckub_h,
        pushjc,
        pushm,
        rcall,
        ret,
        retd,
        rete,
        retj,
        rets,
        retss,
        rjmp,
        rol,
        ror,
        rsub,
        satadd_h,
        satadd_w,
        satrnds,
        satrndu,
        sats,
        satsub_h,
        satsub_w,
        satu,
        sbc,
        sbr,
        scall,
        scr,
        sleep,
        sr,
        sscall,
        ssrf,
        st_b,
        st_d,
        st_h,
        st_w,
        stc_d,
        stc_w,
        stc0_d,
        stc0_w,
        stcm_d,
        stcm_w,
        stcond,
        stdsp,
        sthh_w,
        stm,
        stmts,
        stswp_h,
        stswp_w,
        sub,
        subhh_w,
        swap_b,
        swap_bh,
        swap_h,
        sync,
        tlbr,
        tlbs,
        tlbw,
        tnbz,
        tst,
        xchg,
    }
}