Re: [committed] arc: Remove mlra option [PR113954]

2024-09-24 Thread Claudiu Zissulescu Ianculescu
I'll include your comment in my second patch where I clean some patterns used by reload. Thank you, claudiu On Mon, Sep 23, 2024 at 5:05 PM Andreas Schwab wrote: > > On Sep 23 2024, Claudiu Zissulescu wrote: > > > diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc &

[committed] arc: Remove mlra option [PR113954]

2024-09-23 Thread Claudiu Zissulescu
: * config/arc/arc.cc (TARGET_LRA_P): Always return true. (arc_lra_p): Remove. * config/arc/arc.h (TARGET_LRA): Remove. * config/arc/arc.opt (mlra): Change it to do nothing. * doc/invoke.texi (mlra): Update option description. Signed-off-by: Claudiu Zissulescu --- gcc

[PATCH] [MAINTAINERS] Update my email address

2024-07-01 Thread Claudiu Zissulescu
Update my email address. ChangeLog: * MAINTAINERS: Update claziss email address. Signed-off-by: Claudiu Zissulescu --- MAINTAINERS | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 41319595bb5..ddeea7b497f 100644 --- a/MAINTAINERS

RE: [ARC PATCH] Table-driven ashlsi implementation for better code/rtx_costs.

2024-01-09 Thread Claudiu Zissulescu
HI Roger, It looks good. Thank you for your contribution, Claudiu -Original Message- From: Roger Sayle Sent: Sunday, December 24, 2023 1:38 AM To: gcc-patches@gcc.gnu.org Cc: 'Claudiu Zissulescu' ; 'Jeff Law' Subject: [ARC PATCH] Table-driven ashlsi implementat

RE: [ARC PATCH] Add *extvsi_n_0 define_insn_and_split for PR 110717.

2023-12-13 Thread Claudiu Zissulescu
Hi Roger, It looks good to me. Thank you for your contribution, Claudiu -Original Message- From: Roger Sayle Sent: Tuesday, December 5, 2023 4:00 PM To: gcc-patches@gcc.gnu.org Cc: 'Claudiu Zissulescu' Subject: [ARC PATCH] Add *extvsi_n_0 define_insn_and_split for PR 1107

RE: [ARC PATCH] Consistent use of whitespace in assembler templates.

2023-11-21 Thread Claudiu Zissulescu
Sayle Sent: Monday, November 6, 2023 8:37 PM To: gcc-patches@gcc.gnu.org Cc: 'Claudiu Zissulescu' Subject: [ARC PATCH] Consistent use of whitespace in assembler templates. This minor clean-up patch tweaks arc.md to use whitespace consistently in output templates, always using a TAB b

RE: [ARC PATCH] Improved DImode rotates and right shifts by one bit.

2023-11-13 Thread Claudiu Zissulescu
Looks good too. Please proceed with your commit. Thank you for your contribution, //Claudiu -Original Message- From: Roger Sayle Sent: Monday, November 6, 2023 7:30 PM To: gcc-patches@gcc.gnu.org Cc: 'Claudiu Zissulescu' Subject: [ARC PATCH] Improved DImode rotates and right

RE: [ARC PATCH] Provide a TARGET_FOLD_BUILTIN target hook.

2023-11-13 Thread Claudiu Zissulescu
Hi Roger, Looks good. Please proceed with your commit. Thank you, Claudiu -Original Message- From: Roger Sayle Sent: Friday, November 3, 2023 9:43 PM To: gcc-patches@gcc.gnu.org Cc: 'Claudiu Zissulescu' Subject: [ARC PATCH] Provide a TARGET_FOLD_BUILTIN target hook.

Re: [ARC PATCH] Improve DImode left shift by a single bit.

2023-11-03 Thread Claudiu Zissulescu Ianculescu
Missed this one. Ok, please proceed with the commit. Thank you for your contribution, Claudiu On Sat, Oct 28, 2023 at 4:05 PM Roger Sayle wrote: > > > This patch improves the code generated for X << 1 (and for X + X) when > X is 64-bit DImode, using the same two instruction code sequence used >

Re: [ARC PATCH] Convert (signed<<31)>>31 to -(signed&1) without barrel shifter.

2023-10-30 Thread Claudiu Zissulescu Ianculescu
Hi Roger, Do you want to say bmsk_s instead of msk_s here: +/* { dg-final { scan-assembler "msk_s\\s+r0,r0,0" } } */ Anyhow, the patch looks good. Proceed with your commit. Thank you, Claudiu On Mon, Oct 30, 2023 at 5:05 AM Jeff Law wrote: > > > > On 10/28/23 10:47, Roger Sayle wrote: > > > >

Re: [ARC PATCH] Improved ARC rtx_costs/insn_cost for SHIFTs and ROTATEs.

2023-10-30 Thread Claudiu Zissulescu Ianculescu
Hi Roger, You have a block of 8 spaces that needs to be replaced by tabs: gcc/config/arc/arc.cc:5538:0: if (n < 4) Please fix the above, and proceed with your commit. Thank you, Claudiu On Sun, Oct 29, 2023 at 11:16 AM Roger Sayle wrote: > > > This patch overhauls the ARC backend's insn_

Re: [ARC PATCH] Improved SImode shifts and rotates with -mswap.

2023-10-30 Thread Claudiu Zissulescu Ianculescu
Hi Roger, +(define_insn "si2_cnt16" + [(set (match_operand:SI 0 "dest_reg_operand" "=w") Please use "register_operand", and "r" constraint. +(ANY_ROTATE:SI (match_operand:SI 1 "register_operand" "c") Please use "r" constraint instead of "c". + (const_int 16)))] + "TARGET_SW

[committed] arc: Remove mpy_dest_reg_operand predicate

2023-10-24 Thread Claudiu Zissulescu
The mpy_dest_reg_operand is just a wrapper for register_operand. Remove it. gcc/ * config/arc/arc.md (mulsi3_700): Update pattern. (mulsi3_v2): Likewise. * config/arc/predicates.md (mpy_dest_reg_operand): Remove it. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc

Re: [ARC PATCH] Improved SImode shifts and rotates on !TARGET_BARREL_SHIFTER.

2023-10-24 Thread Claudiu Zissulescu Ianculescu
Hi Roger, Your patch doesn't introduce new regressions. However, before pushing to the mainline you need to fix some issues: 1. Please fix the trailing spaces and blocks of 8 spaces which should be replaced with tabs. You can use check_GNU_style.py script to spot them. 2. Please use capital letter

Re: [ARC PATCH] Split asl dst, 1, src into bset dst, 0, src to implement 1<

2023-10-16 Thread Claudiu Zissulescu Ianculescu
Hi Roger, Indeed, I was missing the patch file. Approved. Thank you for your contribution, Claudiu On Sun, Oct 15, 2023 at 11:14 AM Roger Sayle wrote: > > I’ve done it again. ENOPATCH. > > > > From: Roger Sayle > Sent: 15 October 2023 09:13 > To: 'gcc-patches

[committed] arc: Refurbish add.f combiner patterns

2023-10-10 Thread Claudiu Zissulescu
ke pattern canonical. (addsi_compare_2): Fix identation, constraint letters. (addsi_compare_3): Likewise. gcc/testsuite/ * gcc.target/arc/add_f-combine.c: New test. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.cc| 2 +- g

[committed 4/5] arc: Remove obsolete ccfsm instruction predication mechanism

2023-10-05 Thread Claudiu Zissulescu
. (arc_output_libcall): Likewise. * config/arc/arc.md: Remove ccfsm references and update related instruction patterns. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc-passes.def | 6 - gcc/config/arc/arc-protos.h | 7 - gcc/config/arc/arc.cc | 830

[committed 5/5] arc: Update tests predicates when using linux toolchain.

2023-10-05 Thread Claudiu Zissulescu
gcc/testsuite: * gcc.target/arc/enter-dw2-1.c: Remove tests when using linux build. * gcc.target/arc/tls-ld.c: Update test. * gcc.target/arc/tls-le.c: Likewise. Signed-off-by: Claudiu Zissulescu --- gcc/testsuite/gcc.target/arc/enter-dw2-1.c | 18

[committed 3/5] arc: Remove '^' print punct character

2023-10-05 Thread Claudiu Zissulescu
/arc.md: Update patterns which uses '%&'. gcc/testsuite/ * gcc.target/arc/loop-3.c: Update test. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.cc | 9 - gcc/config/arc/arc.md | 18 +- gcc/testsuite/gcc.targ

[committed 2/5] arc: Update/remove ARC specific tests

2023-10-05 Thread Claudiu Zissulescu
.c: Set it to XFAIL. Signed-off-by: Claudiu Zissulescu --- gcc/testsuite/gcc.target/arc/add_n-combine.c | 2 +- gcc/testsuite/gcc.target/arc/firq-4.c | 1 - gcc/testsuite/gcc.target/arc/firq-6.c | 1 - gcc/testsuite/gcc.target/arc/mtune-ARC600.c| 4 gcc/testsuite

[committed 1/5] arc: Remove unused/incomplete alignment assembly annotation.

2023-10-05 Thread Claudiu Zissulescu
Update description. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc-protos.h | 2 - gcc/config/arc/arc.cc | 33 ++ gcc/config/arc/arc.h| 16 - gcc/config/arc/arc.md | 125 ++-- gcc/config/arc/arc.opt | 4 +- gc

Re: [ARC PATCH] Split SImode shifts pre-reload on !TARGET_BARREL_SHIFTER.

2023-10-04 Thread Claudiu Zissulescu Ianculescu
Hi Roger, The patch as it is passed the validation, and it is in general OK. Although it doesn't address the elephant in the room, namely output_shift function, it is a welcome cleanup. I would like you to split the patch in two. One which deals with improvements on shifts in absence of a barrel s

Re: [ARC PATCH] Split SImode shifts pre-reload on !TARGET_BARREL_SHIFTER.

2023-10-03 Thread Claudiu Zissulescu Ianculescu
;m happy to update/revise my patch based on this > and your feedback, for example preferring add over > asl_s (or controlling this choice with -Os). > > Thanks again. > Roger > -- > > > -Original Message- > > From: Claudiu Zissulescu > > Sent: 03 Octob

RE: [ARC PATCH] Split SImode shifts pre-reload on !TARGET_BARREL_SHIFTER.

2023-10-03 Thread Claudiu Zissulescu
: gcc-patches@gcc.gnu.org Cc: Claudiu Zissulescu Subject: [ARC PATCH] Split SImode shifts pre-reload on !TARGET_BARREL_SHIFTER. Hi Claudiu, It was great meeting up with you and the Synopsys ARC team at the GNU tools Cauldron in Cambridge. This patch is the first in a series to improve SImod

RE: [ARC PATCH] Use rlc r0, 0 to implement scc_ltu (i.e. carry_flag ? 1 : 0)

2023-10-02 Thread Claudiu Zissulescu
Hi Roger, Everything is good. Ok for mainline. Thank you for your contribution, Claudiu -Original Message- From: Claudiu Zissulescu Sent: Sunday, October 1, 2023 5:33 PM To: Jeff Law ; Roger Sayle Cc: gcc-patches@gcc.gnu.org Subject: RE: [ARC PATCH] Use rlc r0, 0 to implement scc_ltu

RE: [ARC PATCH] Use rlc r0, 0 to implement scc_ltu (i.e. carry_flag ? 1 : 0)

2023-10-01 Thread Claudiu Zissulescu
1:02 AM To: Roger Sayle ; Claudiu Zissulescu Cc: gcc-patches@gcc.gnu.org Subject: Re: [ARC PATCH] Use rlc r0, 0 to implement scc_ltu (i.e. carry_flag ? 1 : 0) On 9/29/23 15:11, Roger Sayle wrote: > > Hi Claudiu, >> The patch looks sane. Have you run dejagnu test suite? > > I

RE: [ARC PATCH] Use rlc r0, 0 to implement scc_ltu (i.e. carry_flag ? 1 : 0)

2023-09-29 Thread Claudiu Zissulescu
Hi Roger, The patch looks sane. Have you run dejagnu test suite? Thanks, Claudiu -Original Message- From: Roger Sayle Sent: Friday, September 29, 2023 6:54 PM To: gcc-patches@gcc.gnu.org Cc: Claudiu Zissulescu Subject: [ARC PATCH] Use rlc r0,0 to implement scc_ltu (i.e. carry_flag

Re: [PATCH 2/2] ARC: Use intrinsics for __builtin_sub_overflow*()

2023-09-07 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
OK, Thank you for your contribution, Claudiu On Wed, Sep 6, 2023 at 3:50 PM Shahab Vahedi wrote: > > This patch covers signed and unsigned subtractions. The generated code > would be something along these lines: > > signed: > sub.f r0, r1, r2 > b.v @label > > unsigned: > sub.f r0,

Re: [PATCH 1/2] ARC: Use intrinsics for __builtin_add_overflow*()

2023-09-07 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Ok. Thank you for your contribution, Claudiu On Wed, Sep 6, 2023 at 3:50 PM Shahab Vahedi wrote: > > This patch covers signed and unsigned additions. The generated code > would be something along these lines: > > signed: > add.f r0, r1, r2 > b.v @label > > unsigned: > add.f r0, r1

[committed 2/2] arc: Cleanup addsi3 instruction pattern

2023-09-05 Thread Claudiu Zissulescu via Gcc-patches
nge code letter from 'S' to 'J'. * config/arc/arc700.md: Add newly introduced types. * config/arc/arcHS.md: Likewsie. * config/arc/arcHS4x.md: Likewise. * config/arc/constraints.md (Cca, CL2, Csp, C2a): Remove it. (CM4): Update descrip

[committed 1/2] arc: Remove obsolete mbbit-peephole option and unused patterns.

2023-09-05 Thread Claudiu Zissulescu via Gcc-patches
option. * doc/invoke.texi (mbbit-peephole): Update document. Signed-off-by: Claudiu Zissulescu --- gcc/common/config/arc/arc-common.cc | 1 - gcc/config/arc/arc.md | 31 - gcc/config/arc/arc.opt | 4 ++-- gcc/doc/invoke.texi

[committed] arc: Honor SWAP option for lsl16 instruction

2023-08-30 Thread Claudiu Zissulescu via Gcc-patches
The LSL16 instruction is only available if SWAP (-mswap) option is turned on. gcc/ChangeLog: * config/arc/arc.cc (arc_split_mov_const): Use LSL16 only when SWAP option is enabled. * config/arc/arc.md (ashlsi2_cnt16): Likewise. Signed-off-by: Claudiu Zissulescu --- gcc

[committed] arc: Update builtin documentation

2023-07-06 Thread Claudiu Zissulescu via Gcc-patches
gcc/ChangeLog: * doc/extend.texi (ARC Built-in Functions): Update documentation with missing builtins. --- gcc/doc/extend.texi | 55 + 1 file changed, 55 insertions(+) diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index d701b4d1

[committed] arc: Make TLS Local Dynamic work like Global Dynamic model

2023-05-25 Thread Claudiu Zissulescu via Gcc-patches
rc.cc (arc_call_tls_get_addr): Simplify access using TLS Local Dynamic. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.cc | 24 +--- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc index dd012f

[committed] arc: Don't use millicode thunks unless asked for.

2023-02-13 Thread Claudiu Zissulescu via Gcc-patches
ARC has enter_s/leave_s instructions which can save/restore the entire function context. It is not needed the millicode thunks anylonger when compiling for size, thus, make their usage optional. gcc/ * common/config/arc/arc-common.cc (arc_option_optimization_table): Remove millico

[committed 4/5] arc: Remove Rcq constraint.

2022-10-10 Thread Claudiu Zissulescu via Gcc-patches
): Likewise. (abssf2): Likewise. (ashlsi2_cnt1): Likewise. (lshrsi3_cnt1): Likewise. (ashrsi3_cnt1): Likewise. * config/arc/constraints.md (Rcq): Remove. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.cc | 48 +++ gcc/config/arc/arc.md

[committed 3/5] arc: Remove Rcw constraint

2022-10-10 Thread Claudiu Zissulescu via Gcc-patches
. (negsf2): Likewise. * config/arc/constraints.md(Rcw): Remove it. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.md | 220 +- gcc/config/arc/constraints.md | 14 --- 2 files changed, 110 insertions(+), 124 deletions(-) diff --git

[committed 5/5] arc: Remove obsolete mRcq and mRcw options.

2022-10-10 Thread Claudiu Zissulescu via Gcc-patches
document. Signed-off-by: Claudiu Zissulescu --- gcc/common/config/arc/arc-common.cc | 2 -- gcc/config/arc/arc.opt | 10 ++ gcc/doc/invoke.texi | 8 ++-- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/gcc/common/config/arc/arc-common.cc b/gcc

[committed 2/5] arc: Remove Rcr constraint

2022-10-10 Thread Claudiu Zissulescu via Gcc-patches
. gcc/testsuite/ChangeLog: * gcc.target/arc/tmac-2.c: Update test. Signed-off-by: Claudiu Zissulescu fix --- gcc/config/arc/arc.md | 36 +-- gcc/config/arc/constraints.md | 10 gcc/testsuite/gcc.target/arc/tmac-2.c | 2 +- 3 files

[committed 1/5] arc: Fix enter pattern instruction's offsets

2022-10-10 Thread Claudiu Zissulescu via Gcc-patches
/testsuite * gcc.target/arc/enter-dw2-1.c: New file. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.cc | 6 ++--- gcc/testsuite/gcc.target/arc/enter-dw2-1.c | 28 ++ 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 gcc

[committed] arc: Remove max-page-size and common-page-size forced setting

2022-10-06 Thread Claudiu Zissulescu via Gcc-patches
Max page size is defined in the ARC's BFD file, and the common page size is also set by the appropriate binutils macros. Remove them from LINK_SPEC. 2022-10-06 Claudiu Zissulescu * config/arc/linux.h (LINK_SPEC): Remove max-page-size and common-pave-size. Signed-o

Re: [PATCH] Avoid depending on destructor order

2022-09-26 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Thanks, I haven't observed it. Waiting for it, Claudiu On Mon, Sep 26, 2022 at 2:49 PM Thomas Neumann wrote: > > Hi Claudiu, > > > This change prohibits compiling of ARC backend: > > > >> + gcc_assert (in_shutdown || ob); > > > > in_shutdown is only defined when ATOMIC_FDE_FAST_PATH is defined,

Re: [PATCH] Avoid depending on destructor order

2022-09-26 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Hi Thomas, This change prohibits compiling of ARC backend: > + gcc_assert (in_shutdown || ob); in_shutdown is only defined when ATOMIC_FDE_FAST_PATH is defined, while gcc_assert is outside of any ifdef. Please can you revisit this line and change it accordingly. Thanks, Claudiu

[committed] arc: Add ARCHS release 310a tune variant.

2022-07-18 Thread Claudiu Zissulescu via Gcc-patches
mcpu and tune sections. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc-arch.h | 3 +- gcc/config/arc/arc-cpus.def | 1 + gcc/config/arc/arc-tables.opt | 3 + gcc/config/arc/arc.cc | 192 +- gcc/config/arc/arc.md | 32

[committed 2/2] libgcc/arc: Update udivmodsi4 and make the lib safe for rf16

2022-07-18 Thread Claudiu Zissulescu via Gcc-patches
From: Claudiu Zissulescu The ARC soft udivmodsi4 algorithm and as well as using umodsi3 for reduced register set configurations are wrong. libgcc/ * config/arc/lib2funcs.c (udivmodsi4): Update AND mask. * config/arc/lib1funcs.S (umodsi3): Don't use it for

[committed 1/2] arc: Fix interrupt's epilogue.

2022-07-18 Thread Claudiu Zissulescu via Gcc-patches
: New file. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.cc | 2 +- gcc/testsuite/gcc.target/arc/interrupt-13.c | 15 +++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/arc/interrupt-13.c diff --git a

[committed] arc: Fix interrupt's epilogue.

2022-07-18 Thread Claudiu Zissulescu via Gcc-patches
: New file. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.cc | 2 +- gcc/testsuite/gcc.target/arc/interrupt-13.c | 15 +++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/arc/interrupt-13.c diff --git a

Re: [PATCH] arc: Fix for new ifcvt behavior [PR104154]

2022-02-28 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Hi Robin, The patch looks good. Please go ahead and merge it, please let me know if you cannot. Thank you, Claudiu On Mon, Feb 21, 2022 at 9:57 AM Robin Dapp via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > Hi, > > I figured I'd just go ahead and post this patch as well since it seems > to h

Re: [committed] arc: Fail conditional move expand patterns

2022-02-28 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Hi Robin, I don't know how I missed your arc related patch, I'll bootstrap and test your patch asap. Thanks, Claudiu On Fri, Feb 25, 2022 at 3:29 PM Robin Dapp wrote: > > If the movcc comparison is not valid it triggers an assert in the > > current implementation. This behavior is not needed

[committed] arc: Fail conditional move expand patterns

2022-02-25 Thread Claudiu Zissulescu via Gcc-patches
(movsicc): Fail if comparison is not valid. (movdicc): Likewise. (movsfcc): Likewise. (movdfcc): Likewise. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.cc | 3 ++- gcc/config/arc/arc.md | 25 - 2 files changed, 22 insertions(+), 6

[committed] arc: Add DWARF2 alternate CFA column.

2022-01-14 Thread Claudiu Zissulescu via Gcc-patches
DWARF_ALT_FRAME_RETURN_COLUMN macro. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.h| 11 ++--- gcc/testsuite/gcc.target/arc/cancel-1.c | 31 + libgcc/config/arc/linux-unwind.h| 9 +++ 3 files changed, 44 insertions(+), 7 deletions(-) create mode

[committed] arc: Update stack size computation when accumulator registers are available.

2022-01-14 Thread Claudiu Zissulescu via Gcc-patches
computin checking accumulator regs. (arc_expand_prologue): Update comments. (arc_expand_epilogue): Likewise. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gcc/config/arc/arc.c b/gcc/config/arc

[committed] arc: Update (u)maddhisi4 patterns

2021-11-16 Thread Claudiu Zissulescu via Gcc-patches
e a single move to accumulator. (umaddhisi4): Likewise. (machi): Update pattern. (umachi): Likewise. gcc/testsuite/ * gcc.target/arc/tmac-4.c: New test. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.md | 34 +-

[committed] arc: Update arc specific tests

2021-11-16 Thread Claudiu Zissulescu via Gcc-patches
: Claudiu Zissulescu --- gcc/testsuite/gcc.target/arc/add_n-combine.c | 4 ++-- gcc/testsuite/gcc.target/arc/builtin_eh.c| 3 ++- gcc/testsuite/gcc.target/arc/mul64-1.c | 2 +- gcc/testsuite/gcc.target/arc/tls-gd.c| 4 ++-- gcc/testsuite/gcc.target/arc/tls-ie.c| 4 ++-- gcc

[committed] arc: Update ZOL pattern.

2021-09-14 Thread Claudiu Zissulescu via Gcc-patches
The ZOL pattern is missing modes which may lead to errors during var_tracking. Add them. gcc/ -xx-xx Claudiu Zissulescu * config/arc/arc.md (doloop_end): Add missing mode. (loop_end): Likewise. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.md | 8 1

[committed] arc: Small data doesn't need fcommon option

2021-08-12 Thread Claudiu Zissulescu via Gcc-patches
ARC backend is defaulting to -fcommon. This is not anylonger needed, remove it. gcc/ 2021-08-12 Claudiu Zissulescu * common/config/arc/arc-common.c (arc_option_init_struct): Remove fno-common reference. * config/arc/arc.c (arc_override_options): Remove overriding of

Re: [PATCH] arc: Add --with-fpu support for ARCv2 cpus

2021-06-14 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Thanks a lot guys. Patch is pushed. //Claudiu On Mon, Jun 14, 2021 at 12:34 AM Jeff Law wrote: > > > > On 6/13/2021 4:06 AM, Bernhard Reutner-Fischer wrote: > > On Fri, 11 Jun 2021 14:25:24 +0300 > > Claudiu Zissulescu wrote: > > > >> Hi Bernhard, > &g

Re: [PATCH] arc: Add --with-fpu support for ARCv2 cpus

2021-06-11 Thread Claudiu Zissulescu via Gcc-patches
Hi Bernhard, Please find attached my latest patch, it includes (hopefully) all your feedback. Thank you for comments, Claudiu >From 03075b3d9194120d7adb3cdc2aa0f58e3ea9dd1d Mon Sep 17 00:00:00 2001 From: Claudiu Zissulescu Date: Wed, 21 Oct 2020 16:11:43 +0300 Subject: [PATCH] arc:

Re: [PATCH] arc: Add --with-fpu support for ARCv2 cpus

2021-06-09 Thread Claudiu Zissulescu via Gcc-patches
way, thanks for not using grep -P :) thanks, I thank you! Claudiu >From 1f895d277752277fb51e8436903a94949bd5c7bd Mon Sep 17 00:00:00 2001 From: Claudiu Zissulescu Date: Wed, 21 Oct 2020 16:11:43 +0300 Subject: [PATCH] arc: Add --with-fpu support for ARCv2 cpus Support for a compile-time defau

[committed] arc: Update doloop_end patterns

2021-06-09 Thread Claudiu Zissulescu via Gcc-patches
gcc11. gcc/ -dd-mm Claudiu Zissulescu * config/arc/arc.md (loop_end): Change it to define_insn_and_split. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.md | 46 +++ 1 file changed, 20 insertions(+), 26 deletions(-) diff --

[committed] arc: Fix (u)maddhisi patterns

2021-06-09 Thread Claudiu Zissulescu via Gcc-patches
execution test Backported to gcc11 too. gcc/ 2021-06-09 Claudiu Zissulescu * config/arc/arc.md (maddhisi4): Use VMAC2H instruction. (machi): New pattern. (umaddhisi4): Use VMAC2HU instruction. (umachi): New pattern. Signed-off-by: Claudiu Zissulescu --- gcc/config

[committed] arc: Update 64bit move split patterns.

2021-06-09 Thread Claudiu Zissulescu via Gcc-patches
restriction. This patch is cleaning up those move patterns, and updates splits instruction lengths. Backported to gcc11 too. gcc/ 2021-06-09 Claudiu Zissulescu * config/arc/arc-protos.h (arc_split_move_p): New prototype. * config/arc/arc.c (arc_split_move_p): New function

Re: [PATCH] arc: Add --with-fpu support for ARCv2 cpus

2021-06-08 Thread Claudiu Zissulescu via Gcc-patches
Thank you for your input. I have made an update using grep's ERE. Please let me know if it is ok. //Claudiu >From 3f598e0fc9bc88c3f40f3e381c2955ab36e77ce0 Mon Sep 17 00:00:00 2001 From: Claudiu Zissulescu Date: Wed, 21 Oct 2020 16:11:43 +0300 Subject: [PATCH] arc: Add --with-fpu sup

[PATCH] arc: Add --with-fpu support for ARCv2 cpus

2021-06-04 Thread Claudiu Zissulescu via Gcc-patches
Zissulescu * config.gcc (arc): Add support for with_cpu option. * config/arc/arc.h (OPTION_DEFAULT_SPECS): Add fpu. Signed-off-by: Claudiu Zissulescu --- gcc/config.gcc | 56 ++-- gcc/config/arc/arc.h | 4 2 files changed, 58

[committed] arc: Don't allow millicode thunks with reduced register set CPUs.

2021-06-04 Thread Claudiu Zissulescu via Gcc-patches
The millicode thunks are not reduced register set safe. Disable them for CPUs having this option on. gcc/ 2021-06-04 Claudiu Zissulescu * config/arc/arc.c (arc_override_options): Disable millicode thunks when RF16 is on. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc

[committed] arc: Remove obsolete options

2021-06-03 Thread Claudiu Zissulescu via Gcc-patches
-code The ARC's options are marked as obsolete and ignored for backwards compatibility. gcc/ 2021-06-03 Claudiu Zissulescu * common/config/arc/arc-common.c (arc_option_optimization_table): Remove malign-call. * config/arc/arc.c (arc_unalign_branch_p): Remove u

Re: [PATCH] ARC: gcc driver default to hs38_linux

2021-06-03 Thread Claudiu Zissulescu via Gcc-patches
Right, we can consider this cpu switch missing in gcc11. Best, Claudiu From: Vineet Gupta Sent: Wednesday, June 2, 2021 8:36 PM To: Claudiu Zissulescu ; gcc-patches@gcc.gnu.org Cc: linux-snps-...@lists.infradead.org Subject: Re: [PATCH] ARC: gcc driver default

Re: [PATCH] ARC: gcc driver default to hs38_linux

2021-06-02 Thread Claudiu Zissulescu via Gcc-patches
Approved. //Claudiu From: Vineet Gupta Sent: Tuesday, June 1, 2021 10:42 PM To: gcc-patches@gcc.gnu.org Cc: Claudiu Zissulescu ; linux-snps-...@lists.infradead.org ; Vineet Gupta Subject: [PATCH] ARC: gcc driver default to hs38_linux arc700 is legacy and

Re: [PATCH 02/11 v2] arc: Remove define_insn_and_split *bbit_di

2021-06-02 Thread Claudiu Zissulescu via Gcc-patches
Looks good :) You can go ahead and commit it. Thank you for your contribution, Claudiu From: Kewen.Lin Sent: Wednesday, June 2, 2021 10:43 AM To: Claudiu Zissulescu Cc: g...@amylaar.uk ; andrew.burg...@embecosm.com ; gcc-patches@gcc.gnu.org Subject: [PATCH 02

Re: [PATCH 02/11] arc: Update unexpected empty split condition

2021-06-02 Thread Claudiu Zissulescu via Gcc-patches
Sent: Wednesday, June 2, 2021 10:05 AM To: Claudiu Zissulescu ; gcc-patches@gcc.gnu.org Cc: g...@amylaar.uk ; andrew.burg...@embecosm.com Subject: Re: [PATCH 02/11] arc: Update unexpected empty split condition Hi Claudiu, on 2021/6/2 下午2:52, Claudiu Zissulescu wrote: > Hi, > > Indeed, the s

Re: [PATCH 02/11] arc: Update unexpected empty split condition

2021-06-01 Thread Claudiu Zissulescu via Gcc-patches
@gcc.gnu.org Cc: Kewen Lin ; g...@amylaar.uk ; Claudiu Zissulescu ; andrew.burg...@embecosm.com Subject: [PATCH 02/11] arc: Update unexpected empty split condition gcc/ChangeLog: * config/arc/arc.md (*bbit_di): Fix empty split condition. --- gcc/config/arc/arc.md | 2 +- 1 file changed

[COMMITTED] arc: Fix typo in negv2si2 pattern

2021-05-18 Thread Claudiu Zissulescu via Gcc-patches
gcc/ 2021-05-18 Claudiu Zissulescu * config/arc/simdext.md (negv2si2): Remove round bracket. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/simdext.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/arc/simdext.md b/gcc/config/arc/simdext.md

[PATCH 2/3] [committed] arc: Cleanup simdext.md file

2021-05-09 Thread Claudiu Zissulescu via Gcc-patches
Textual cleanup of the simdext.md file. Format the output assembly instructions. gcc/ 2021-05-10 Claudiu Zissulescu * config/arc/simdext.md: Format and cleanup file. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/simdext.md | 730 +- 1

[PATCH 3/3] [committed] arc: Improve vector support for ARCv2.

2021-05-09 Thread Claudiu Zissulescu via Gcc-patches
further analize a loop. gcc/ 2021-05-10 Claudiu Zissulescu * config/arc/arc.md (UNSPEC_ARC_DMPYWH): Define. * config/arc/simdext.md (VCT): Add predicates for iterator elements. (EMUVEC): Define. (voptab): Likewise. (vec_widen_mult_hi_v4hi): Change

[PATCH 1/3] [committed] arc: Disable movmisalign patterns when aligned access is required

2021-05-09 Thread Claudiu Zissulescu via Gcc-patches
Disable movmisalign patterns when aligned access is required. gcc/ 2021-05-10 Claudiu Zissulescu * config/arc/simdext.md (movmisalignv2hi): Allow misaligned access only when munaligned-access option is on. (movmisalign): Likewise. Signed-off-by: Claudiu Zissulescu

[PATCH 4/4] [committed] arc: Fix compilation warnings.

2021-05-09 Thread Claudiu Zissulescu via Gcc-patches
gcc/ 2021-05-10 Claudiu Zissulescu * common/config/arc/arc-common.c (arc_handle_option): Remove dot from string. * config/arc/arc.c (arc_reorg): Remove underscore from string. Signed-off-by: Claudiu Zissulescu --- gcc/common/config/arc/arc-common.c | 2 +- gcc/config

[PATCH 3/4] [committed] arc: Update ctz/clz patterns

2021-05-09 Thread Claudiu Zissulescu via Gcc-patches
ARCv2 ISA introduces special clz/ctz instructions. This patch is adding support for them when available. Corner case: movr0,0x0 : (w0) r0 <= 0x * ffsr1,r0 : (w0) r1 <= 0x001f * flsr2,r0 : (w0) r2 <= 0x * gcc/ 2021-05-10 Claudiu Z

[PATCH 2/4] [committed] arc: Add alternative names for gp and fp registers.

2021-05-09 Thread Claudiu Zissulescu via Gcc-patches
Add alternative register name r26 for gp register, and add alternative register name r27 for fp register. gcc/ 2021-05-10 Claudiu Zissulescu * config/arc/arc.h (ADDITIONAL_REGISTER_NAMES): Add r26 and r27. --- gcc/config/arc/arc.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a

[PATCH 1/4] [committed] arc: Fix documentation __builtin_arc_sr

2021-05-09 Thread Claudiu Zissulescu via Gcc-patches
The arguments of __builtin_arc_sr are swapped in documentation. Fix it. gcc/ 2021-05-10 Claudiu Zissulescu * doc/extend.texi (__builtin_arc_sr): Swap arguments. Signed-off-by: Claudiu Zissulescu --- gcc/doc/extend.texi | 10 +- 1 file changed, 5 insertions(+), 5 deletions

[PATCH] arc: Remove orphan function.

2021-03-09 Thread Claudiu Zissulescu via Gcc-patches
Remove unused function. gcc/ 2021-03-09 Claudiu Zissulescu * config/arc/arc.c (arc_attr_type): Remove function. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.c | 17 - 1 file changed, 17 deletions(-) diff --git a/gcc/config/arc/arc.c b/gcc/config/arc

[backport gcc10] arc: Use separate predicated patterns for mpyd(u)

2021-01-25 Thread Claudiu Zissulescu via Gcc-patches
From: Claudiu Zissulescu The compiler can match mpyd.eq r0,r1,r0 as a predicated instruction, which is incorrect. The mpyd(u) instruction takes as input two 32-bit registers, returning into a double 64-bit even-odd register pair. For the predicated case, the ARC instruction decoder expects the

[backport gcc10] arc: Refurbish adc/sbc patterns

2021-01-07 Thread Claudiu Zissulescu via Gcc-patches
Back port for gcc10 The adc/sbc patterns were unecessary spliting, remove that and associated functions. gcc/ 2020-12-11 Claudiu Zissulescu * config/arc/arc-protos.h (arc_scheduling_not_expected): Remove it. (arc_sets_cc_p): Likewise. (arc_need_delay): Likewise

[PATCH,committed] arc: fix accumulator first register.

2021-01-05 Thread Claudiu Zissulescu via Gcc-patches
gcc/ 2021-01-05 Claudiu Zissulescu * config/arc/arc.md (maddsidi4_split): Use ACC_REG_FIRST. (umaddsidi4_split): Likewise. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.md | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/config/arc

[committed 6/6] arc: generate mac(u) insn instead of macd(u) when destination is accl

2020-12-29 Thread Claudiu Zissulescu via Gcc-patches
Generate MAC(U) instruction instead of MACD(U) when the destination register is already choosen as ACCL register. gcc/ 2020-12-29 Claudiu Zissulescu * config/arc/arc.md (maddsidi4_split): Skip macd gen, use mac insn instead. (macd): Update register letters

[committed 5/6] arc: flip if-condition predicates in secondary reload hook

2020-12-29 Thread Claudiu Zissulescu via Gcc-patches
The ARC code contains code which should only work with the old reload pass. Such code is found in arc_secondary_reload hook, however it was not properly quarded. Reverse the if-condition predicate such that req_equiv_mem is called when lra is not in progress. gcc/ 2020-12-29 Claudiu Zissulescu

[committed 4/6] arc: Make use reg_renumber safe.

2020-12-29 Thread Claudiu Zissulescu via Gcc-patches
The REGNO_OK_FOR_BASE_P is using reg_renumber array. However, it is not always defined. Use it only when it is defined. gcc/ 2020-12-29 Claudiu Zissulescu * config/arc/arc.h (REGNO_OK_FOR_BASE_P): Check if defined reg_renumber. Signed-off-by: Claudiu Zissulescu --- gcc

[committed 3/6] arc: Update test pattern.

2020-12-29 Thread Claudiu Zissulescu via Gcc-patches
gcc/testsuite 2020-12-29 Claudiu Zissulescu * gcc.target/arc/loop-3.c: Update test pattern. Signed-off-by: Claudiu Zissulescu --- gcc/testsuite/gcc.target/arc/loop-3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.target/arc/loop-3.c b/gcc

[committed 2/6] arc: Fix cached to uncached moves.

2020-12-29 Thread Claudiu Zissulescu via Gcc-patches
We need an temporary register when moving data from a cached memory to an uncached memory. Fix this issue and add a test for it. gcc/ 2020-12-29 Claudiu Zissulescu * config/arc/arc.c (prepare_move_operands): Use a temporary registers when we have cached mem-to-uncached mem

[committed 1/6] arc: Don't use predicated vadd2 instructions in mov patterns.

2020-12-29 Thread Claudiu Zissulescu via Gcc-patches
Update movdi, movdf and mov vectors not to use predicated vadd2 instructions. vadd2 is used as a "fast" move in these patterns. This fixes a number of failures in dejagnu. gcc/ 2020-12-29 Claudiu Zissulescu * config/arc/arc.md (movdi_insn): Update pattern, no predicated

[committed] arc: Update ARC700 cache hazard detection.

2020-12-11 Thread Claudiu Zissulescu via Gcc-patches
From: Claudiu Zissulescu Replace/update ARC700 cache hazard detection. The next situations are handled: - There are 2 stores back2back, then 3 loads in next 3 or 4 instructions. if 3 loads in 3 instructions then we insert 2 nops after stores. if 3 loads in 4 instructions then we insert

[committed] arc: Avoid generating brcc instructions with limm

2020-12-11 Thread Claudiu Zissulescu via Gcc-patches
From: Claudiu Zissulescu BRcc instructions are generated quite late in the compilation process. These instructions combines a compare with a regular conditional branch if the result of the compare is not used anylonger. However, when compiling for size, it is better to avoid BRcc instructions

[committed] arc: Refurbish adc/sbc patterns

2020-12-11 Thread Claudiu Zissulescu via Gcc-patches
The adc/sbc patterns were unecessary spliting, remove that and associated functions. gcc/ 2020-12-11 Claudiu Zissulescu * config/arc/arc-protos.h (arc_scheduling_not_expected): Remove it. (arc_sets_cc_p): Likewise. (arc_need_delay): Likewise. * config

Re: [PATCH] arc: Use separate predicated patterns for mpyd(u)

2020-10-23 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Gentle PING. On Wed, Oct 7, 2020 at 12:39 PM Claudiu Zissulescu wrote: > > From: Claudiu Zissulescu > > The compiler can match mpyd.eq r0,r1,r0 as a predicated instruction, > which is incorrect. The mpyd(u) instruction takes as input two 32-bit > registers, returning into a

Re: [PATCH] arc: Improve/add instruction patterns to better use MAC instructions.

2020-10-23 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Gentle PING. On Fri, Oct 9, 2020 at 5:24 PM Claudiu Zissulescu wrote: > > From: Claudiu Zissulescu > > ARC MYP7+ instructions add MAC instructions for vector and scalar data > types. This patch adds a madd pattern for 16it datum that is using the > 32bit MAC instruction, and

[PATCH] arc: Improve/add instruction patterns to better use MAC instructions.

2020-10-09 Thread Claudiu Zissulescu via Gcc-patches
From: Claudiu Zissulescu ARC MYP7+ instructions add MAC instructions for vector and scalar data types. This patch adds a madd pattern for 16it datum that is using the 32bit MAC instruction, and dot_prod patterns for v4hi vector types. The 64bit moves are also upgraded by using vadd2 instuction

[PATCH] arc: Use separate predicated patterns for mpyd(u)

2020-10-07 Thread Claudiu Zissulescu via Gcc-patches
From: Claudiu Zissulescu The compiler can match mpyd.eq r0,r1,r0 as a predicated instruction, which is incorrect. The mpyd(u) instruction takes as input two 32-bit registers, returning into a double 64-bit even-odd register pair. For the predicated case, the ARC instruction decoder expects the

Re: [PATCH] [ARC] Allow more ABIs in GLIBC_DYNAMIC_LINKER

2020-04-10 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Done. Thank you for your support, Claudiu On Thu, Apr 9, 2020 at 2:38 AM Vineet Gupta wrote: > > Hi Claudiu, > > For glibc needs can this be backported to gcc-9 please ! > > Thx, > -Vineet > > On 3/31/20 3:06 AM, Claudiu Zissulescu Ianculescu wrote: > > Pushe

[PATCH] arc:commited: Allow more ABIs in GLIBC_DYNAMIC_LINKER

2020-04-10 Thread Claudiu Zissulescu via Gcc-patches
04-10 Claudiu Zissulescu + + Backport from trunk + 2020-0-31 Vineet Gupta + * config/arc/linux.h: GLIBC_DYNAMIC_LINKER support BE/arc700. + 2020-04-09 Michael Meissner Back port from trunk diff --git a/gcc/config/arc/linux.h b/gcc/config/arc/linux.h index 270ca9

[PATCH][committed] arc: Update operand printing

2020-03-31 Thread Claudiu Zissulescu via Gcc-patches
Use HOST_WIDE_INT_PRINT_DEC macro instead of %ld for format printing. Committed as obvious. gcc/ -xx-xx Claudiu Zissulescu * config/arc/arc.c (arc_print_operand): Use HOST_WIDE_INT_PRINT_DEC macro. --- gcc/ChangeLog| 5 + gcc/config/arc/arc.c | 6 +++--- 2

[PATCH][committed] arc: Cleanup compilation warning

2020-03-31 Thread Claudiu Zissulescu via Gcc-patches
Committed as obvious. gcc/ -xx-xx Claudiu Zissulescu * config/arc/arc.h (ASM_FORMAT_PRIVATE_NAME): Fix it. --- gcc/ChangeLog| 6 +- gcc/config/arc/arc.h | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index

  1   2   3   4   5   6   >