Re: [PATCH 3/6] contrib: Add pru-elf to config-list.mk

2020-05-31 Thread Dimitar Dimitrov
On неделя, 31 май 2020 г. 13:17:21 EEST Iain Buclaw wrote: > Support for the TI PRU target was added in SVN r272202. > > Judging from the testsuite results posted at the time[1], the only > supported target is pru-elf. > > OK? > > Regards > Iain. > > [1]:

Re: [PATCH v2 0/5] Updates for PRU backend

2020-05-05 Thread Dimitar Dimitrov
On вторник, 5 май 2020 г. 19:00:29 EEST Jeff Law wrote: > On Sun, 2020-05-03 at 19:11 +0300, Dimitar Dimitrov wrote: > > One of the changes frees a previously fixed register, per > > ABI clarification from TI, for local usage from function. > > The change is backwards comp

[PATCH v2 3/5] PRU: Fix R3.w0 register class

2020-05-03 Thread Dimitar Dimitrov
TI has clarified [1] that R3.w0 is caller saved, so allow compiler to use it. This is safe change because older GCC versions treat R3.w0 as fixed register and never use it. [1] https://e2e.ti.com/support/tools/ccs/f/81/t/849993 gcc/ChangeLog: 2020-05-03 Dimitar Dimitrov * config/pru

[PATCH v2 2/5] PRU: Simplify machine description

2020-05-03 Thread Dimitar Dimitrov
Use the new @insn syntax for simpler gen_* invocation. gcc/ChangeLog: 2020-05-03 Dimitar Dimitrov * config/pru/pru.c (pru_emit_doloop): Use new gen_doloop_end_internal and gen_doloop_begin_internal. (pru_reorg_loop): Use gen_pruloop with mode. * config/pru

[PATCH v2 5/5] PRU: Remove TARGET_HARD_REGNO_CALL_PART_CLOBBERED

2020-05-03 Thread Dimitar Dimitrov
gcc/ChangeLog: 2020-05-03 Dimitar Dimitrov * config/pru/pru.c (pru_hard_regno_call_part_clobbered): Remove. (TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Remove. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.c | 34 -- 1 file changed, 34

[PATCH v2 4/5] testsuite: pru: Add clobber test

2020-05-03 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2020-05-03 Dimitar Dimitrov * gcc.target/pru/clobber-sp.c: New test. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.target/pru/clobber-sp.c | 24 +++ 1 file changed, 24 insertions(+) create mode 100644 gcc/testsuite/gcc.target

[PATCH v2 1/5] PRU: Fix comment to avoid fall through warning

2020-05-03 Thread Dimitar Dimitrov
gcc/ChangeLog: 2020-05-03 Dimitar Dimitrov * config/pru/pru.c (pru_print_operand): Fix fall through comment. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/pru/pru.c b/gcc/config/pru/pru.c

[PATCH v2 0/5] Updates for PRU backend

2020-05-03 Thread Dimitar Dimitrov
One of the changes frees a previously fixed register, per ABI clarification from TI, for local usage from function. The change is backwards compatible. Rest of changes are cleanups. Testsuite did not reveal any regressions. Dimitar Dimitrov (5): PRU: Fix comment to avoid fall through warning

Re: Analyzer committed to master (was Re: Analyzer status)

2020-01-15 Thread Dimitar Dimitrov
On Wed, 15.01.2020, 14:30:43 EET Rainer Orth wrote: > Hi David, > > > I've rebased and squashed the analyzer patch kit and squashed patch 2 > > of the hash_table fix into it, and re-tested it successfully, so I've > > pushed it to master (as 757bf1dff5e8cee34c0a75d06140ca972bfecfa7). > > > > I'm

Re: [PATCH] testsuite: Fix array size in gcc.dg/strlenopt-66.c

2019-11-21 Thread Dimitar Dimitrov
On Thu, 21 Nov 2019, 20:09:23 EET Martin Sebor wrote: > On 11/21/19 10:11 AM, Dimitar Dimitrov wrote: > > One of the passed arguments is actually a string with size 4 ("123"). > > Adjust the destination buffer accordingly. > > > > gcc/testsuite/ChangeLog:

[PATCH] testsuite: Fix array size in gcc.dg/strlenopt-66.c

2019-11-21 Thread Dimitar Dimitrov
One of the passed arguments is actually a string with size 4 ("123"). Adjust the destination buffer accordingly. gcc/testsuite/ChangeLog: 2019-11-21 Dimitar Dimitrov * gcc.dg/strlenopt-66.c (test_strncmp_a4_cond_a5_a3_n): Fix array size. Signed-off-by: Dimitar Dimitrov

Re: [PATCH] Support multiple registers for the frame pointer

2019-11-04 Thread Dimitar Dimitrov
On Sat, 2 Nov 2019, 19:28:38 EET Kwok Cheung Yeung wrote: > The AMD GCN architecture uses 64-bit pointers, but the scalar registers > are 32-bit wide, so pointers must reside in a pair of registers. ... > Bootstrapped on x86_64 and tested with no regressions, which is not > surprising as nothing

[PATCH 4/5] PRU: Remove TARGET_HARD_REGNO_CALL_PART_CLOBBERED

2019-10-13 Thread Dimitar Dimitrov
gcc/ChangeLog: 2019-10-13 Dimitar Dimitrov * config/pru/pru.c (pru_hard_regno_call_part_clobbered): Remove. (TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Remove. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.c | 34 -- 1 file changed, 34

[PATCH 3/5] PRU: Fix comment about R3/RA

2019-10-13 Thread Dimitar Dimitrov
Comment had a typo. Fix it and clarify. gcc/ChangeLog: 2019-10-13 Dimitar Dimitrov * config/pru/pru.h: Clarify R3/RA ABI. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.h | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/config/pru/pru.h b/gcc

[PATCH 5/5] Add pru to compare-all-tests

2019-10-13 Thread Dimitar Dimitrov
contrib/ChangeLog: 2019-10-13 Dimitar Dimitrov * compare-all-tests (all_targets): Add pru target. Signed-off-by: Dimitar Dimitrov --- contrib/compare-all-tests | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/compare-all-tests b/contrib/compare-all-tests

[PATCH 1/5] PRU: Fix comment to avoid fall through warning

2019-10-13 Thread Dimitar Dimitrov
gcc/ChangeLog: 2019-10-13 Dimitar Dimitrov * config/pru/pru.c (pru_print_operand): Fix comment. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/pru/pru.c b/gcc/config/pru/pru.c index 16d1451262e

[PATCH 2/5] PRU: Simplify machine description

2019-10-13 Thread Dimitar Dimitrov
Use the new @insn syntax for simpler gen_* invocation. gcc/ChangeLog: 2019-10-13 Dimitar Dimitrov * config/pru/pru.c (pru_emit_doloop): Use new gen_doloop_end_internal and gen_doloop_begin_internal. (pru_reorg_loop): Use gen_pruloop with mode. * config/pru

[PATCH 0/5] Assorted minor cleanups for PRU backend

2019-10-13 Thread Dimitar Dimitrov
Apart from the last change, these are all minor cleanups to the PRU backend. Dimitar Dimitrov (5): PRU: Fix comment to avoid fall through warning PRU: Simplify machine description PRU: Fix comment about R3/RA PRU: Remove TARGET_HARD_REGNO_CALL_PART_CLOBBERED Add pru to compare-all-tests

Re: [00/32] Support multiple ABIs in the same translation unit

2019-09-26 Thread Dimitar Dimitrov
On Wed, 11 Sep 2019, 22:02:26 EEST Richard Sandiford wrote: > The reason for the PRU differences is that the port defines > targetm.hard_regno_call_part_clobbered, but uses it to test whether > a multi-register value contains a mixture of fully-clobbered and > fully-preserved registers. AFAICT

Re: [PATCH] Disable postreload GCSE on large code

2019-09-04 Thread Dimitar Dimitrov
On вторник, 3 септември 2019 г. 14:54:19 EEST Richard Biener wrote: > 2019-09-02 Richard Biener > > PR rtl-optimization/36262 > * postreload-gcse.c: Include intl.h and gcse.h. > (insert_expr_in_table): Insert at the head of cur_expr->avail_occr > to avoid linear

Re: [wwwdocs] Announce PRU backend

2019-06-19 Thread Dimitar Dimitrov
On сряда, 19 юни 2019 г. 13:23:01 EEST Jeff Law wrote: > On 6/19/19 11:06 AM, Dimitar Dimitrov wrote: > > Hi, > > > > This WWW update announces the new PRU port in WWW docs, and fills in the > > backend characteristics. > OK > jeff Thank you. Pushed to CVS. Dimitar

[wwwdocs] Announce PRU backend

2019-06-19 Thread Dimitar Dimitrov
Hi, This WWW update announces the new PRU port in WWW docs, and fills in the backend characteristics. Thanks, Dimitar Index: htdocs/backends.html === RCS file: /cvs/gcc/wwwdocs/htdocs/backends.html,v retrieving revision 1.85 diff

Re: [PATCH v6 00/10] New backend for the TI PRU processor

2019-06-12 Thread Dimitar Dimitrov
On вторник, 11 юни 2019 г. 14:04:41 EEST Jeff Law wrote: > On 6/9/19 2:01 PM, Dimitar Dimitrov wrote: > > This is the latest patch set for adding TI PRU I/O processor backend to > > GCC. Comments from all previous series have been addressed [1], [2], [3], > > [4], [5].&g

[PATCH] List myself as write-after-approval

2019-06-12 Thread Dimitar Dimitrov
Committed as obvious. ChangeLog: 2019-06-12 Dimitar Dimitrov * MAINTAINERS (Write After Approval): Add myself. Signed-off-by: Dimitar Dimitrov --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 14fa95ed38b..b8d703c535d 100644

Re: [PATCH v6 01/10] Initial TI PRU GCC port

2019-06-11 Thread Dimitar Dimitrov
On неделя, 9 юни 2019 г. 17:38:58 EEST Segher Boessenkool wrote: > Hi Dimitar, > > Just some comments, do with it what you want :-) > > On Sun, Jun 09, 2019 at 11:01:38PM +0300, Dimitar Dimitrov wrote: > > +; An unfortunate side effect is that quite a few

Re: [PATCH v6 06/10] testsuite: Remove PRU from test cases requiring hosted environment

2019-06-09 Thread Dimitar Dimitrov
On неделя, 9 юни 2019 г. 22:34:23 EEST Andreas Schwab wrote: > On Jun 09 2019, Dimitar Dimitrov wrote: > > diff --git a/gcc/testsuite/gcc.c-torture/execute/20101011-1.c > > b/gcc/testsuite/gcc.c-torture/execute/20101011-1.c index > > d2beeb52a0e..4a9cc63fde8 100644 > >

[PATCH v6 10/10] testsuite: Mark testsuite that PRU has different calling convention

2019-06-09 Thread Dimitar Dimitrov
For variadic functions, the last named and all anonymous arguments are passed on stack. Regular functions pass arguments in registers. gcc/testsuite/ChangeLog: 2019-06-07 Dimitar Dimitrov * gcc.dg/builtin-apply2.c: Skip for PRU. * gcc.dg/torture/stackalign/builtin-apply-2.c

[PATCH v6 08/10] testsuite: Mark that PRU has one-cycle jumps

2019-06-09 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2019-06-07 Dimitar Dimitrov * gcc.dg/tree-ssa/20040204-1.c: XFAIL on pru. * gcc.dg/tree-ssa/reassoc-33.c: Ditto. * gcc.dg/tree-ssa/reassoc-34.c: Ditto. * gcc.dg/tree-ssa/reassoc-35.c: Ditto. * gcc.dg/tree-ssa/reassoc-36.c: Ditto

[PATCH v6 09/10] testsuite: Mark that PRU uses all function pointer bits

2019-06-09 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2019-06-07 Dimitar Dimitrov * g++.old-deja/g++.abi/ptrmem.C: Add PRU to list. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/g++.old-deja/g++.abi/ptrmem.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/g++.old-deja/g

[PATCH v6 05/10] testsuite: Add check for unsupported TI ABI PRU features to testsuite

2019-06-09 Thread Dimitar Dimitrov
Not all C language features are supported when -mabi=ti option is used for PRU target. gcc/testsuite/ChangeLog: 2019-06-07 Dimitar Dimitrov * lib/gcc-dg.exp: Filter unsupported features in PRU's TI ABI mode. * lib/target-utils.exp: Ditto. * lib/target-supports.exp

[PATCH v6 07/10] testsuite: Define PRU stack usage

2019-06-09 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2019-06-07 Dimitar Dimitrov * gcc.dg/stack-usage-1.c: Define PRU stack usage. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/stack-usage-1.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/gcc.dg/stack-usage-1.c b/gcc

[PATCH v6 03/10] testsuite: Add PRU tests

2019-06-09 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2019-06-07 Dimitar Dimitrov * gcc.target/pru/abi-arg-struct.c: New test. * gcc.target/pru/ashiftrt.c: New test. * gcc.target/pru/builtins-1.c: New test. * gcc.target/pru/builtins-error.c: New test. * gcc.target/pru/clearbit.c

[PATCH v6 06/10] testsuite: Remove PRU from test cases requiring hosted environment

2019-06-09 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2019-06-07 Dimitar Dimitrov * gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for PRU. * gcc.dg/20020312-2.c: No PIC register for PRU. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.c-torture/execute/20101011-1.c | 2 ++ gcc/testsuite

[PATCH v6 02/10] Initial TI PRU libgcc port

2019-06-09 Thread Dimitar Dimitrov
The floating point support has been borrowed from C6X libgcc port to help with TI PRU toolchain ABI compatibility. libgcc/ChangeLog: 2019-06-07 Dimitar Dimitrov * config.host: Add PRU target. * config/pru/asri.c: New file. * config/pru/eqd.c: New file

[PATCH v6 00/10] New backend for the TI PRU processor

2019-06-09 Thread Dimitar Dimitrov
/gcc-patches/2018-07/msg01779.html [3] http://gcc.gnu.org/ml/gcc-patches/2018-08/msg00927.html [4] http://gcc.gnu.org/ml/gcc-patches/2018-09/msg00392.html [5] http://gcc.gnu.org/ml/gcc-patches/2018-10/msg00979.html Regards, Dimitar Dimitar Dimitrov (10): Initial TI PRU GCC port Initial TI PRU

[PATCH v6 04/10] testsuite: Add check for overflowed IMEM region to testsuite

2019-06-09 Thread Dimitar Dimitrov
PRU architecture supports maximum 256k program memory (IMEM). Some GCC test cases manage to produce executables bigger than that. gcc/testsuite/ChangeLog: 2019-06-07 Dimitar Dimitrov * lib/gcc-dg.exp: Bail on region overflow for tiny targets. * lib/target-utils.exp: Ditto

Re: [PATCH] [RFC] PR target/52813 and target/11807

2018-12-18 Thread Dimitar Dimitrov
On Mon, Dec 17 2018 20:15:02 EET Bernd Edlinger wrote: > out of curiosity I looked at the clobber statement in > gdb/nat/linux-ptrace.c: > >asm volatile ("pushq %0;" > ".globl linux_ptrace_test_ret_to_nx_instr;" >

Re: [PATCH] [RFC] PR target/52813 and target/11807

2018-12-16 Thread Dimitar Dimitrov
t switches the error to a warning. Regards, Dimitar >From d589ebd7824b4505ab75a2404f49a7c200679545 Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Sun, 16 Dec 2018 10:13:18 +0200 Subject: [PATCH] PR target/52813 Turns out there are existing programs that clobber stack pointer. To avoid dis

Re: [PATCH] [RFC] PR target/52813 and target/11807

2018-12-16 Thread Dimitar Dimitrov
On Fri, Dec 14 2018 2:52:17 EET Segher Boessenkool wrote: > You need a few tweaks to what you committed. Or just one perhaps: if > flag_pic is not set, you should not check PIC_OFFSET_TABLE_REGNUM, it is > meaningless in that case. I'm not sure if you need to check whether the > register is

Re: [PATCH] [RFC] PR target/52813 and target/11807

2018-12-13 Thread Dimitar Dimitrov
On Thu, Dec 13, 2018 at 8:48:38 EET Segher Boessenkool wrote: > On Wed, Dec 12, 2018 at 06:26:10PM +0200, Dimitar Dimitrov wrote: > > I expect that if I mark a HW register as "clobber", compiler would save > > its > > contents before executing the asm statement, and

Re: [PATCH] [RFC] PR target/52813 and target/11807

2018-12-12 Thread Dimitar Dimitrov
On Wed, 12 Dec 2018 at 11:03:24 EET Christophe Lyon wrote: > And just noticed it causes a failure to build GDB for x86_64: > gdb-8.1-release/gdb/nat/linux-ptrace.c: In function 'void > linux_ptrace_init_warnings()': > gdb-8.1-release/gdb/nat/linux-ptrace.c:149:23: error: Stack Pointer > register

Re: [PATCH] [RFC] PR target/52813 and target/11807

2018-12-12 Thread Dimitar Dimitrov
On Wed, 12 Dec 2018 at 14:19:27 EET Christophe Lyon wrote: > On Wed, 12 Dec 2018 at 12:21, Thomas Preudhomme > > wrote: > > So my understanding is that the original code (CMSIS library) used to > > clobber sp because the asm statement was actually changing the sp. > > That in turn led GCC to try

Re: [PATCH] [RFC] PR target/52813 and target/11807

2018-12-10 Thread Dimitar Dimitrov
On понеделник, 10 декември 2018 г. 11:21:53 EET Richard Sandiford wrote: > Dimitar Dimitrov writes: > > I have tested this fix on x86_64 host, and found no regression in the C > > and C++ testsuites. I'm marking this patch as RFC simply because I don't > > have

[PATCH] [RFC] PR target/52813 and target/11807

2018-12-09 Thread Dimitar Dimitrov
Dimitrov * cfgexpand.c (asm_clobber_reg_is_valid): Also produce error when stack pointer is clobbered. (expand_asm_stmt): Refactor clobber check in separate function. gcc/testsuite/ChangeLog: 2018-12-07 Dimitar Dimitrov * gcc.target/i386/pr52813.c: New test

Re: [PATCH v5 01/10] Initial TI PRU GCC port

2018-10-18 Thread Dimitar Dimitrov
o different constraints. I have fixed it the attached patch. > OK with those changes once the port is accepted. (No need to repost, > just fix up locally and commit the fixed version when the time comes.) See attached fixup patch. I'll need someone to apply it on my behalf, since I do n

[PATCH v5 08/10] testsuite: Mark that PRU has one-cycle jumps

2018-10-16 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-10-08 Dimitar Dimitrov * gcc.dg/tree-ssa/20040204-1.c: XFAIL on pru. * gcc.dg/tree-ssa/reassoc-33.c: Ditto. * gcc.dg/tree-ssa/reassoc-34.c: Ditto. * gcc.dg/tree-ssa/reassoc-35.c: Ditto. * gcc.dg/tree-ssa/reassoc-36.c: Ditto

[PATCH v5 09/10] testsuite: Mark that PRU uses all function pointer bits

2018-10-16 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-10-08 Dimitar Dimitrov * g++.old-deja/g++.abi/ptrmem.C: Add PRU to list. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/g++.old-deja/g++.abi/ptrmem.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/g++.old-deja/g

[PATCH v5 10/10] testsuite: Mark testsuite that PRU has different calling convention

2018-10-16 Thread Dimitar Dimitrov
For variadic functions, the last named and all anonymous arguments are passed on stack. Regular functions pass arguments in registers. gcc/testsuite/ChangeLog: 2018-10-08 Dimitar Dimitrov * gcc.dg/builtin-apply2.c: Skip for PRU. * gcc.dg/torture/stackalign/builtin-apply-2.c

[PATCH v5 06/10] testsuite: Remove PRU from test cases requiring hosted environment

2018-10-16 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-10-08 Dimitar Dimitrov * gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for PRU. * gcc.dg/20020312-2.c: No PIC register for PRU. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.c-torture/execute/20101011-1.c | 3 +++ gcc

[PATCH v5 07/10] testsuite: Define PRU stack usage

2018-10-16 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-10-08 Dimitar Dimitrov * gcc.dg/stack-usage-1.c: Define PRU stack usage. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/stack-usage-1.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/gcc.dg/stack-usage-1.c b/gcc

[PATCH v5 03/10] testsuite: Add PRU tests

2018-10-16 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-10-08 Dimitar Dimitrov * gcc.target/pru/abi-arg-struct.c: New test. * gcc.target/pru/ashiftrt.c: New test. * gcc.target/pru/builtins-1.c: New test. * gcc.target/pru/builtins-error.c: New test. * gcc.target/pru/clearbit.c

[PATCH v5 05/10] testsuite: Add check for unsupported TI ABI PRU features to testsuite

2018-10-16 Thread Dimitar Dimitrov
Not all C language features are supported when -mabi=ti option is used for PRU target. gcc/testsuite/ChangeLog: 2018-10-08 Dimitar Dimitrov * lib/gcc-dg.exp: Filter unsupported features in PRU's TI ABI mode. * lib/target-utils.exp: Ditto. * lib/target-supports.exp

[PATCH v5 02/10] Initial TI PRU libgcc port

2018-10-16 Thread Dimitar Dimitrov
The floating point support has been borrowed from C6X libgcc port to help with TI PRU toolchain ABI compatibility. libgcc/ChangeLog: 2018-10-08 Dimitar Dimitrov * config.host: Add PRU target. * config/pru/asri.c: New file. * config/pru/eqd.c: New file

[PATCH v5 04/10] testsuite: Add check for overflowed IMEM region to testsuite

2018-10-16 Thread Dimitar Dimitrov
PRU architecture supports maximum 256k program memory (IMEM). Some GCC test cases manage to produce executables bigger than that. gcc/testsuite/ChangeLog: 2018-10-08 Dimitar Dimitrov * lib/gcc-dg.exp: Bail on region overflow for tiny targets. * lib/target-utils.exp: Ditto

[PATCH v5 00/10] New backend for the TI PRU processor

2018-10-16 Thread Dimitar Dimitrov
/ml/gcc-patches/2018-07/msg01779.html [3] http://gcc.gnu.org/ml/gcc-patches/2018-08/msg00927.html [4] http://gcc.gnu.org/ml/gcc-patches/2018-09/msg00392.html Regards, Dimitar Dimitar Dimitrov (10): Initial TI PRU GCC port Initial TI PRU libgcc port testsuite: Add PRU tests testsui

Re: [PATCH v4 01/10] Initial TI PRU GCC port

2018-09-24 Thread Dimitar Dimitrov
On Monday, 9/24/2018 11:38:23 EEST Richard Sandiford wrote: > Dimitar Dimitrov writes: > > On Thursday, 9/13/2018 13:02:21 EEST Richard Sandiford wrote: > >> Dimitar Dimitrov writes: > >> > +/* Callback for walk_gimple_seq that checks TP tree for TI ABI >

Re: [PATCH v4 01/10] Initial TI PRU GCC port

2018-09-22 Thread Dimitar Dimitrov
On Thursday, 9/13/2018 13:02:21 EEST Richard Sandiford wrote: > Dimitar Dimitrov writes: > > +(define_insn > > "sub_impl_ > _zext_op2>" + [(set (match_operand:EQD 0 "register_operand" "=r,r,r") > > + (minus:EQD > > +(zero_exten

[PATCH v4 10/10] testsuite: Mark testsuite that PRU has different calling convention

2018-09-06 Thread Dimitar Dimitrov
For variadic functions, the last named and all anonymous arguments are passed on stack. Regular functions pass arguments in registers. gcc/testsuite/ChangeLog: 2018-08-29 Dimitar Dimitrov * gcc.dg/builtin-apply2.c: Skip for PRU. * gcc.dg/torture/stackalign/builtin-apply-2.c

[PATCH v4 08/10] testsuite: Mark that PRU has one-cycle jumps

2018-09-06 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-08-29 Dimitar Dimitrov * gcc.dg/tree-ssa/20040204-1.c: XFAIL on pru. * gcc.dg/tree-ssa/reassoc-33.c: Ditto. * gcc.dg/tree-ssa/reassoc-34.c: Ditto. * gcc.dg/tree-ssa/reassoc-35.c: Ditto. * gcc.dg/tree-ssa/reassoc-36.c: Ditto

[PATCH v4 09/10] testsuite: Mark that PRU uses all function pointer bits

2018-09-06 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-08-29 Dimitar Dimitrov * g++.old-deja/g++.abi/ptrmem.C: Add PRU to list. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/g++.old-deja/g++.abi/ptrmem.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/g++.old-deja/g

[PATCH v4 07/10] testsuite: Define PRU stack usage

2018-09-06 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-08-29 Dimitar Dimitrov * gcc.dg/stack-usage-1.c: Define PRU stack usage. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/stack-usage-1.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/gcc.dg/stack-usage-1.c b/gcc

[PATCH v4 05/10] testsuite: Add check for unsupported TI ABI PRU features to testsuite

2018-09-06 Thread Dimitar Dimitrov
Not all C language features are supported when -mabi=ti option is used for PRU target. gcc/testsuite/ChangeLog: 2018-08-29 Dimitar Dimitrov * lib/gcc-dg.exp: Filter unsupported features in PRU's TI ABI mode. * lib/target-utils.exp: Ditto. * lib/target-supports.exp

[PATCH v4 06/10] testsuite: Remove PRU from test cases requiring hosted environment

2018-09-06 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-08-29 Dimitar Dimitrov * gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for PRU. * gcc.dg/20020312-2.c: No PIC register for PRU. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.c-torture/execute/20101011-1.c | 3 +++ gcc

[PATCH v4 03/10] testsuite: Add PRU tests

2018-09-06 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-08-29 Dimitar Dimitrov * gcc.target/pru/abi-arg-struct.c: New test. * gcc.target/pru/ashiftrt.c: New test. * gcc.target/pru/builtins-1.c: New test. * gcc.target/pru/builtins-error.c: New test. * gcc.target/pru/clearbit.c

[PATCH v4 02/10] Initial TI PRU libgcc port

2018-09-06 Thread Dimitar Dimitrov
The floating point support has been borrowed from C6X libgcc port to help with TI PRU toolchain ABI compatibility. libgcc/ChangeLog: 2018-08-29 Dimitar Dimitrov * config.host: Add PRU target. * config/pru/asri.c: New file. * config/pru/eqd.c: New file

[PATCH v4 00/10] New backend for the TI PRU processor

2018-09-06 Thread Dimitar Dimitrov
blockage in epilogue before SP restore. - Folded "mov" patterns. [1] http://gcc.gnu.org/ml/gcc-patches/2018-06/msg00775.html [2] http://gcc.gnu.org/ml/gcc-patches/2018-07/msg01779.html [3] http://gcc.gnu.org/ml/gcc-patches/2018-08/msg00927.html Dimitar Dimitrov (10): Initial TI PR

[PATCH v4 04/10] testsuite: Add check for overflowed IMEM region to testsuite

2018-09-06 Thread Dimitar Dimitrov
PRU architecture supports maximum 256k program memory (IMEM). Some GCC test cases manage to produce executables bigger than that. gcc/testsuite/ChangeLog: 2018-08-29 Dimitar Dimitrov * lib/gcc-dg.exp: Bail on region overflow for tiny targets. * lib/target-utils.exp: Ditto

Re: [PATCH v3 01/10] Initial TI PRU GCC port

2018-08-29 Thread Dimitar Dimitrov
On Thursday, 08/23/2018. 8:09:05 EEST Dimitar Dimitrov wrote: > > > +/* Emit function epilogue. */ > > > +void > > > +pru_expand_epilogue (bool sibcall_p) > > > +{ > > > + rtx cfa_adj; > > > + int total_frame_size; > &g

Re: [PATCH v3 01/10] Initial TI PRU GCC port

2018-08-22 Thread Dimitar Dimitrov
On Monday, 8/20/2018 11:12:23 EEST Jeff Law wrote: > On 08/15/2018 10:49 PM, Dimitar Dimitrov wrote: > > ChangeLog: > > > > 2018-07-27 Dimitar Dimitrov > > > > * configure: Regenerate. > > * configure.ac: Add PRU target. > > > > g

[PATCH v3 05/10] testsuite: Add check for unsupported TI ABI PRU features to testsuite

2018-08-15 Thread Dimitar Dimitrov
Not all C language features are supported when -mabi=ti option is used for PRU target. gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * lib/gcc-dg.exp: Filter unsupported features in PRU's TI ABI mode. * lib/target-utils.exp: Ditto. * lib/target-supports.exp

[PATCH v3 06/10] testsuite: Remove PRU from test cases requiring hosted environment

2018-08-15 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for PRU. * gcc.dg/20020312-2.c: No PIC register for PRU. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.c-torture/execute/20101011-1.c | 3 +++ gcc

[PATCH v3 10/10] testsuite: Mark testsuite that PRU has different calling convention

2018-08-15 Thread Dimitar Dimitrov
For variadic functions, the last named and all anonymous arguments are passed on stack. Regular functions pass arguments in registers. gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.dg/builtin-apply2.c: Skip for PRU. * gcc.dg/torture/stackalign/builtin-apply-2.c

[PATCH v3 09/10] testsuite: Mark that PRU uses all function pointer bits

2018-08-15 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * g++.old-deja/g++.abi/ptrmem.C: Add PRU to list. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/g++.old-deja/g++.abi/ptrmem.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/g++.old-deja/g

[PATCH v3 03/10] testsuite: Add PRU tests

2018-08-15 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.target/pru/abi-arg-struct.c: New test. * gcc.target/pru/ashiftrt.c: New test. * gcc.target/pru/builtins-1.c: New test. * gcc.target/pru/builtins-error.c: New test. * gcc.target/pru/clearbit.c

[PATCH v3 07/10] testsuite: Define PRU stack usage

2018-08-15 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.dg/stack-usage-1.c: Define PRU stack usage. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/stack-usage-1.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/gcc.dg/stack-usage-1.c b/gcc

[PATCH v3 08/10] testsuite: Mark that PRU has one-cycle jumps

2018-08-15 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.dg/tree-ssa/20040204-1.c: XFAIL on pru. * gcc.dg/tree-ssa/reassoc-33.c: Ditto. * gcc.dg/tree-ssa/reassoc-34.c: Ditto. * gcc.dg/tree-ssa/reassoc-35.c: Ditto. * gcc.dg/tree-ssa/reassoc-36.c: Ditto

[PATCH v3 02/10] Initial TI PRU libgcc port

2018-08-15 Thread Dimitar Dimitrov
The floating point support has been borrowed from C6X libgcc port to help with TI PRU toolchain ABI compatibility. libgcc/ChangeLog: 2018-07-27 Dimitar Dimitrov * config.host: Add PRU target. * config/pru/asri.c: New file. * config/pru/eqd.c: New file

[PATCH v3 04/10] testsuite: Add check for overflowed IMEM region to testsuite

2018-08-15 Thread Dimitar Dimitrov
PRU architecture supports maximum 256k program memory (IMEM). Some GCC test cases manage to produce executables bigger than that. gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * lib/gcc-dg.exp: Bail on region overflow for tiny targets. * lib/target-utils.exp: Ditto

[PATCH v3 00/10] New backend for the TI PRU processor

2018-08-15 Thread Dimitar Dimitrov
ttp://gcc.gnu.org/ml/gcc-patches/2018-06/msg00775.html [2] http://gcc.gnu.org/ml/gcc-patches/2018-07/msg01779.html Dimitar Dimitrov (10): Initial TI PRU GCC port Initial TI PRU libgcc port testsuite: Add PRU tests testsuite: Add check for overflowed IMEM region to testsuite testsuite: Add ch

Re: [PATCH v2 01/10] Initial TI PRU GCC port

2018-08-08 Thread Dimitar Dimitrov
On Tuesday, 7 Aug 2018, 16:56:16 EEST Sandra Loosemore wrote: > > * doc/extend.texi: Document PRU pragmas. > > * doc/invoke.texi: Document PRU-specific options. > > * doc/md.texi: Document PRU asm constraints. > > I have a few nit-picky comments about the documentation parts. Thank you for the

[PATCH v2 08/10] testsuite: Mark that PRU has one-cycle jumps

2018-07-28 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.dg/tree-ssa/20040204-1.c: XFAIL on pru. * gcc.dg/tree-ssa/reassoc-33.c: Ditto. * gcc.dg/tree-ssa/reassoc-34.c: Ditto. * gcc.dg/tree-ssa/reassoc-35.c: Ditto. * gcc.dg/tree-ssa/reassoc-36.c: Ditto

[PATCH v2 02/10] Initial TI PRU libgcc port

2018-07-28 Thread Dimitar Dimitrov
The floating point support has been borrowed from C6X libgcc port to help with TI PRU toolchain ABI compatibility. libgcc/ChangeLog: 2018-07-27 Dimitar Dimitrov * config.host: Add PRU target. * config/pru/asri.c: New file. * config/pru/eqd.c: New file

[PATCH v2 10/10] testsuite: Mark testsuite that PRU has different calling convention

2018-07-28 Thread Dimitar Dimitrov
For variadic functions, the last named and all anonymous arguments are passed on stack. Regular functions pass arguments in registers. gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.dg/builtin-apply2.c: Skip for PRU. * gcc.dg/torture/stackalign/builtin-apply-2.c

[PATCH v2 09/10] testsuite: Mark that PRU uses all function pointer bits

2018-07-28 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * g++.old-deja/g++.abi/ptrmem.C: Add PRU to list. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/g++.old-deja/g++.abi/ptrmem.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/g++.old-deja/g

[PATCH v2 06/10] testsuite: Remove PRU from test cases requiring hosted environment

2018-07-28 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for PRU. * gcc.dg/20020312-2.c: No PIC register for PRU. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.c-torture/execute/20101011-1.c | 3 +++ gcc

[PATCH v2 03/10] testsuite: Add PRU tests

2018-07-28 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.target/pru/abi-arg-struct.c: New test. * gcc.target/pru/ashiftrt.c: New test. * gcc.target/pru/builtins-1.c: New test. * gcc.target/pru/builtins-error.c: New test. * gcc.target/pru/clearbit.c

[PATCH v2 07/10] testsuite: Define PRU stack usage

2018-07-28 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * gcc.dg/stack-usage-1.c: Define PRU stack usage. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/stack-usage-1.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/gcc.dg/stack-usage-1.c b/gcc

[PATCH v2 00/10] New backend for the TI PRU processor

2018-07-28 Thread Dimitar Dimitrov
gcc-patches/2018-06/msg00775.html Dimitar Dimitrov (10): Initial TI PRU GCC port Initial TI PRU libgcc port testsuite: Add PRU tests testsuite: Add check for overflowed IMEM region to testsuite testsuite: Add check for unsupported TI ABI PRU features to testsuite testsuite: Remove PRU f

[PATCH v2 05/10] testsuite: Add check for unsupported TI ABI PRU features to testsuite

2018-07-28 Thread Dimitar Dimitrov
Not all C language features are supported when -mabi=ti option is used for PRU target. gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * lib/gcc-dg.exp: Filter unsupported features in PRU's TI ABI mode. * lib/target-utils.exp: Ditto. * lib/target-supports.exp

[PATCH v2 04/10] testsuite: Add check for overflowed IMEM region to testsuite

2018-07-28 Thread Dimitar Dimitrov
PRU architecture supports maximum 256k program memory (IMEM). Some GCC test cases manage to produce executables bigger than that. gcc/testsuite/ChangeLog: 2018-07-27 Dimitar Dimitrov * lib/gcc-dg.exp: Bail on region overflow for tiny targets. * lib/target-utils.exp: Ditto

Re: [PATCH 11/11] Increase MAX_MAX_OPERANDS limit

2018-07-26 Thread Dimitar Dimitrov
On Monday, 23/7/2018 16:22:24 EEST Jeff Law wrote: > On 07/19/2018 08:12 PM, Dimitar Dimitrov wrote: > > On събота, 23 юни 2018 г. 20:35:23 EEST Jakub Jelinek wrote: > >> On Sat, Jun 23, 2018 at 03:26:50PM +0300, Dimitar Dimitrov wrote: > >>> I took arm/ldmstm.md a

Re: [PATCH 11/11] Increase MAX_MAX_OPERANDS limit

2018-07-19 Thread Dimitar Dimitrov
On събота, 23 юни 2018 г. 20:35:23 EEST Jakub Jelinek wrote: > On Sat, Jun 23, 2018 at 03:26:50PM +0300, Dimitar Dimitrov wrote: > > I took arm/ldmstm.md as an inspiration. See attached machine description > > for PRU that requires the increase. I omitted this machine-generated MD &

Re: [PATCH 01/11] Initial TI PRU GCC port

2018-06-23 Thread Dimitar Dimitrov
On петък, 22 юни 2018 г. 12:20:46 EEST Jeff Law wrote: > On 06/13/2018 12:57 PM, Dimitar Dimitrov wrote: > > ChangeLog: > > > > 2018-06-13 Dimitar Dimitrov > > > > * configure: Regenerate. > > * configure.ac: Add PRU target. > > &g

[PATCH v2] Fix LRA to handle multi-word eliminable registers

2018-06-23 Thread Dimitar Dimitrov
add_to_hard_reg_set. - Also fix check_pseudos_live_through_calls. - Decouple PRU tests so that LRA patch is now standalone. gcc/ChangeLog: 2018-06-23 Dimitar Dimitrov * lra-eliminations.c (update_reg_eliminate): Mark all spanning hard registers for Pmode.. * lra

Re: [PATCH 11/11] Increase MAX_MAX_OPERANDS limit

2018-06-23 Thread Dimitar Dimitrov
On петък, 22 юни 2018 г. 19:41:55 EEST Jakub Jelinek wrote: > On Fri, Jun 22, 2018 at 11:33:06AM -0600, Jeff Law wrote: > > On 06/13/2018 12:58 PM, Dimitar Dimitrov wrote: > > > The PRU load/store instructions can access memory with byte > > > > > > gra

Re: [PATCH 10/11] Fix LRA to handle multi-word eliminable registers

2018-06-23 Thread Dimitar Dimitrov
On петък, 22 юни 2018 г. 10:37:10 EEST Jeff Law wrote: > On 06/21/2018 10:01 PM, Dimitar Dimitrov wrote: > > On четвъртък, 21 юни 2018 г. 17:03:55 EEST Jeff Law wrote: > >> On 06/21/2018 11:44 AM, Vladimir Makarov wrote: > >>> On 06/13/2018 02:58 PM, Dimitar Dimitr

Re: [PATCH 02/11] Initial TI PRU libgcc port

2018-06-22 Thread Dimitar Dimitrov
On петък, 22 юни 2018 г. 10:55:29 EEST Jeff Law wrote: > On 06/13/2018 12:57 PM, Dimitar Dimitrov wrote: > > The floating point support has been borrowed from C6X libgcc port > > to help with TI PRU toolchain ABI compatibility. > > > > libgcc/ChangeLog: > >

Re: [PATCH 10/11] Fix LRA to handle multi-word eliminable registers

2018-06-21 Thread Dimitar Dimitrov
On четвъртък, 21 юни 2018 г. 17:03:55 EEST Jeff Law wrote: > On 06/21/2018 11:44 AM, Vladimir Makarov wrote: > > On 06/13/2018 02:58 PM, Dimitar Dimitrov wrote: > >> From: Dimitar Dimitrov > >> > >> For some targets, Pmode != UNITS_PER_WORD. Take this

Re: [PATCH 01/11] Initial TI PRU GCC port

2018-06-18 Thread Dimitar Dimitrov
On сряда, 13 юни 2018 г. 19:44:16 EEST Joseph Myers wrote: > On Wed, 13 Jun 2018, Dimitar Dimitrov wrote: > > + error ("__delay_cycles() only takes constant arguments"); > > As in documentation, diagnostics should not use () to indicate that a name > refe

[PATCH 08/11] testsuite: Mark that PRU has one-cycle jumps

2018-06-13 Thread Dimitar Dimitrov
gcc/testsuite/ChangeLog: 2018-06-13 Dimitar Dimitrov * gcc.dg/tree-ssa/20040204-1.c: XFAIL on pru. * gcc.dg/tree-ssa/reassoc-33.c: Ditto. * gcc.dg/tree-ssa/reassoc-34.c: Ditto. * gcc.dg/tree-ssa/reassoc-35.c: Ditto. * gcc.dg/tree-ssa/reassoc-36.c: Ditto

<    1   2   3   >