Message ID | 1632662673568.98965@mediatek.com |
---|---|
Headers |
Return-Path: <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4EDBE3858423 for <patchwork@sourceware.org>; Sun, 26 Sep 2021 13:25:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4EDBE3858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1632662718; bh=EiPk1QRmoQj1Xf/k12By1501axZ+pTbNeKhr3ae8/m4=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=Io7ZRsfxB5+wyX/ZR0VxVlJGpVQ7WZp+5F7b9s+rWenACI+sYadbsVJDcKOr8DURY iOK6F1it7OhwhVjArjTNlFFNY8B2ED6/7zFQmdoiSY/yK2QkCQGBbbqg25gAYkw6ip vhrDCh9Hdgf5+vHktHy82wZFLrWpeB0JnqUZrrP0= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mailgw01.mediatek.com (mailgw01.mediatek.com [216.200.240.184]) by sourceware.org (Postfix) with ESMTPS id 598043858C60; Sun, 26 Sep 2021 13:24:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 598043858C60 X-UUID: 728d372a7fbb4289b351c91c270d8035-20210926 X-UUID: 728d372a7fbb4289b351c91c270d8035-20210926 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw01.mediatek.com (envelope-from <ot_dragan.mladjenovic@mediatek.com>) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 295556596; Sun, 26 Sep 2021 06:24:35 -0700 Received: from MTKMBS62N1.mediatek.inc (172.29.193.41) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 26 Sep 2021 06:24:33 -0700 Received: from MTKMBS62N1.mediatek.inc ([fe80::697c:586d:7cff:34e7]) by MTKMBS62N1.mediatek.inc ([fe80::697c:586d:7cff:34e7%12]) with mapi id 15.00.1497.015; Sun, 26 Sep 2021 06:24:33 -0700 To: "gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org> Subject: [RFC 0/7] nanoMIPS port Thread-Topic: [RFC 0/7] nanoMIPS port Thread-Index: AQHXsthFGZWobslvikaxToQOWnhoxg== Date: Sun, 26 Sep 2021 13:24:33 +0000 Message-ID: <1632662673568.98965@mediatek.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [172.29.193.239] MIME-Version: 1.0 X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, HTML_MESSAGE, KAM_SHORT, SPF_HELO_NONE, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> From: Dragan Mladjenovic via Gcc-patches <gcc-patches@gcc.gnu.org> Reply-To: Dragan Mladjenovic <OT_Dragan.Mladjenovic@mediatek.com> Cc: Jeff Law <law@gcc.gnu.org>, Matthew Fortune <mfortune@gmail.com>, Jakub Jelinek <jakub@redhat.com>, YunQiang Su <yunqiang.su@cipunited.com>, "Petar.Jovanovic@syrmia.com" <Petar.Jovanovic@syrmia.com>, Faraz Shahbazker <Faraz.Shahbazker@mediatek.com>, Vince Del Vecchio <Vince.DelVecchio@mediatek.com> Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> |
Series |
nanoMIPS port
|
|
Message
Dragan Mladjenovic
Sept. 26, 2021, 1:24 p.m. UTC
Hi all, This is somewhat a continuation of the previous effort [1] to bring nanoMIPS support upstream. We would like to move our toolchain releases [2] to something more closer to the upstream GCC. As part of that, we are interested in feedback from the community if the current approach of code sharing between nanoMIPS and MIPS backend is viable for future upstream inclusion? The RFC presented here contains enough to produce the nanomips-elf toolchain when paired with [3], [4], [5]. It targets a little-endian bare metal environment using p32 ABI with soft-float. Any feedback on it will be appreciated. Best regards, Dragan References: [1] https://gcc.gnu.org/legacy-ml/gcc/2018-05/msg00012.html [2] https://github.com/MediaTek-Labs/nanomips-gnu-toolchain/releases/tag/nanoMIPS-2021.07-01 [3] https://github.com/MediaTek-Labs/newlib/tree/mtk/newlib250 [4] https://github.com/MediaTek-Labs/binutils-gdb/tree/mtk/binutils_v9 [5] https://github.com/MediaTek-Labs/binutils-gdb/tree/mtk/gold_v7 (Robert Suchanek) (Toma Tabacu) (Matthew Fortune) (Zoran Jovanovic) (Prachi Godbole) (Faraz Shahbazker) (Steve Ellcey) (Jack Romo) (Stefan Markovic) (Sara Popadic) (Mihailo Stojanovic) (Dragan Mladjenovic) Avoid references to register names in instruction output patterns Make mips-classic.md entry point for mips*-*-* targets Add nanoMIPS support Add test cases for nanoMIPS Fix unhelpful messages for disabled options Enable MIPS DSP rev3 ASE for nanoMIPS Add documentation for nanoMIPS config.sub | 3 +- config/mt-nanomips (new) | 6 + configure | 9 +- configure.ac | 9 +- contrib/test_installed | 3 +- gcc/config.gcc | 65 + gcc/config/mips/constraints.md | 57 +- gcc/config/mips/genopt-nanomips.sh (new +x) | 74 + gcc/config/mips/i7200.md (new) | 142 + gcc/config/mips/micromips.md | 12 +- gcc/config/mips/mips-classic.md (new) | 142 + gcc/config/mips/mips-dsp.md | 17 +- gcc/config/mips/mips-ftypes.def | 1 + gcc/config/mips/mips-opts.h | 8 + gcc/config/mips/mips-protos.h | 81 +- gcc/config/mips/mips.c | 3697 +++++++++++++++-- gcc/config/mips/mips.h | 456 +- gcc/config/mips/mips.md | 1043 +++-- gcc/config/mips/mips.opt | 126 +- gcc/config/mips/nanomips-cpus.def (new) | 41 + gcc/config/mips/nanomips-tables.opt (new) | 40 + gcc/config/mips/nanomips.h (new) | 349 ++ gcc/config/mips/nanomips.md (new) | 285 ++ gcc/config/mips/nanomips.opt (new) | 60 + gcc/config/mips/predicates.md | 246 +- gcc/config/mips/t-nanomips (new) | 23 + gcc/config/mips/t-nanomips-elf (new) | 36 + gcc/configure | 8 + gcc/configure.ac | 6 + gcc/doc/extend.texi | 124 + gcc/doc/invoke.texi | 367 ++ gcc/doc/md.texi | 71 + gcc/opt-suggestions.c | 3 + gcc/optc-gen.awk | 5 +- gcc/opts.c | 4 + .../gcc.target/nanomips/addiu48-1.c (new) | 12 + .../gcc.target/nanomips/addiu48-2.c (new) | 12 + .../gcc.target/nanomips/beqic-1.c (new) | 13 + .../gcc.target/nanomips/bgeiuc-1.c (new) | 31 + .../gcc.target/nanomips/bltc-1.c (new) | 28 + .../gcc.target/nanomips/bltic-1.c (new) | 11 + .../gcc.target/nanomips/bltiuc-1.c (new) | 19 + .../gcc.target/nanomips/bnec-1.c (new) | 11 + .../gcc.target/nanomips/bneic-1.c (new) | 11 + .../gcc.target/nanomips/bnezc-1.c (new) | 18 + .../gcc.target/nanomips/branch-2.c (new) | 13 + .../gcc.target/nanomips/branch-3.c (new) | 12 + .../gcc.target/nanomips/branch-4.c (new) | 12 + .../gcc.target/nanomips/branch-5.c (new) | 11 + .../gcc.target/nanomips/branch-helper.h (new) | 107 + .../gcc.target/nanomips/bswap-1.c (new) | 10 + .../gcc.target/nanomips/bswap-2.c (new) | 9 + .../gcc.target/nanomips/bswap-3.c (new) | 13 + .../gcc.target/nanomips/bswap-4.c (new) | 9 + .../gcc.target/nanomips/cache-1.c (new) | 31 + .../gcc.target/nanomips/call-saved-1.c (new) | 14 + .../gcc.target/nanomips/clear-cache-1.c (new) | 13 + .../gcc.target/nanomips/constraint-m.c (new) | 9 + .../gcc.target/nanomips/dpaq_sa_l_w.c (new) | 51 + .../gcc.target/nanomips/dpsq_sa_l_w.c (new) | 37 + .../gcc.target/nanomips/dsp-ctrl.c (new) | 69 + .../gcc.target/nanomips/dsp-lhxs.c (new) | 11 + .../gcc.target/nanomips/dsp-no-lhx.c (new) | 11 + .../gcc.target/nanomips/ext-5.c (new) | 12 + .../gcc.target/nanomips/ext-7.c (new) | 11 + .../gcc.target/nanomips/ext_ins.c (new) | 25 + .../nanomips/fixed-scalar-type.c (new) | 218 + .../nanomips/fixed-vector-type.c (new) | 133 + .../gcc.target/nanomips/fp-alloca.c (new) | 16 + .../gcc.target/nanomips/gprel-1.c (new) | 20 + .../hazard-barrier-return-attribute.c (new) | 19 + .../nanomips/inline-memcpy-1.c (new) | 16 + .../nanomips/inline-memcpy-2.c (new) | 15 + .../gcc.target/nanomips/ins-1.c (new) | 17 + .../gcc.target/nanomips/ins-2.c (new) | 17 + .../gcc.target/nanomips/jump-table-1.c (new) | 38 + .../gcc.target/nanomips/jump-table.c (new) | 21 + .../gcc.target/nanomips/length-1.c (new) | 13 + .../gcc.target/nanomips/length-2.c (new) | 11 + .../gcc.target/nanomips/lhxs.c (new) | 11 + .../gcc.target/nanomips/li48-1.c (new) | 11 + .../gcc.target/nanomips/li48-2.c (new) | 12 + .../nanomips/libcall-abs-call.c (new) | 9 + .../gcc.target/nanomips/long-calls-pg.c (new) | 7 + .../gcc.target/nanomips/lwm-swm.c (new) | 17 + .../gcc.target/nanomips/lx-1.c (new) | 20 + .../gcc.target/nanomips/lx-3.c (new) | 15 + .../gcc.target/nanomips/madd-4.c (new) | 27 + .../gcc.target/nanomips/maddu-3.c (new) | 30 + .../gcc.target/nanomips/maddu-4.c (new) | 30 + .../gcc.target/nanomips/memcpy-1.c (new) | 20 + .../nanomips/mips-prepend-1.c (new) | 8 + .../nanomips/mips32-dsp-run.c (new) | 1063 +++++ .../gcc.target/nanomips/mips32-dspr2.c (new) | 541 +++ .../gcc.target/nanomips/movcc-1.c (new) | 19 + .../gcc.target/nanomips/movep-1.c (new) | 17 + .../gcc.target/nanomips/movep-2.c (new) | 13 + .../gcc.target/nanomips/msub-4.c (new) | 21 + .../gcc.target/nanomips/msubu-4.c (new) | 24 + .../gcc.target/nanomips/mulsize-1.c (new) | 10 + .../gcc.target/nanomips/mulsize-2.c (new) | 11 + .../gcc.target/nanomips/mulsize-3.c (new) | 12 + .../gcc.target/nanomips/mulsize-4.c (new) | 12 + .../gcc.target/nanomips/mulsize-5.c (new) | 13 + .../gcc.target/nanomips/mulsize-6.c (new) | 13 + .../nanomips-attr-nomicromips.c (new) | 3 + .../nanomips/nanomips-attr-nomips16.c (new) | 3 + .../nanomips/nanomips-dsp-accinit-2.c (new) | 23 + .../gcc.target/nanomips/nanomips-dsp.c (new) | 1160 ++++++ .../nanomips/nanomips-dspr3-type-1.c (new) | 30 + .../nanomips/nanomips-dspr3-type-2.c (new) | 12 + .../nanomips/nanomips-err-mabi32.c (new) | 4 + ...omips-models-func-extern-large-nmf.c (new) | 38 + .../nanomips-models-func-static-nmf.c (new) | 145 + ...ips-models-func-static-nopcrel-nmf.c (new) | 145 + ...nomips-models-module-nopcrel-nopid.c (new) | 6 + ...nanomips-models-module-nopcrel-pid.c (new) | 6 + ...nanomips-models-module-pcrel-nopid.c (new) | 6 + .../nanomips-models-module-pcrel-pid.c (new) | 6 + ...ps-models-var-access-got-large-nmf.c (new) | 15 + ...nomips-models-var-access-gprel-nmf.c (new) | 65 + ...ps-models-var-access-gprel-pid-nmf.c (new) | 72 + ...mips-models-var-access-nopcrel-nmf.c (new) | 80 + ...nomips-models-var-access-pcrel-nmf.c (new) | 76 + ...s-models-var-address-got-large-nmf.c (new) | 14 + ...omips-models-var-address-gprel-nmf.c (new) | 62 + ...s-models-var-address-gprel-pid-nmf.c (new) | 62 + ...ips-models-var-address-nopcrel-nmf.c (new) | 62 + ...omips-models-var-address-pcrel-nmf.c (new) | 62 + .../nanomips-module-default-pic1.c (new) | 6 + .../gcc.target/nanomips/nanomips.exp (new) | 880 ++++ .../gcc.target/nanomips/near-far-1.c (new) | 21 + .../gcc.target/nanomips/near-far-2.c (new) | 26 + .../gcc.target/nanomips/near-far-3.c (new) | 18 + .../gcc.target/nanomips/near-far-4.c (new) | 23 + gcc/testsuite/gcc.target/nanomips/nor.c (new) | 11 + .../gcc.target/nanomips/pr33755.c (new) | 29 + .../gcc.target/nanomips/pr35802.c (new) | 17 + .../gcc.target/nanomips/pr54240.c (new) | 27 + .../gcc.target/nanomips/pr55315.c (new) | 11 + .../gcc.target/nanomips/pr59137.c (new) | 33 + .../gcc.target/nanomips/pr65862-1.c (new) | 16 + .../gcc.target/nanomips/pr65862-2.c (new) | 31 + .../gcc.target/nanomips/pr68273.c (new) | 79 + .../gcc.target/nanomips/pr69129.c (new) | 29 + .../gcc.target/nanomips/reg-var-1.c (new) | 16 + .../gcc.target/nanomips/restore-1.c (new) | 19 + .../gcc.target/nanomips/restore-2.c (new) | 23 + .../gcc.target/nanomips/restore-jrc-1.c (new) | 10 + .../gcc.target/nanomips/scc-1.c (new) | 23 + .../gcc.target/nanomips/sdata-1.c (new) | 62 + .../gcc.target/nanomips/sdata-2.c (new) | 62 + .../gcc.target/nanomips/sdata-3.c (new) | 62 + .../gcc.target/nanomips/sdata-4.c (new) | 45 + .../gcc.target/nanomips/seqi-sltu-1.c (new) | 18 + .../gcc.target/nanomips/soft-float-1.c (new) | 8 + .../nanomips/ssdata-const-sf.c (new) | 7 + .../gcc.target/nanomips/sx-1.c (new) | 20 + .../gcc.target/nanomips/sx-2.c (new) | 14 + .../gcc.target/nanomips/teq-1.c (new) | 13 + .../gcc.target/nanomips/tne-1.c (new) | 12 + .../gcc.target/nanomips/union-zext.c (new) | 29 + .../gcc.target/nanomips/va-arg-1.c (new) | 48 + .../nanomips/var-multiword-misaligned.c (new) | 17 + gcc/testsuite/lib/scanasm.exp | 3 + gcc/testsuite/lib/target-supports.exp | 4 +- include/longlong.h | 9 +- libgcc/config.host | 21 + libgcc/config/mips/lib1funcs-nano.S (new) | 86 + libgcc/config/mips/t-nanomips (new) | 10 + libgcc/configure | 2 +- libgcc/configure.ac | 2 +- 172 files changed, 14043 insertions(+), 831 deletions(-) create mode 100644 config/mt-nanomips create mode 100755 gcc/config/mips/genopt-nanomips.sh create mode 100644 gcc/config/mips/i7200.md create mode 100644 gcc/config/mips/mips-classic.md create mode 100644 gcc/config/mips/nanomips-cpus.def create mode 100644 gcc/config/mips/nanomips-tables.opt create mode 100644 gcc/config/mips/nanomips.h create mode 100644 gcc/config/mips/nanomips.md create mode 100644 gcc/config/mips/nanomips.opt create mode 100644 gcc/config/mips/t-nanomips create mode 100644 gcc/config/mips/t-nanomips-elf create mode 100644 gcc/testsuite/gcc.target/nanomips/addiu48-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/addiu48-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/beqic-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bgeiuc-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bltc-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bltic-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bltiuc-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bnec-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bneic-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bnezc-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/branch-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/branch-3.c create mode 100644 gcc/testsuite/gcc.target/nanomips/branch-4.c create mode 100644 gcc/testsuite/gcc.target/nanomips/branch-5.c create mode 100644 gcc/testsuite/gcc.target/nanomips/branch-helper.h create mode 100644 gcc/testsuite/gcc.target/nanomips/bswap-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bswap-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bswap-3.c create mode 100644 gcc/testsuite/gcc.target/nanomips/bswap-4.c create mode 100644 gcc/testsuite/gcc.target/nanomips/cache-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/call-saved-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/clear-cache-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/constraint-m.c create mode 100644 gcc/testsuite/gcc.target/nanomips/dpaq_sa_l_w.c create mode 100644 gcc/testsuite/gcc.target/nanomips/dpsq_sa_l_w.c create mode 100644 gcc/testsuite/gcc.target/nanomips/dsp-ctrl.c create mode 100644 gcc/testsuite/gcc.target/nanomips/dsp-lhxs.c create mode 100644 gcc/testsuite/gcc.target/nanomips/dsp-no-lhx.c create mode 100644 gcc/testsuite/gcc.target/nanomips/ext-5.c create mode 100644 gcc/testsuite/gcc.target/nanomips/ext-7.c create mode 100644 gcc/testsuite/gcc.target/nanomips/ext_ins.c create mode 100644 gcc/testsuite/gcc.target/nanomips/fixed-scalar-type.c create mode 100644 gcc/testsuite/gcc.target/nanomips/fixed-vector-type.c create mode 100644 gcc/testsuite/gcc.target/nanomips/fp-alloca.c create mode 100644 gcc/testsuite/gcc.target/nanomips/gprel-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/hazard-barrier-return-attribute.c create mode 100644 gcc/testsuite/gcc.target/nanomips/inline-memcpy-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/inline-memcpy-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/ins-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/ins-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/jump-table-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/jump-table.c create mode 100644 gcc/testsuite/gcc.target/nanomips/length-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/length-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/lhxs.c create mode 100644 gcc/testsuite/gcc.target/nanomips/li48-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/li48-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/libcall-abs-call.c create mode 100644 gcc/testsuite/gcc.target/nanomips/long-calls-pg.c create mode 100644 gcc/testsuite/gcc.target/nanomips/lwm-swm.c create mode 100644 gcc/testsuite/gcc.target/nanomips/lx-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/lx-3.c create mode 100644 gcc/testsuite/gcc.target/nanomips/madd-4.c create mode 100644 gcc/testsuite/gcc.target/nanomips/maddu-3.c create mode 100644 gcc/testsuite/gcc.target/nanomips/maddu-4.c create mode 100644 gcc/testsuite/gcc.target/nanomips/memcpy-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/mips-prepend-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/mips32-dsp-run.c create mode 100644 gcc/testsuite/gcc.target/nanomips/mips32-dspr2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/movcc-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/movep-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/movep-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/msub-4.c create mode 100644 gcc/testsuite/gcc.target/nanomips/msubu-4.c create mode 100644 gcc/testsuite/gcc.target/nanomips/mulsize-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/mulsize-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/mulsize-3.c create mode 100644 gcc/testsuite/gcc.target/nanomips/mulsize-4.c create mode 100644 gcc/testsuite/gcc.target/nanomips/mulsize-5.c create mode 100644 gcc/testsuite/gcc.target/nanomips/mulsize-6.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-attr-nomicromips.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-attr-nomips16.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-dsp-accinit-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-dsp.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-dspr3-type-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-dspr3-type-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-err-mabi32.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-func-extern-large-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-func-static-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-func-static-nopcrel-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-module-nopcrel-nopid.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-module-nopcrel-pid.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-module-pcrel-nopid.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-module-pcrel-pid.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-access-got-large-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-access-gprel-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-access-gprel-pid-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-access-nopcrel-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-access-pcrel-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-address-got-large-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-address-gprel-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-address-gprel-pid-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-address-nopcrel-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-models-var-address-pcrel-nmf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips-module-default-pic1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nanomips.exp create mode 100644 gcc/testsuite/gcc.target/nanomips/near-far-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/near-far-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/near-far-3.c create mode 100644 gcc/testsuite/gcc.target/nanomips/near-far-4.c create mode 100644 gcc/testsuite/gcc.target/nanomips/nor.c create mode 100644 gcc/testsuite/gcc.target/nanomips/pr33755.c create mode 100644 gcc/testsuite/gcc.target/nanomips/pr35802.c create mode 100644 gcc/testsuite/gcc.target/nanomips/pr54240.c create mode 100644 gcc/testsuite/gcc.target/nanomips/pr55315.c create mode 100644 gcc/testsuite/gcc.target/nanomips/pr59137.c create mode 100644 gcc/testsuite/gcc.target/nanomips/pr65862-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/pr65862-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/pr68273.c create mode 100644 gcc/testsuite/gcc.target/nanomips/pr69129.c create mode 100644 gcc/testsuite/gcc.target/nanomips/reg-var-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/restore-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/restore-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/restore-jrc-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/scc-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/sdata-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/sdata-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/sdata-3.c create mode 100644 gcc/testsuite/gcc.target/nanomips/sdata-4.c create mode 100644 gcc/testsuite/gcc.target/nanomips/seqi-sltu-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/soft-float-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/ssdata-const-sf.c create mode 100644 gcc/testsuite/gcc.target/nanomips/sx-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/sx-2.c create mode 100644 gcc/testsuite/gcc.target/nanomips/teq-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/tne-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/union-zext.c create mode 100644 gcc/testsuite/gcc.target/nanomips/va-arg-1.c create mode 100644 gcc/testsuite/gcc.target/nanomips/var-multiword-misaligned.c create mode 100644 libgcc/config/mips/lib1funcs-nano.S create mode 100644 libgcc/config/mips/t-nanomips