X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=opcodes%2For1k-opc.c;h=f8ac82615cc236a99dbd22b6ceb3e9e8bde2f5d2;hb=2442d8466e221ba6cf4ec4bd2a819fdcb1e5ea7e;hp=405b955a7c24a36dca194c5d887ce648b0344e54;hpb=73589c9dbddc7906fa6a150f2a2a0ff6b746e8ba;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/or1k-opc.c b/opcodes/or1k-opc.c index 405b955a7c..f8ac82615c 100644 --- a/opcodes/or1k-opc.c +++ b/opcodes/or1k-opc.c @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2010 Free Software Foundation, Inc. +Copyright (C) 1996-2016 Free Software Foundation, Inc. This file is part of the GNU Binutils and/or GDB, the GNU debugger. @@ -59,6 +59,10 @@ static const CGEN_IFMT ifmt_l_trap ATTRIBUTE_UNUSED = { 32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_OP_25_5) }, { F (F_RESV_20_5) }, { F (F_UIMM16) }, { 0 } } }; +static const CGEN_IFMT ifmt_l_msync ATTRIBUTE_UNUSED = { + 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_OP_25_5) }, { F (F_RESV_20_21) }, { 0 } } +}; + static const CGEN_IFMT ifmt_l_rfe ATTRIBUTE_UNUSED = { 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RESV_25_26) }, { 0 } } }; @@ -88,7 +92,11 @@ static const CGEN_IFMT ifmt_l_lwz ATTRIBUTE_UNUSED = { }; static const CGEN_IFMT ifmt_l_sw ATTRIBUTE_UNUSED = { - 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_R1) }, { F (F_R3) }, { F (F_SIMM16_SPLIT) }, { 0 } } + 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_R2) }, { F (F_R3) }, { F (F_SIMM16_SPLIT) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_l_swa ATTRIBUTE_UNUSED = { + 32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_R2) }, { F (F_R3) }, { F (F_SIMM16) }, { 0 } } }; static const CGEN_IFMT ifmt_l_sll ATTRIBUTE_UNUSED = { @@ -222,6 +230,24 @@ static const CGEN_OPCODE or1k_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, ' ', OP (UIMM16), 0 } }, & ifmt_l_trap, { 0x20000000 } }, +/* l.msync */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_l_msync, { 0x22000000 } + }, +/* l.psync */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_l_msync, { 0x22800000 } + }, +/* l.csync */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_l_msync, { 0x23000000 } + }, /* l.rfe */ { { 0, 0, 0, 0 }, @@ -276,6 +302,12 @@ static const CGEN_OPCODE or1k_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, ' ', OP (RD), ',', OP (SIMM16), '(', OP (RA), ')', 0 } }, & ifmt_l_lwz, { 0x88000000 } }, +/* l.lwa $rD,${simm16}($rA) */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (RD), ',', OP (SIMM16), '(', OP (RA), ')', 0 } }, + & ifmt_l_lwz, { 0x6c000000 } + }, /* l.lbz $rD,${simm16}($rA) */ { { 0, 0, 0, 0 }, @@ -318,6 +350,12 @@ static const CGEN_OPCODE or1k_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, ' ', OP (SIMM16_SPLIT), '(', OP (RA), ')', ',', OP (RB), 0 } }, & ifmt_l_sw, { 0xdc000000 } }, +/* l.swa ${simm16-split}($rA),$rB */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (SIMM16_SPLIT), '(', OP (RA), ')', ',', OP (RB), 0 } }, + & ifmt_l_swa, { 0xcc000000 } + }, /* l.sll $rD,$rA,$rB */ { { 0, 0, 0, 0 }, @@ -930,15 +968,13 @@ static const CGEN_OPCODE or1k_cgen_macro_insn_opcode_table[] = Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file. */ static int -asm_hash_insn_p (insn) - const CGEN_INSN *insn ATTRIBUTE_UNUSED; +asm_hash_insn_p (const CGEN_INSN *insn ATTRIBUTE_UNUSED) { return CGEN_ASM_HASH_P (insn); } static int -dis_hash_insn_p (insn) - const CGEN_INSN *insn; +dis_hash_insn_p (const CGEN_INSN *insn) { /* If building the hash table and the NO-DIS attribute is present, ignore. */ @@ -970,8 +1006,7 @@ dis_hash_insn_p (insn) Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file. */ static unsigned int -asm_hash_insn (mnem) - const char * mnem; +asm_hash_insn (const char *mnem) { return CGEN_ASM_HASH (mnem); } @@ -980,9 +1015,8 @@ asm_hash_insn (mnem) VALUE is the first base_insn_bitsize bits as an int in host order. */ static unsigned int -dis_hash_insn (buf, value) - const char * buf ATTRIBUTE_UNUSED; - CGEN_INSN_INT value ATTRIBUTE_UNUSED; +dis_hash_insn (const char *buf ATTRIBUTE_UNUSED, + CGEN_INSN_INT value ATTRIBUTE_UNUSED) { return CGEN_DIS_HASH (buf, value); }