From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 890 invoked by alias); 31 Jan 2020 17:42:43 -0000 Mailing-List: contact gcc-cvs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-cvs-owner@gcc.gnu.org Received: (qmail 123092 invoked by uid 9047); 31 Jan 2020 17:42:21 -0000 Date: Fri, 31 Jan 2020 17:42:00 -0000 Message-ID: <20200131174221.123090.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Nathan Sidwell To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/c++-modules] [ARC] Update ARC600 multiplication cost. X-Act-Checkin: gcc X-Git-Author: Claudiu Zissulescu X-Git-Refname: refs/heads/devel/c++-modules X-Git-Oldrev: 82cd9a96ad06bdb60088aa2e76f8540a12459cb9 X-Git-Newrev: f261388f1a9f8ee4abfefff32bdfe6046914b7f2 X-SW-Source: 2020-01/txt/msg04951.txt.bz2 https://gcc.gnu.org/g:f261388f1a9f8ee4abfefff32bdfe6046914b7f2 commit f261388f1a9f8ee4abfefff32bdfe6046914b7f2 Author: Claudiu Zissulescu Date: Mon Jan 27 14:51:03 2020 +0200 [ARC] Update ARC600 multiplication cost. gcc/ xxxx-xx-xx Claudiu Zissulescu * config/arc/arc.c (arc_rtx_costs): Update mul64 cost. Diff: --- gcc/ChangeLog | 4 ++++ gcc/config/arc/arc.c | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d75d563..a7ad5fa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2020-01-27 Claudiu Zissulescu + * config/arc/arc.c (arc_rtx_costs): Update mul64 cost. + +2020-01-27 Claudiu Zissulescu + * config/arc/arc-protos.h (gen_mlo): Remove. (gen_mhi): Likewise. * config/arc/arc.c (AUX_MULHI): Define. diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index a1f863f..bc34235 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -5877,6 +5877,12 @@ arc_rtx_costs (rtx x, machine_mode mode, int outer_code, nolimm = true; if (satisfies_constraint_Clo (x)) nolimm = true; + break; + case MULT: + if (TARGET_MUL64_SET) + if (SIGNED_INT12 (INTVAL (x))) + nolimm = true; + break; default: break; }