uasm.c (390363ed77c05f4971254bebc96554afb79dd453) uasm.c (e8ef868b470984064c23ce4bf2cd4c0167e1fbe5)
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * A small micro-assembler. It is intentionally kept simple, does only
7 * support a subset of instructions, and does not try to hide pipeline
8 * effects like branch delay slots.

--- 39 unchanged lines hidden (view full) ---

48 insn_beq, insn_beql, insn_bgez, insn_bgezl, insn_bltz, insn_bltzl,
49 insn_bne, insn_cache, insn_daddiu, insn_daddu, insn_dins, insn_dinsm,
50 insn_divu, insn_dmfc0, insn_dmtc0, insn_drotr, insn_drotr32, insn_dsll,
51 insn_dsll32, insn_dsra, insn_dsrl, insn_dsrl32, insn_dsubu, insn_eret,
52 insn_ext, insn_ins, insn_j, insn_jal, insn_jalr, insn_jr, insn_ld,
53 insn_ldx, insn_ll, insn_lld, insn_lui, insn_lw, insn_lwx, insn_mfc0,
54 insn_mfhi, insn_mtc0, insn_or, insn_ori, insn_pref, insn_rfe,
55 insn_rotr, insn_sc, insn_scd, insn_sd, insn_sll, insn_sllv, insn_sltiu,
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * A small micro-assembler. It is intentionally kept simple, does only
7 * support a subset of instructions, and does not try to hide pipeline
8 * effects like branch delay slots.

--- 39 unchanged lines hidden (view full) ---

48 insn_beq, insn_beql, insn_bgez, insn_bgezl, insn_bltz, insn_bltzl,
49 insn_bne, insn_cache, insn_daddiu, insn_daddu, insn_dins, insn_dinsm,
50 insn_divu, insn_dmfc0, insn_dmtc0, insn_drotr, insn_drotr32, insn_dsll,
51 insn_dsll32, insn_dsra, insn_dsrl, insn_dsrl32, insn_dsubu, insn_eret,
52 insn_ext, insn_ins, insn_j, insn_jal, insn_jalr, insn_jr, insn_ld,
53 insn_ldx, insn_ll, insn_lld, insn_lui, insn_lw, insn_lwx, insn_mfc0,
54 insn_mfhi, insn_mtc0, insn_or, insn_ori, insn_pref, insn_rfe,
55 insn_rotr, insn_sc, insn_scd, insn_sd, insn_sll, insn_sllv, insn_sltiu,
56 insn_sra, insn_srl, insn_srlv, insn_subu, insn_sw, insn_sync,
56 insn_sltu, insn_sra, insn_srl, insn_srlv, insn_subu, insn_sw, insn_sync,
57 insn_syscall, insn_tlbp, insn_tlbr, insn_tlbwi, insn_tlbwr, insn_wait,
58 insn_xor, insn_xori, insn_yield,
59};
60
61struct insn {
62 enum opcode opcode;
63 u32 match;
64 enum fields fields;

--- 215 unchanged lines hidden (view full) ---

280I_u3u1u2(_or)
281I_0(_rfe)
282I_u2s3u1(_sc)
283I_u2s3u1(_scd)
284I_u2s3u1(_sd)
285I_u2u1u3(_sll)
286I_u3u2u1(_sllv)
287I_u2u1s3(_sltiu)
57 insn_syscall, insn_tlbp, insn_tlbr, insn_tlbwi, insn_tlbwr, insn_wait,
58 insn_xor, insn_xori, insn_yield,
59};
60
61struct insn {
62 enum opcode opcode;
63 u32 match;
64 enum fields fields;

--- 215 unchanged lines hidden (view full) ---

280I_u3u1u2(_or)
281I_0(_rfe)
282I_u2s3u1(_sc)
283I_u2s3u1(_scd)
284I_u2s3u1(_sd)
285I_u2u1u3(_sll)
286I_u3u2u1(_sllv)
287I_u2u1s3(_sltiu)
288I_u3u1u2(_sltu)
288I_u2u1u3(_sra)
289I_u2u1u3(_srl)
290I_u3u2u1(_srlv)
291I_u2u1u3(_rotr)
292I_u3u1u2(_subu)
293I_u2s3u1(_sw)
294I_u1(_sync)
295I_0(_tlbp)

--- 271 unchanged lines hidden ---
289I_u2u1u3(_sra)
290I_u2u1u3(_srl)
291I_u3u2u1(_srlv)
292I_u2u1u3(_rotr)
293I_u3u1u2(_subu)
294I_u2s3u1(_sw)
295I_u1(_sync)
296I_0(_tlbp)

--- 271 unchanged lines hidden ---