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 --- |