From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 58580 invoked by alias); 14 Apr 2016 16:36:41 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 58544 invoked by uid 89); 14 Apr 2016 16:36:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=8143, UD:arc.h, sk:arc-nps, sk:arcnps X-HELO: mail-wm0-f53.google.com Received: from mail-wm0-f53.google.com (HELO mail-wm0-f53.google.com) (74.125.82.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 14 Apr 2016 16:36:32 +0000 Received: by mail-wm0-f53.google.com with SMTP id v188so228256364wme.1 for ; Thu, 14 Apr 2016 09:36:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=K8g3VNNPNjRlmfRXzOtHIMqLVPTwlf6E+GCjV71lHW8=; b=IYLBT7PSbVajwb0L93/PU9y5CKvtn4PhrMihpg1QCAvhTNK3qsFGs71ETZEfOrdIWQ MM1H2APXh1EtK1HMulxv5UIPXClaF14tTuDHYKV2wm+f0ykg9ntxHe8p7ClRSmHIukQm 7/IG+hC+QE/uOWRcXcx/pIK+2Pp4v/o+gHiNDSeMiGi7QyeOTM2dqC4TcVtAUVdJ0k62 gnekr2ce6Mpg8dKIiiJKvC7JQwQBMSPebRth4Opg3gza5jt1+CmNq7Ark66frD/ZM0yi hoJDXP5AnsU1HBU3JEy+YWnJba83B76NuPhHts8bHbSQwaGknQp76YOwx+nR1BWFSDJF KaXQ== X-Gm-Message-State: AOPr4FXupszsNcb/hUqMCd7ntnLhIxQ/B6fzOnwaPuFt7ME5esL4W148AZEO3iseT2NzeQ== X-Received: by 10.28.154.4 with SMTP id c4mr18453160wme.88.1460651789278; Thu, 14 Apr 2016 09:36:29 -0700 (PDT) Received: from localhost (host81-148-252-106.range81-148.btcentralplus.com. [81.148.252.106]) by smtp.gmail.com with ESMTPSA id w2sm24589520wjg.42.2016.04.14.09.36.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Apr 2016 09:36:28 -0700 (PDT) From: Andrew Burgess To: binutils@sourceware.org Cc: Claudiu.Zissulescu@synopsys.com, Cupertino.Miranda@synopsys.com, noamca@mellanox.com, Andrew Burgess Subject: [PATCH 1/2] opcodes/arc: Add more nps instructions Date: Thu, 14 Apr 2016 16:36:00 -0000 Message-Id: <9d66d60726dcf21ad054dc202b8a92cc15fe1a18.1460651694.git.andrew.burgess@embecosm.com> In-Reply-To: References: In-Reply-To: References: X-IsSubscribed: yes X-SW-Source: 2016-04/txt/msg00220.txt.bz2 Add dctcp, dcip, dcet, and dcacl instructions. gas/ChangeLog: * testsuite/gas/arc/nps400-4.d: New file. * testsuite/gas/arc/nps400-4.s: New file. * testsuite/gas/arc/nps400-5.d: New file. * testsuite/gas/arc/nps400-5.s: New file. include/ChangeLog: * opcode/arc.h (insn_class_t): Add NET and ACL class. opcodes/ChangeLog: * arc-nps400-tbl.h: Add dctcp, dcip, dcet, and dcacl instructions. --- gas/ChangeLog | 7 +++++++ gas/testsuite/gas/arc/nps400-4.d | 12 ++++++++++++ gas/testsuite/gas/arc/nps400-4.s | 11 +++++++++++ gas/testsuite/gas/arc/nps400-5.d | 10 ++++++++++ gas/testsuite/gas/arc/nps400-5.s | 5 +++++ include/ChangeLog | 4 ++++ include/opcode/arc.h | 2 ++ opcodes/ChangeLog | 4 ++++ opcodes/arc-nps400-tbl.h | 19 +++++++++++++++++++ 9 files changed, 74 insertions(+) create mode 100644 gas/testsuite/gas/arc/nps400-4.d create mode 100644 gas/testsuite/gas/arc/nps400-4.s create mode 100644 gas/testsuite/gas/arc/nps400-5.d create mode 100644 gas/testsuite/gas/arc/nps400-5.s diff --git a/gas/testsuite/gas/arc/nps400-4.d b/gas/testsuite/gas/arc/nps400-4.d new file mode 100644 index 0000000..2caab8c --- /dev/null +++ b/gas/testsuite/gas/arc/nps400-4.d @@ -0,0 +1,12 @@ +#as: -mcpu=nps400 +#objdump: -dr + +.*: +file format .*arc.* + +Disassembly of section .text: + +[0-9a-f]+ <.*>: + 0: 3a2f 1300 dctcp r10,r12 + 4: 3e29 13cd dcip r13,r14,r15 + 8: 382f 2442 dcet r16,r17 + c: 3b20 2512 dcet r18,r19,r20 diff --git a/gas/testsuite/gas/arc/nps400-4.s b/gas/testsuite/gas/arc/nps400-4.s new file mode 100644 index 0000000..d2d7814 --- /dev/null +++ b/gas/testsuite/gas/arc/nps400-4.s @@ -0,0 +1,11 @@ + .text + + /* dctcp */ + dctcp r10, r12 + + /* dcip */ + dcip r13, r14, r15 + + /* dcet */ + dcet r16, r17 + dcet r18, r19, r20 diff --git a/gas/testsuite/gas/arc/nps400-5.d b/gas/testsuite/gas/arc/nps400-5.d new file mode 100644 index 0000000..214e38e --- /dev/null +++ b/gas/testsuite/gas/arc/nps400-5.d @@ -0,0 +1,10 @@ +#as: -mcpu=nps400 +#objdump: -dr + +.*: +file format .*arc.* + +Disassembly of section .text: + +[0-9a-f]+ <.*>: + 0: 3925 0080 dcacl r0,r1,r2 + 4: 3c25 8143 dcacl.f r3,r4,r5 diff --git a/gas/testsuite/gas/arc/nps400-5.s b/gas/testsuite/gas/arc/nps400-5.s new file mode 100644 index 0000000..38a34c2 --- /dev/null +++ b/gas/testsuite/gas/arc/nps400-5.s @@ -0,0 +1,5 @@ + .text + + /* dcacl */ + dcacl r0, r1, r2 + dcacl.f r3, r4, r5 diff --git a/include/opcode/arc.h b/include/opcode/arc.h index 2811877..31daeb7 100644 --- a/include/opcode/arc.h +++ b/include/opcode/arc.h @@ -47,6 +47,8 @@ typedef enum LOGICAL, MEMORY, BITOP, + NET, + ACL, } insn_class_t; /* Instruction Subclass. */ diff --git a/opcodes/arc-nps400-tbl.h b/opcodes/arc-nps400-tbl.h index 832d2ff..ebafc15 100644 --- a/opcodes/arc-nps400-tbl.h +++ b/opcodes/arc-nps400-tbl.h @@ -124,6 +124,25 @@ /* crc32<.r> 0,limm,u6 00111 110 01 110100 R 111 uuuuuu 111110 */ { "crc32", 0x3e74703e, 0xffff703f, ARC_OPCODE_NPS400, BITOP, NONE, { ZA, LIMM, UIMM6_20 }, { C_NPS_R }}, +/**** Protocol Decoder Instructions ****/ + +/* dctcp b,c 00111bbb001011110bbbcccccc000000 */ +{ "dctcp", 0x382f0000, 0xf8ff803f, ARC_OPCODE_NPS400, NET, NONE, { RB, RC }, { 0 }}, + +/* dcip a,b,c 00111bbb001011110bbbccccccaaaaaa */ +{ "dcip", 0x38290000, 0xf8ff8000, ARC_OPCODE_NPS400, NET, NONE, { RA, RB, RC }, { 0 }}, + +/* dcet b,c 00111bbb001011110bbbcccccc000010 */ +{ "dcet", 0x382f0002, 0xf8ff803f, ARC_OPCODE_NPS400, NET, NONE, { RB, RC }, { 0 }}, + +/* dcet a,b,c 00111bbb001000000bbbccccccaaaaaa */ +{ "dcet", 0x38200000, 0xf8ff8000, ARC_OPCODE_NPS400, NET, NONE, { RA, RB, RC }, { 0 }}, + +/**** ACL Instructions ****/ + +/* dcacl<.f> a,b,c 00111bbb001001010bbbccccccaaaaaa */ +{ "dcacl", 0x38250000, 0xf8ff0000, ARC_OPCODE_NPS400, ACL, NONE, { RA, RB, RC }, { C_F }}, + /**** Pipeline Control Instructions ****/ /* schd<.rw|.rd> */ -- 2.5.1