From 87789e08e5cb2191af1122ed98af2d6c023b3a0a Mon Sep 17 00:00:00 2001 From: Claudiu Zissulescu Date: Thu, 19 May 2016 12:33:17 +0200 Subject: [PATCH] [ARC] Add XY registers, update neg instruction. gas/ 2016-05-23 Claudiu Zissulescu * config/tc-arc.c (md_begin): Add XY registers. (cpu_types): Code density is default off for ARC EM. opcodes/ 2016-05-23 Claudiu Zissulescu * arc-tbl.h (neg): New instruction variant. --- gas/ChangeLog | 5 +++++ gas/config/tc-arc.c | 28 +++++++++++++++++++++++++++- opcodes/ChangeLog | 4 ++++ opcodes/arc-tbl.h | 3 +++ 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index a2b1dcb..64e890b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2016-05-23 Claudiu Zissulescu + + * config/tc-arc.c (md_begin): Add XY registers. + (cpu_types): Code density is default off for ARC EM. + 2016-05-23 Cupertino Miranda * config/tc-arc.c (attributes_t): Renamed attribute class to diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c index 7f8ca26..7eb577f 100644 --- a/gas/config/tc-arc.c +++ b/gas/config/tc-arc.c @@ -428,7 +428,7 @@ static const struct cpu_type { "nps400", ARC_OPCODE_ARC700 | ARC_OPCODE_NPS400, bfd_mach_arc_nps400, E_ARC_MACH_NPS400, 0x00}, { "arcem", ARC_OPCODE_ARCv2EM, bfd_mach_arc_arcv2, - EF_ARC_CPU_ARCV2EM, ARC_CD}, + EF_ARC_CPU_ARCV2EM, 0x00}, { "archs", ARC_OPCODE_ARCv2HS, bfd_mach_arc_arcv2, EF_ARC_CPU_ARCV2HS, ARC_CD}, { 0, 0, 0, 0, 0 } @@ -2381,6 +2381,32 @@ md_begin (void) declare_register ("ilink2", 30); declare_register ("blink", 31); + /* XY memory registers. */ + declare_register ("x0_u0", 32); + declare_register ("x0_u1", 33); + declare_register ("x1_u0", 34); + declare_register ("x1_u1", 35); + declare_register ("x2_u0", 36); + declare_register ("x2_u1", 37); + declare_register ("x3_u0", 38); + declare_register ("x3_u1", 39); + declare_register ("y0_u0", 40); + declare_register ("y0_u1", 41); + declare_register ("y1_u0", 42); + declare_register ("y1_u1", 43); + declare_register ("y2_u0", 44); + declare_register ("y2_u1", 45); + declare_register ("y3_u0", 46); + declare_register ("y3_u1", 47); + declare_register ("x0_nu", 48); + declare_register ("x1_nu", 49); + declare_register ("x2_nu", 50); + declare_register ("x3_nu", 51); + declare_register ("y0_nu", 52); + declare_register ("y1_nu", 53); + declare_register ("y2_nu", 54); + declare_register ("y3_nu", 55); + declare_register ("mlo", 57); declare_register ("mmid", 58); declare_register ("mhi", 59); diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 02d2419..5236985 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2016-05-23 Claudiu Zissulescu + + * arc-tbl.h (neg): New instruction variant. + 2016-05-23 Cupertino Miranda * arc-dis.c (find_format, find_format, get_auxreg) diff --git a/opcodes/arc-tbl.h b/opcodes/arc-tbl.h index 8751bdb..c325be6 100644 --- a/opcodes/arc-tbl.h +++ b/opcodes/arc-tbl.h @@ -12723,6 +12723,9 @@ /* neg<.f> a,b 00100bbb01001110FBBB000000AAAAAA. */ { "neg", 0x204E0000, 0xF8FF0FC0, ARC_OPCODE_ARC600 | ARC_OPCODE_ARC700 | ARC_OPCODE_ARCv2EM | ARC_OPCODE_ARCv2HS, ARITH, NONE, { RA, RB }, { C_F }}, +/* neg<.f> 0,b 00100bbb01001110FBBB000000111110. */ +{ "neg", 0x204E0000, 0xF8FF0FFF, ARC_OPCODE_ARC600 | ARC_OPCODE_ARC700 | ARC_OPCODE_ARCv2EM | ARC_OPCODE_ARCv2HS, ARITH, NONE, { ZA, RB }, { C_F }}, + /* neg<.f><.cc> b,b 00100bbb11001110FBBB0000001QQQQQ. */ { "neg", 0x20CE0020, 0xF8FF0FE0, ARC_OPCODE_ARC600 | ARC_OPCODE_ARC700 | ARC_OPCODE_ARCv2EM | ARC_OPCODE_ARCv2HS, ARITH, NONE, { RB, RBdup }, { C_F, C_CC }}, -- 2.7.4