Re: [PATCH 2/2] arc: Use intrinsics for __builtin_mul_overflow ()

2025-03-19 Thread Claudiu Zissulescu Ianculescu
LGTM, Cheers, Claudiu On Tue, Mar 18, 2025 at 6:23 PM Luis Silva wrote: > > This patch handles both signed and unsigned > builtin multiplication overflow. > > Uses the "mpy.f" instruction to set the condition > codes based on the result. In the event of an > overflow, the V flag is set, trigger

Re: [PATCH 1/2] arc: Add commutative multiplication patterns.

2025-03-19 Thread Claudiu Zissulescu Ianculescu
LGTM, I'll merge it once stage 1 is open. Cheers, Claudiu On Tue, Mar 18, 2025 at 6:22 PM Luis Silva wrote: > > This patch introduces two new instruction patterns: > > `*mulsi3_cmp0`: This pattern performs a multiplication > and sets the CC_Z register based on the result, while > al

Re: [PATCH] arc: testsuite: Scan "rlc" instead of "mov.hs".

2025-03-19 Thread Claudiu Zissulescu Ianculescu
LGTM. I'll merge it once stage one is open. Cheers, Claudiu On Tue, Mar 18, 2025 at 6:23 PM Luis Silva wrote: > > Due to the patch by Roger Sayle, > 09881218137f4af9b7c894c2d350cf2ff8e0ee23, which > introduces the use of the `rlc rX,0` instruction in place > of the `mov.hs`, the add overflow tes

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

[gcc r15-3798] arc: Remove mlra option [PR113954]

2024-09-23 Thread Claudiu Zissulescu via Gcc-cvs
https://gcc.gnu.org/g:ffd861c808f307c865659b556dd5a8c922bd6a51 commit r15-3798-gffd861c808f307c865659b556dd5a8c922bd6a51 Author: Claudiu Zissulescu Date: Mon Sep 23 15:49:36 2024 +0300 arc: Remove mlra option [PR113954] The target dependent mlra option was designed to be able to

Re: How to implement Native TLS for a specific platform?

2024-07-24 Thread Claudiu Zissulescu Ianculescu via Gcc
mize_tls_address works. If you have any pointers on how to manipulate > > RTL to get the assembly required as seen above, I would be very much > > grateful :) > > > > best regards, > > Julian > > > > On Tue, Jul 16, 2024 at 8:16 PM Claudiu Zissulescu Ianc

Re: How to implement Native TLS for a specific platform?

2024-07-16 Thread Claudiu Zissulescu Ianculescu via Gcc
Hi Julian, You can check how we did it for ARC. In a nutshell, you need to define HAVS_AS_TLS macro, you need to legitimize the new TLS address and calls. Please have a look in arc.cc and search for TLS, also use git blame to see the original patches. Of course, there are different ways to impleme

[gcc r15-1744] [MAINTAINERS] Update my email address

2024-07-01 Thread Claudiu Zissulescu via Gcc-cvs
https://gcc.gnu.org/g:382e2123c402edb6123f0c4669fa298d4140edd8 commit r15-1744-g382e2123c402edb6123f0c4669fa298d4140edd8 Author: Claudiu Zissulescu Date: Mon Jul 1 10:49:29 2024 +0300 [MAINTAINERS] Update my email address Update my email address. ChangeLog

[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

Fwd: Possible regression in DF analysis

2022-12-20 Thread Claudiu Zissulescu Ianculescu via Gcc
+ gcc mailing list -- Forwarded message - From: Claudiu Zissulescu Ianculescu Date: Tue, Dec 20, 2022 at 2:31 PM Subject: Re: Possible regression in DF analysis To: Jeff Law Hi Jeff, > Or is that the core of the problem -- that life analysis is inaccurate > or unava

Re: Possible regression in DF analysis

2022-12-14 Thread Claudiu Zissulescu Ianculescu via Gcc
ec 14, 2022 at 11:37 AM Claudiu Zissulescu Ianculescu > wrote: > > > > I have update the fix to this one: > > > > diff --git a/gcc/df-core.cc b/gcc/df-core.cc > > index a901b84878f..cc6383990a1 100644 > > --- a/gcc/df-core.cc > > +++ b/gcc/df-core.cc >

Re: Possible regression in DF analysis

2022-12-14 Thread Claudiu Zissulescu Ianculescu via Gcc
ug_bitmap_file (dump_file, df->blocks_to_analyze); + + df_analyze (); } I still need to validate it for x86 Best, Claudiu On Tue, Dec 13, 2022 at 7:38 PM Claudiu Zissulescu Ianculescu wrote: > > > > > Maybe you want to iterate over the loops exit edges and include their > &

Re: Possible regression in DF analysis

2022-12-13 Thread Claudiu Zissulescu Ianculescu via Gcc
> > Maybe you want to iterate over the loops exit edges and include their > destination block instead? > This is better approach, let me try it and I will be back to you. Thanks, Claudiu

Re: Possible regression in DF analysis

2022-12-13 Thread Claudiu Zissulescu Ianculescu via Gcc
->index); + + if (dump_file) +debug_bitmap_file (dump_file, df->blocks_to_analyze); + df_analyze (); } What do you think, Claudiu On Tue, Dec 13, 2022 at 2:30 PM Claudiu Zissulescu Ianculescu wrote: > > It looks like that. The df_analyze_loop is only looking at the loop > BB

Re: Possible regression in DF analysis

2022-12-13 Thread Claudiu Zissulescu Ianculescu via Gcc
It looks like that. The df_analyze_loop is only looking at the loop BBs, and it is not clear for me if df_analyze_loop is required to have all the df_live_outs correctly computed or not. Do you know if it is true? If the df_analyze_loop is not supposed to compute all the df_live_outs correctly, th

Re: Possible regression in DF analysis

2022-12-08 Thread Claudiu Zissulescu Ianculescu via Gcc
Hi Eric, The problem shows in loop-doloop.c when I introduce a loop end pattern that replaces the first jump instruction (JUMP_INSN 15) with a pattern that clobbers CC reg. However, the DF doesn't look like it works as the doloop step cannot find the CC reg alive. Please see loop-doloop.c:766. Henc

Possible regression in DF analysis

2022-12-08 Thread Claudiu Zissulescu Ianculescu via Gcc
Hi, I've stumbled over a potential issue related to Dataflow analysis, and maybe you can help me with it. It can be reproduced for AARCH64 but other architectures are affected as well. I have the next snip before CSE1 pass: (insn 14 11 15 3 (set (reg:CC 66 cc) (compare:CC (reg/v:SI 98 [

[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: GCC arc port defaults to -fcommon

2021-07-07 Thread Claudiu Zissulescu via Gcc
&& !TARGET_NO_SDATA_SET) g_switch_value = TARGET_LL64 ? 8 : 4; From: Florian Weimer Sent: Wednesday, July 7, 2021 1:06 PM To: Richard Biener Cc: GCC Development ; Joern Wolfgang Rennecke ; Claudiu Zissulescu Subject: Re: GCC arc port defaults to -fcommon * R

Re: GCC arc port defaults to -fcommon

2021-07-07 Thread Claudiu Zissulescu via Gcc
ener Sent: Wednesday, July 7, 2021 12:58 PM To: Florian Weimer Cc: GCC Development ; Joern Wolfgang Rennecke ; Claudiu Zissulescu Subject: Re: GCC arc port defaults to -fcommon On Wed, Jul 7, 2021 at 11:56 AM Richard Biener wrote: > > On Wed, Jul 7, 2021 at 11:00 AM Florian Weimer v

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

  1   2   3   4   5   6   7   >