uasm.c (e8ef868b470984064c23ce4bf2cd4c0167e1fbe5) uasm.c (ab9e4fa092db6c4beea8fde67261959520675456)
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.

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

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_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,
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.

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

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_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,
58 insn_wsbh, insn_xor, insn_xori, insn_yield,
59};
60
61struct insn {
62 enum opcode opcode;
63 u32 match;
64 enum fields fields;
65};
66

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

293I_u3u1u2(_subu)
294I_u2s3u1(_sw)
295I_u1(_sync)
296I_0(_tlbp)
297I_0(_tlbr)
298I_0(_tlbwi)
299I_0(_tlbwr)
300I_u1(_wait);
59};
60
61struct insn {
62 enum opcode opcode;
63 u32 match;
64 enum fields fields;
65};
66

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

293I_u3u1u2(_subu)
294I_u2s3u1(_sw)
295I_u1(_sync)
296I_0(_tlbp)
297I_0(_tlbr)
298I_0(_tlbwi)
299I_0(_tlbwr)
300I_u1(_wait);
301I_u2u1(_wsbh)
301I_u3u1u2(_xor)
302I_u2u1u3(_xori)
303I_u2u1(_yield)
304I_u2u1msbu3(_dins);
305I_u2u1msb32u3(_dinsm);
306I_u1(_syscall);
307I_u1u2s3(_bbit0);
308I_u1u2s3(_bbit1);

--- 259 unchanged lines hidden ---
302I_u3u1u2(_xor)
303I_u2u1u3(_xori)
304I_u2u1(_yield)
305I_u2u1msbu3(_dins);
306I_u2u1msb32u3(_dinsm);
307I_u1(_syscall);
308I_u1u2s3(_bbit0);
309I_u1u2s3(_bbit1);

--- 259 unchanged lines hidden ---