X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Friscv-opc.c;h=72e6b9d48f96e65e7d1a11784319fe67560bd514;hb=3ca4a8eca78b4d5e3fa308dbd21c67ebef09a261;hp=a272e29feead97cfb2491f9ae477fa11bbb1b2d1;hpb=4765cd611992862c844e8f152c5dbaadaecc25ce;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c index a272e29fee..72e6b9d48f 100644 --- a/opcodes/riscv-opc.c +++ b/opcodes/riscv-opc.c @@ -1,5 +1,5 @@ /* RISC-V opcode list - Copyright (C) 2011-2018 Free Software Foundation, Inc. + Copyright (C) 2011-2019 Free Software Foundation, Inc. Contributed by Andrew Waterman (andrew@sifive.com). Based on MIPS target. @@ -198,7 +198,7 @@ match_srxi_as_c_srxi (const struct riscv_opcode *op, insn_t insn) const struct riscv_opcode riscv_opcodes[] = { /* name, xlen, isa, operands, match, mask, match_func, pinfo. */ -{"unimp", 0, {"C", 0}, "", 0, 0xffffU, match_opcode, 0 }, +{"unimp", 0, {"C", 0}, "", 0, 0xffffU, match_opcode, INSN_ALIAS }, {"unimp", 0, {"I", 0}, "", MATCH_CSRRW | (CSR_CYCLE << OP_SH_CSR), 0xffffffffU, match_opcode, 0 }, /* csrw cycle, x0 */ {"ebreak", 0, {"C", 0}, "", MATCH_C_EBREAK, MASK_C_EBREAK, match_opcode, INSN_ALIAS }, {"ebreak", 0, {"I", 0}, "", MATCH_EBREAK, MASK_EBREAK, match_opcode, 0 }, @@ -276,7 +276,7 @@ const struct riscv_opcode riscv_opcodes[] = {"add", 0, {"I", 0}, "d,s,t", MATCH_ADD, MASK_ADD, match_opcode, 0 }, /* This is used for TLS, where the fourth arg is %tprel_add, to get a reloc applied to an add instruction, for relaxation to use. */ -{"add", 0, {"I", 0}, "d,s,t,0",MATCH_ADD, MASK_ADD, match_opcode, 0 }, +{"add", 0, {"I", 0}, "d,s,t,1",MATCH_ADD, MASK_ADD, match_opcode, 0 }, {"add", 0, {"I", 0}, "d,s,j", MATCH_ADDI, MASK_ADDI, match_opcode, INSN_ALIAS }, {"la", 0, {"I", 0}, "d,B", 0, (int) M_LA, match_never, INSN_MACRO }, {"lla", 0, {"I", 0}, "d,B", 0, (int) M_LLA, match_never, INSN_MACRO }, @@ -696,6 +696,7 @@ const struct riscv_opcode riscv_opcodes[] = {"fcvt.q.lu", 64, {"Q", 0}, "D,s,m", MATCH_FCVT_Q_LU, MASK_FCVT_Q_LU, match_opcode, 0 }, /* Compressed instructions. */ +{"c.unimp", 0, {"C", 0}, "", 0, 0xffffU, match_opcode, 0 }, {"c.ebreak", 0, {"C", 0}, "", MATCH_C_EBREAK, MASK_C_EBREAK, match_opcode, 0 }, {"c.jr", 0, {"C", 0}, "d", MATCH_C_JR, MASK_C_JR, match_rd_nonzero, INSN_BRANCH }, {"c.jalr", 0, {"C", 0}, "d", MATCH_C_JALR, MASK_C_JALR, match_rd_nonzero, INSN_JSR },