RE: [PATCH,ARM] Define MAX_CONDITIONAL_EXECUTE

2013-06-24 Thread Greta Yorsh
PING... http://gcc.gnu.org/ml/gcc-patches/2013-06/msg00948.html Thanks, Greta > -Original Message- > From: Greta Yorsh [mailto:greta.yo...@arm.com] > Sent: 17 June 2013 12:19 > To: GCC Patches > Cc: Richard Earnshaw; Ramana Radhakrishnan; p...@codesourcery.com; >

[PATCH,ARM] Define MAX_CONDITIONAL_EXECUTE

2013-06-17 Thread Greta Yorsh
. Performance improvement on Cortex-A15 in both arm and thumb states on both Dhrystone and Coremark, and improvement on Spec2000 in thumb state, with all benchmarks showing improvements except three benchmarks in CFP2000 that have slight regressions (189,183,178). gcc/ChangeLog 2013-06-17 Greta Yorsh

[PING][PATCH,ARM] Fix PR56732 - backport to gcc 4.8

2013-05-24 Thread Greta Yorsh
t; To: Greta Yorsh > Cc: GCC Patches; Ramana Radhakrishnan; diffg...@gmail.com; > enrico.sch...@informatik.tu-chemnitz.de; mi...@it.uu.se > Subject: Re: [PATCH,ARM] Fix PR56732 > > On 02/05/13 13:52, Greta Yorsh wrote: > > Epilogue in RTL (r188743) generated for naked functions a

[Patch,Testsuite] Fix failure in gcc.dg/tree-ssa/forwprop-26.c

2013-05-03 Thread Greta Yorsh
g/tree-ssa/forwprop-26.c: dump file does not exist This patch adds missing -fno-short-enums to dg-options. It fixes the test failure. Ok for trunk? Thanks, Greta gcc/testsuite/ChangeLog 2013-05-03 Greta Yorsh * gcc.dg/tree-ssa/forwprop-26.c: Add -fno-short-enums to dg-options. diff --git a/gcc

[PATCH,ARM] Fix PR56732

2013-05-02 Thread Greta Yorsh
. No regression on qemu for arm-none-eabi with cortex-a15 arm/thumb. Bootstrap successful on Cortex-A15 and no regression. Ok for trunk? Thanks, Greta gcc/ChangeLog 2013-05-02 Greta Yorsh PR target/56732 * config/arm/arm.c (arm_expand_epilogue): Check really_return before

[PATCH,ARM] Internal memcpy using LDRD/STRD

2013-04-30 Thread Greta Yorsh
Greta ChangeLog gcc/ 2013-04-30 Greta Yorsh * config/arm/arm-protos.h (gen_movmem_ldrd_strd): New declaration. * config/arm/arm.c (next_consecutive_mem): New function. (gen_movmem_ldrd_strd): Likewise. * config/arm/arm.md (movmemqi): Update condition and

[Patch,ARM,Committed] Remove trailing whitespaces in thumb2.md

2013-04-30 Thread Greta Yorsh
Remove trailing whitespaces in thumb2.md. Committed as obvious (trunk r198464). Thanks, Greta 2013-04-30 Greta Yorsh * config/arm/thumb2.md: Remove trailing whitespaces.diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md index 697350c..3aa7247 100644 --- a/gcc/config/arm

[Patch, ARM][11/n] Split patterns that output multiple assembly instructions - thumb2.md

2013-04-30 Thread Greta Yorsh
utput statement. thumb2_cbz - won't split: uses pc in length attribute and length in output statement. thumb2_cbnz - likewise. No regression on qemu for arm-none-eabi. Bootstrap successful on Cortex-A15. Ok for trunk? Thanks, Greta 2013-04-24 Greta Yorsh * config/arm

[PATCH, ARM] Remove incscc and decscc patterns from thumb2.md

2013-04-26 Thread Greta Yorsh
u for arm-none-eabi cortex-a15 thumb. Ok for trunk? Thanks, Greta gcc/ 2013-04-05 Greta Yorsh * config/arm/thumb2.md (thumb2_incscc, thumb2_decscc): Delete.diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md index 6aa76f6..968cc0c 100644 --- a/gcc/config/arm/thumb2.md

RE: [PATCH, ARM] Fix PR56797

2013-04-23 Thread Greta Yorsh
list. > -Original Message- > From: Richard Earnshaw > Sent: 19 April 2013 12:34 > To: Greta Yorsh > Cc: GCC Patches; raj.k...@gmail.com; Ramana Radhakrishnan > Subject: Re: [PATCH, ARM] Fix PR56797 > > On 19/04/13 10:34, Greta Yorsh wrote: > > Fix PR56797 > >

[PATCH, ARM] Fix PR56797

2013-04-19 Thread Greta Yorsh
to the peephole optimizer. No regression on qemu for arm-none-eabi and fixes the test reported in the PR. I couldn't minimize the test sufficiently to include it in the testsuite. Ok for trunk? Thanks, Greta gcc/ 2013-04-18 Greta Yorsh PR target/56797

[PATCH, ARM][10/n] Split scc patterns using cond_exec

2013-04-17 Thread Greta Yorsh
This patch converts define_insn into define_insn_and_split to split some alternatives of movsicc_insn and some scc patterns that cannot be expressed using movsicc. The patch emits cond_exec RTL insns. Ok for trunk? Thanks, Greta gcc/ 2013-02-19 Greta Yorsh * config/arm/arm.md

[PATCH, ARM] emit LDRD epilogue instead of a single LDM return

2013-04-17 Thread Greta Yorsh
-none-eabi with cortex-a15. Ok for trunk? Thanks, Greta gcc/ 2012-10-19 Greta Yorsh * config/arm/arm.c (use_return_insn): Return 0 for targets that can benefit from using a sequence of LDRD instructions in epilogue instead of a single LDM instruction.diff --git a/gcc

[PATCH, ARM] Prologue/epilogue using STRD/LDRD in ARM mode

2013-04-15 Thread Greta Yorsh
rease. Ok for trunk? Thanks, Greta ChangeLog gcc/ 2013-04-15 Greta Yorsh * config/arm/arm.c (emit_multi_reg_push): New declaration for an existing function. (arm_emit_strd_push): New function. (arm_expand_prologue): Used here. (arm_emit_ldrd_pop): Ne

RE: [PATCH, ARM][10/n] Split scc patterns using cond_exec

2013-04-12 Thread Greta Yorsh
Sorry, I've just realized that there is a possible issue with the way SELECT_CC_MODE is used in a few places in this patch. Working on a fix. Thanks, Greta > -Original Message- > From: Richard Earnshaw > Sent: 12 April 2013 14:07 > To: Greta Yorsh > Cc: GCC Patches;

[COMMITTED][PATCH,ARM] Cleanup uninitialized variable

2013-04-12 Thread Greta Yorsh
Cleanup to remove warning about uninitialized variable "base" when compiling arm.c. Approved offline by Richard Earnshaw. Committed r197921. gcc/ 2013-04-12 Greta Yorsh * config/arm/arm.c (gen_operands_ldrd_strd): Initialize "base". diff --git a/gcc/config/arm/ar

[PATCH, ARM][10/n] Split scc patterns using cond_exec

2013-04-12 Thread Greta Yorsh
. Ok for trunk? gcc/ 2013-02-19 Greta Yorsh * config/arm/arm.md (movsicc_insn): Convert define_insn into define_insn_and_split. (and_scc,ior_scc,negscc): Likewise. (cmpsi2_addneg, subsi3_compare): Convert to named patterns.diff --git a/gcc/config/arm/arm.md b

[PATCH, ARM][9/n] Split scc patterns using movsicc

2013-04-12 Thread Greta Yorsh
. Ok for trunk? Thanks, Greta gcc/ 2013-02-19 Greta Yorsh * config/arm/arm.md (mov_scc,mov_negscc,mov_notscc): Convert define_insn into define_insn_and_split and emit movsicc patterns.commit f678aaf7cdab589f34b1bf92b3f9fcabd7f29593 Author: Greta Date: Thu Apr 11 10

[PING][PATCH,ARM] Peephole individual LDR/STD into LDRD/STRD

2013-03-11 Thread Greta Yorsh
PING: http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00604.html Thanks, Greta > -Original Message- > From: Greta Yorsh [mailto:greta.yo...@arm.com] > Sent: 13 February 2013 13:36 > To: GCC Patches > Cc: Ramana Radhakrishnan; Richard Earnshaw; 'p...@code

[PATCH,ARM] Improve extendsidi without neon

2013-02-22 Thread Greta Yorsh
No regression on qemu for arm-none-eabi cortex-a15 arm/thumb neon/vfpv4 softfp/soft. Bootstrap successful on Cortex-A15. I haven't added a test case because tests that scan assembly for 'mov' are very unstable. Ok for trunk? Thanks, Greta gcc/ 2013-02-21 Greta Yorsh

[PATCH, ARM][7/n] Comment on splitting THUMB1 patterns

2013-02-18 Thread Greta Yorsh
This patch adds a comment explaining why it is difficult to split Thumb1 patterns. gcc/ 2013-02-12 Greta Yorsh * config/arm/arm.md: Comment on splitting Thumb1 patterns.diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 64888f9..ce98013 100644 --- a/gcc/config/arm/arm.md

[PATCH,ARM][6/n] Split min and max patterns

2013-02-18 Thread Greta Yorsh
Convert define_insn into define_insn_and_split for various min and max patterns that output multiple assembly instructions. Use movsicc to emit RTL. A separate patch will split movsicc. gcc/ 2013-02-14 Greta Yorsh * config/arm/arm.md (arm_smax_insn): Convert define_insn into

[PATCH,ARM][5/n] Split shift di patterns

2013-02-18 Thread Greta Yorsh
adds a new pattern shiftsi3_compare. gcc/ 2013-02-14 Greta Yorsh * config/arm/arm.md (arm_ashldi3_1bit): Convert define_insn into define_insn_and_split. (arm_ashrdi3_1bit,arm_lshrdi3_1bit): Likewise. (shiftsi3_compare): New pattern. (rrx): New pattern

[PATCH,ARM][4/n] Add negdi_extend patterns

2013-02-18 Thread Greta Yorsh
patch also adds the appropriate test cases. gcc/ 2013-01-10 Greta Yorsh * config/arm/arm.md (negdi_extendsidi): New pattern. (negdi_zero_extendsidi): Likewise. gcc/testsuite 2013-01-10 Greta Yorsh * gcc.target/arm/negdi-1.c: New test. * gcc.target/arm/negdi-2

[PATCH,ARM][3/n] Split various patterns

2013-02-18 Thread Greta Yorsh
on the operands instead of which_alternative. gcc/ 2013-02-14 Greta Yorsh * config/arm/arm.md (andsi_iorsi3_notsi): Convert define_insn into define_insn_and_split. (arm_negdi2,arm_abssi2,arm_neg_abssi2): Likewise. (arm_cmpdi_insn,arm_cmpdi_unsigned): Likewise.diff

[PATCH,ARM][2/n] Split subdi patterns

2013-02-18 Thread Greta Yorsh
Convert define_insn into define_insn_and_split for various subdi patterns that output multiple assembly instructions. 2013-02-14 Greta Yorsh * config/arm/arm.md (arm_subdi3): Convert define_insn into define_insn_and_split. (subdi_di_zesidi,subdi_di_sesidi

[PATCH,ARM][1/n] New patterns for subtract with carry

2013-02-18 Thread Greta Yorsh
Add patterns to handle various subtract with carry operations. These patterns match RTL insns emitted by splitters for DImode operations such as subdi, negdi, and cmpdi. gcc/ 2013-02-14 Greta Yorsh * config/arm/arm.md (subsi3_carryin, subsi3_carryin_const): New patterns

[PATCH, ARM][0/n] Split patterns that output multiple assembly instruction

2013-02-18 Thread Greta Yorsh
This sequence of patches aims at cleaning up patterns that output multiple assembly instructions. The first few patches handle some of the patterns in arm.md. [1/n] Add new patterns for subtract with carry. [2/n] Split subdi patterns. [3/n] Split patterns andsi_iorsi3_notsi, abs, cmpdi, and negd

[PATCH,ARM] Set attribute predicable

2013-02-14 Thread Greta Yorsh
This patch sets attribute "predicable" to "yes" for patterns that handle add with carry and already use %? in their output statements. Ok for trunk? Thanks, Greta gcc/ 2013-02-14 Greta Yorsh * config/arm/arm.md (addsi3_carryin_): Set attribute

[Patch] Cleanup gcc.target/arm/interrupt-*.c for thumb mode

2013-02-13 Thread Greta Yorsh
The tests gcc.target/arm/interrupt-*.c are for ARM mode only. This patch uses effective target arm_notthumb instead of __thumb_ predefine, removes unreachable code, and fixes typos. Ok for trunk? Thanks, Greta ChangeLog gcc/testsuite/ 2012-02-13 Greta Yorsh * gcc.target/arm

[PATCH,ARM] Peephole individual LDR/STD into LDRD/STRD

2013-02-13 Thread Greta Yorsh
slight reduction in size in all the benchmarks - overall 0.2% and at most 0.5% for individual benchmarks. Baseline compiler is gcc r194473 from December 2012. Compiled in thumb mode with hardfp. Run on Cortex-A15 hardware. Ok for gcc4.9 stage 1? Thanks, Greta gcc/ 2013-02-13 Greta Yors

[PATCH,ARM][5/5] Cleanup in cortex-a7 pipeline description

2013-01-25 Thread Greta Yorsh
In cortex_a7_idiv, the use of cortex_a7_all reservation can be replaced by cortex_a7_both, because all other reservations require at least one of cortex_a7_ex1 or cortex_a7_ex2. Then, remove unused reservation units cortex_a7_neon and cortex_a7_all. gcc/ 2013-01-03 Greta Yorsh

[PATCH,ARM][4/5] Fix calls in cortex-a7 pipeline description

2013-01-25 Thread Greta Yorsh
hook) to return true for calls. The patch also updates the pipeline description for calls to allow either dual-issue as a younger instruction or single-issue. gcc/ 2013-01-03 Greta Yorsh * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL. * config/arm/cortex-

[PATCH,ARM][3/5] New bypass between mac operations in cortex-a7 pipeline description

2013-01-25 Thread Greta Yorsh
in the pipeline description of Cortex-A7. gcc/ 2013-01-03 Greta Yorsh * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New declaration. * config/arm/arm.c (arm_mac_accumulator_is_result): New function. * config/arm/cortex-a7.md: New bypasses using

[PATCH,ARM][2/5] Update cortex-a7 vfp/neon pipeline description

2013-01-25 Thread Greta Yorsh
This patch updates the description of vmul, vdiv, vsqrt, vmla,vmls, vfma, vfms operations for vfp and neon. It uses ffmas and ffmad type attribute introduced by the previous patch. gcc/ 2013-01-03 Greta Yorsh * config/arm/cortex-a7.md (cortex_a7_neon_mul, cortex_a7_neon_mla): New

[PATCH,ARM][1/5] Add ffmas and ffmad type attribute

2013-01-25 Thread Greta Yorsh
tion takes advantage of the distinction between fused and other mac operations. gcc/ 2013-01-03 Greta Yorsh * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute. * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type from fmac to ffma.

[PATCH,ARM][0/5] Updates to cortex-a7 pipeline description

2013-01-25 Thread Greta Yorsh
This sequence of patches improves Cortex-A7 pipeline description. [1/5] Add ffmas and ffmad type attribute and use it instead of fmacs and fmacd (respectively) for fused multiply and accumulate operations. [2/5] Update pipeline description of vdiv, vsqrt, and various vfp and neon mac operations. [

RE: [PATCH,ARM] remove incscc and decscc patterns

2013-01-25 Thread Greta Yorsh
Ping? Thanks, Greta > -Original Message- > From: Greta Yorsh [mailto:greta.yo...@arm.com] > Sent: 18 January 2013 11:44 > To: GCC Patches > Cc: richard.sandif...@linaro.org; Ramana Radhakrishnan; Richard > Earnshaw > Subject: [PATCH,ARM] remove incscc and decscc

[PATCH,ARM] remove incscc and decscc patterns

2013-01-18 Thread Greta Yorsh
Remove incscc and decscc expanders that appear to be dead, along with the related patterns. This patch is a follow up on: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01128.html No regression qemu for arm-none-eabi. Bootstrap successful. Ok for trunk? Thanks, Greta 2013-01-17 Greta Yorsh

RE: [PATCH] Yet another non-prototype builtin issue (PR middle-end/55890)

2013-01-11 Thread Greta Yorsh
Tom, are you going to apply this patch? There are similar failures on arm-none-eabi after r195008: FAIL: gcc.dg/torture/pr55890-3.c -O0 (internal compiler error) FAIL: gcc.dg/torture/pr55890-3.c -O0 (test for excess errors) FAIL: gcc.dg/torture/pr55890-3.c -O1 (internal compiler error) FAIL: gcc

[PATCH, ARM] Initial pipeline description for Cortex-A7

2012-12-20 Thread Greta Yorsh
erall no change, but individual benchmarks mixed results. Ok for trunk? Thanks, Greta gcc/ChangeLog 2012-12-20 Greta Yorsh * config/arm/cortex-a7.md: New file. * config/arm/arm.md: Include cortex-a7.md. (generic_sched): Don't use generic scheduler for

[PATCH,ARM] Define simple_alu_shift value for type attribute

2012-12-17 Thread Greta Yorsh
ortex-a15 -march=armv6t2 -marm/-mthumb -O0/-O1/-O2/-O3/-Os. Ok for trunk? Thanks, Greta 2012-12-05 Greta Yorsh * config/arm/arm.md (type): Add "simple_alu_shift" to attribute "type". (core_cycles): Update for simple_alu_shift. (thumb1_zero_extendhis

RE: [PATCH,ARM] Subdivide alu into alu_reg and simple_alu_imm

2012-11-29 Thread Greta Yorsh
> -Original Message- > From: Richard Earnshaw > Sent: 29 November 2012 10:12 > To: Greta Yorsh > Cc: GCC Patches; Ramana Radhakrishnan; ni...@redhat.com; > p...@codesourcery.com > Subject: Re: [PATCH,ARM] Subdivide alu into alu_reg and simple_alu_imm > > &g

[PATCH,ARM] Subdivide alu into alu_reg and simple_alu_imm

2012-11-29 Thread Greta Yorsh
patch is cortex-a7 pipeline description, which will be submitted separately. Ok for trunk? Thanks, Greta ChangeLog gcc/ 2012-11-28 Ramana Radhakrishnan Greta Yorsh * config/arm/arm.md (type): Subdivide "alu" into "alu_reg" and "simple_alu_imm&qu

[ARM, PATCH] TARGET_LDRD reject Thumb1 targets

2012-11-21 Thread Greta Yorsh
This patch adjusts the definition of TARGET_LDRD to false on Thumb1 targets, as suggested here: http://gcc.gnu.org/ml/gcc-patches/2012-10/msg02048.html No regression on qemu for arm none-eabi with arch=armv5t/armv7-a mode=thumb/arm. Ok for trunk? Thanks, Greta ChangeLog 2012-11-21 Greta

[PATCH, ARM] Fix offset_ok_for_ldrd_strd in Thumb1

2012-10-23 Thread Greta Yorsh
? Thanks, Greta ChangeLog gcc/ 2012-10-23 Greta Yorsh * config/arm/arm.c (offset_ok_for_ldrd_strd): Return false for Thumb1.diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index e9b9463..a94e537 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -12209,7

RE: [PATCH, ARM][1/4] New RTL patterns for LDRD/STRD in Thumb mode

2012-10-19 Thread Greta Yorsh
> -Original Message- > From: Richard Earnshaw > Sent: 19 October 2012 16:44 > To: Greta Yorsh > Cc: GCC Patches; Ramana Radhakrishnan; ni...@redhat.com; > p...@codesourcery.com > Subject: Re: [PATCH, ARM][1/4] New RTL patterns for LDRD/STRD in Thumb > mode >

RE: [PATCH, ARM][1/4] New RTL patterns for LDRD/STRD in Thumb mode

2012-10-19 Thread Greta Yorsh
gt; > This seems to be in the wrong place. If we don't have ldrd then the > question as to what is a valid offset is irrelevant. Moved this condition to predicates.md and constraints.md. Other uses of offset_ok_for_ldrd_strd are already guarded by the conditions. I am attachi

[PING][PATCH, Testsuite] Add new effective target arm_prefer_ldrd_strd

2012-10-18 Thread Greta Yorsh
Ping! Thanks. -Original Message- From: Greta Yorsh [mailto:greta.yo...@arm.com] Sent: 10 October 2012 15:28 To: GCC Patches Cc: Ramana Radhakrishnan; Richard Earnshaw; ni...@redhat.com; p...@codesourcery.com; Greta Yorsh; mikest...@comcast.net; r...@cebitec.uni-bielefeld.de; jani

RE: [PING][Patch, ARM] cleanup prologue_use pattern

2012-10-17 Thread Greta Yorsh
gcc/ 2012-10-17 Greta Yorsh * config/arm/arm.md (UNSPEC_PROLOGUE_USE): Rename this... (UNSPEC_REGISTER_USE): ... to this. (prologue_use): Rename this... (force_register_use): ... to this and update output assembly. (epilogue) Rename gen_prologue_u

[PING][Patch, ARM] cleanup prologue_use pattern

2012-10-17 Thread Greta Yorsh
Ping! Thanks, Greta -Original Message- From: Greta Yorsh [mailto:greta.yo...@arm.com] Sent: 10 October 2012 16:14 To: GCC Patches Cc: Ramana Radhakrishnan; Richard Earnshaw; ni...@redhat.com; p...@codesourcery.com Subject: [Patch, ARM] cleanup prologue_use pattern The pattern

[Patch, ARM] cleanup prologue_use pattern

2012-10-10 Thread Greta Yorsh
riate. No regression on qemu for arm-none-eabi. Ok for trunk? Thanks, Greta 2012-09-17 Greta Yorsh * config/arm/arm.md (UNSPEC_EPILOGUE_USE): New unspec value. (sibcall_epilogue): Use UNSPEC_EPILOGUE_USE instead of UNSPEC_PROLOGUE_USE. (epilogue_use): New d

[PATCH, ARM][4/4] Adjust tests gcc.target/arm/pr40457-*.c

2012-10-10 Thread Greta Yorsh
As a result of adding LDRD/STRD patterns in Thumb mode, the compiler generates LDRD/STRD instead of LDM/STM in some cases. This patch adjusts existing tests to accept LDRD/STRD in addition to LDM/STM. ChangeLog gcc/testsuite 2012-09-13 Sameera Deshpande Greta Yorsh

[PATCH, ARM][3/4] Epilogue using LDRD in Thumb mode

2012-10-10 Thread Greta Yorsh
Generate epilogue using LDRD in Thumb mode when prefer_ldrd_strd is set in tune_params. ChangeLog gcc/ 2012-09-13 Sameera Deshpande Greta Yorsh * config/arm/arm.c (thumb2_emit_ldrd_pop): New function. (arm_expand_epilogue): Use the new function.diff --git a/gcc

[PATCH, ARM][2/4] Prologue using STRD in Thumb mode

2012-10-10 Thread Greta Yorsh
Generate prologue using STRD when prefer_ldrd_strd is set in tune_params. ChangeLog gcc/ 2012-09-13 Sameera Deshpande Greta Yorsh * config/arm/arm.c (thumb2_emit_strd_push): New function. (arm_expand_prologue): Use the new function.diff --git a/gcc/config/arm

[PATCH, ARM][1/4] New RTL patterns for LDRD/STRD in Thumb mode

2012-10-10 Thread Greta Yorsh
This patch adds define_insn patterns for LDRD and STRD in Thumb mode. ChangeLog gcc/ 2012-09-13 Sameera Deshpande Greta Yorsh * config/arm/arm-protos.h (offset_ok_for_ldrd_strd): New declaration. (operands_ok_ldrd_strd): Likewise. * config/arm/arm.c

[PATCH, ARM][0/4] Prologue/epilogue using STRD/LDRD in Thumb mode

2012-10-10 Thread Greta Yorsh
Generate prologue/epilogue using STRD/LDRD in Thumb mode, when tuning prefer_ldrd_strd flag is set, such as in Cortex-A15. [1/4] New RTL patterns for LDRD/STRD in Thumb mode [2/4] Prologue using STRD in Thumb mode [3/4] Epilogue using LDRD in Thumb mode [4/4] Adjust tests gcc.target/arm/pr40457-*.

RE: [PATCH, ARM][3/3] Adjust tests gcc.target/arm/interrupt-*.c

2012-10-10 Thread Greta Yorsh
Sorry, forgot to attach the patch. Here it is. -Original Message- From: Greta Yorsh Sent: 10 October 2012 15:37 To: Greta Yorsh; GCC Patches Cc: Ramana Radhakrishnan; Richard Earnshaw; ni...@redhat.com; p...@codesourcery.com Subject: [PATCH, ARM][3/3] Adjust tests gcc.target/arm

[PATCH, ARM][3/3] Adjust tests gcc.target/arm/interrupt-*.c

2012-10-10 Thread Greta Yorsh
correct. These failures are caused by an issue with __attribute__((__interrupt__)) and epilogue generation in RTL, which is unrelated to LDRD epilogue patched and therefore will be addressed by a separate patch. ChangeLog gcc/testsuite/ 2012-10-10 Greta Yorsh * gcc.target/arm/interrupt-1

[PATCH, ARM][2/3] Epilogue using LDRD in ARM mode

2012-10-10 Thread Greta Yorsh
Emit epilogue using LDRD in ARM mode when prefer_ldrd_strd is set. ChangeLog gcc/ 2012-10-10 Sameera Deshpande Greta Yorsh * config/arm/arm.c (arm_emit_ldrd_pop): New function. (arm_expand_epilogue): Used here. (arm_emit_multi_reg_pop): Add a special

[PATCH, ARM][1/3] Prologue using STRD in ARM mode

2012-10-10 Thread Greta Yorsh
Emit prologue using STRD in ARM mode when tune parameter prefer_ldrd_strd is set. ChangeLog gcc/ 2012-09-13 Sameera Deshpande Greta Yorsh * config/arm/arm.c (emit_multi_reg_push): New declaration for an existing function. (arm_emit_strd_push): New

[PATCH, ARM][0/3] Prologue/epilogue using STRD/LDRD for ARM mode

2012-10-10 Thread Greta Yorsh
Generate prologue/epilogue using STRD/LDRD in ARM mode, when tuning prefer_ldrd_strd flag is set, such as in Cortex-A15. [1/3] Prologue using STRD in ARM mode [2/3] Epilogue using LDRD in ARM mode [3/3] Adjust tests gcc.target/arm/interrupt-*.c Testing and benchmarking: * No regression on qemu fo

[PATCH, Testsuite] Add new effective target arm_prefer_ldrd_strd

2012-10-10 Thread Greta Yorsh
In the testsuite, distinguish between arm targets that prefer LDRD/STRD and arm targets that prefer LDM/STM. This patch adds a new effective target test and updates documentation accordingly. Ok for trunk? Thanks, Greta ChangeLog gcc/testsuite/ 2012-09-13 Greta Yorsh * gcc.target

[Patch, testsuite] add effective target pthread to test gcc.dg/pr54782.c

2012-10-10 Thread Greta Yorsh
Greta Yorsh * gcc.dg/pr54782.c: Require effective target pthread. diff --git a/gcc/testsuite/gcc.dg/pr54782.c b/gcc/testsuite/gcc.dg/pr54782.c index 2a30754..161b043 100644 --- a/gcc/testsuite/gcc.dg/pr54782.c +++ b/gcc/testsuite/gcc.dg/pr54782.c @@ -1,4 +1,5 @@ /* { dg-do compile

[PING][Patch,ARM] unwind in epilogue ignore dwarf info

2012-08-31 Thread Greta Yorsh
Ping http://gcc.gnu.org/ml/gcc-patches/2012-07/msg01025.html From: Greta Yorsh [greta.yo...@arm.com] Sent: Friday, July 20, 2012 7:28 PM To: GCC Patches Cc: Richard Earnshaw; Ramana Radhakrishnan Subject: [Patch,ARM] unwind in epilogue ignore dwarf info

[PING][Patch, ARM] Cleanup in arm_expand_epilogue

2012-08-31 Thread Greta Yorsh
Ping http://gcc.gnu.org/ml/gcc-patches/2012-07/msg01026.html From: Greta Yorsh [greta.yo...@arm.com] Sent: Friday, July 20, 2012 7:33 PM To: GCC Patches Cc: Richard Earnshaw; Ramana Radhakrishnan Subject: [Patch, ARM] Cleanup in arm_expand_epilogue The

[Patch, ARM] Cleanup in arm_expand_epilogue

2012-07-20 Thread Greta Yorsh
The variable floats_from_frame in function arm_expand_epilogue became unused after removal of FPA support. This patch cleans it up and simplifies the initialization of num_regs variable. Ok for trunk? Thanks, Greta ChangeLog gcc/ 2012-07-20 Greta Yorsh * config/arm/arm.c

[Patch,ARM] unwind in epilogue ignore dwarf info

2012-07-20 Thread Greta Yorsh
adds a flag unwind_in_epilogue for it. It wasn't needed in the past, because there was no dwarf info generated for epilogues, but recent patches for epilogue generation in RTL added it. No regression on qemu. 2012-07-20 Greta Yorsh * config/arm/arm.c (arm_unwind_function_begin_epi

[Patch, ARM][2/2] Create tune for Cortex-A15.

2012-07-20 Thread Greta Yorsh
trunk? Thanks, Greta Changelog gcc/ 2012-07-20 Sameera Deshpande Greta Yorsh * config/arm/arm.c (arm_cortex_a15_tune): New tune. * config/arm/arm-cores.def (cortex-a15): Use new tune.diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def index

[Patch, ARM][1/2] Add prefer_ldrd_strd field to tune

2012-07-20 Thread Greta Yorsh
prologue and epilogue. Ok for trunk? Thanks, Greta Changelog gcc/ 2012-07-20 Sameera Deshpande Greta Yorsh * config/arm/arm-protos.h (prefer_ldrd_strd): New field. * config/arm/arm.c (arm_slowmul_tune): Initialized the new field. (arm_fastmul_tune

[Patch, ARM] Fix PR53859: ICE on armv7e-m

2012-07-10 Thread Greta Yorsh
/show_bug.cgi?id=53859. The obvious fix is to detect RETURN pattern in arm_early_load_addr_dep. No regression on qemu. Ok for trunk? Thanks, Greta ChangeLog 2012-07-10 Greta Yorsh gcc/ PR target/53859 * config/arm/arm.c (arm_early_load_addr_dep): Handle new

RE: [Patch, ARM][0/8] Epilogue in RTL: introduction (Sameera's patches, Part I)

2012-06-18 Thread Greta Yorsh
] > Sent: 31 May 2012 19:18 > To: Greta Yorsh > Cc: GCC Patches; jos...@codesourcery.com; Richard Earnshaw; > sameera.deshpa...@gmail.com; Ramana Radhakrishnan; ni...@redhat.com > Subject: Re: [Patch, ARM][0/8] Epilogue in RTL: introduction (Sameera's > patches, Part I) > &g

[patch, testsuite] new test for arm epilogue

2012-06-18 Thread Greta Yorsh
This test relies on epilogue generated in RTL to provide register liveness information that enables peephole optimization. OK for trunk? Thanks, Greta 2012-06-18 Joey Ye Greta Yorsh * gcc.target/arm/epilog-1.c: New test. diff --git a/gcc/testsuite/gcc.target/arm

[Patch, Testsuite, ARM] Improve test gcc.target/arm/handler-align.c

2012-06-18 Thread Greta Yorsh
aligned on the call to foo. Tested on qemu -cpu cortex-m3. Ok for trunk? Thanks, Greta ChangeLog: gcc/testsuite 2012-06-18 Greta Yorsh * gcc.target/arm/handler-align.c (main): Force the stack pointer to be not double-word aligned on the call to the interrupt handler.diff --git a

RE: [Patch, ARM][0/8] Epilogue in RTL: introduction (Sameera's patches, Part I)

2012-06-01 Thread Greta Yorsh
On 31 May 2012 19:18, Paul Brook wrote: > > Testing: > > * Crossbuild for target arm-none-eabi with cpu cortex-a9 neon softfp > and > > tested in three configuration: -marm (default), -mthumb, -mapcs- > frame. No > > regression on qemu. > > * Crossbuild for target arm-none-eabi thumb2 with cpu cor

[Patch, ARM][8/8] Epilogue in RTL: remove dead code

2012-05-31 Thread Greta Yorsh
Ian Bolton Sameera Deshpande Greta Yorsh * config/arm/arm-protos.h (arm_output_epilogue): Remove. * config/arm/arm.c (print_multi_reg): Remove. (vfp_output_fldmd): Likewise. (arm_output_epilogue): Likewise. * config/arm/arm.md

[Patch, ARM][7/8] Epilogue in RTL: expand thumb2 return

2012-05-31 Thread Greta Yorsh
Generate RTL for return in Thumb2 mode. Used by expand of return insn. ChangeLog: gcc 2012-05-31 Ian Bolton Sameera Deshpande Greta Yorsh * config/arm/arm-protos.h (thumb2_expand_return): New declaration. * config/arm/arm.c (thumb2_expand_return

[Patch, ARM][6/8] Epilogue in RTL: simple return

2012-05-31 Thread Greta Yorsh
Add a new parameter to the function output_return_instruction to handle simple cases of return when no epilogue needs to be printed out. ChangeLog: gcc 2012-05-31 Ian Bolton Sameera Deshpande Greta Yorsh * config/arm/arm-protos.h

[Patch, ARM][5/8] Epilogue in RTL: expand

2012-05-31 Thread Greta Yorsh
The main function for epilogue RTL generation, used by expand epilogue patterns. ChangeLog: gcc 2012-05-31 Ian Bolton Sameera Deshpande Greta Yorsh * config/arm/arm-protos.h (arm_expand_epilogue): New declaration. * config/arm/arm.c

[Patch, ARM][4/8] Epilogue in RTL: expand epilogue for apcs frame

2012-05-31 Thread Greta Yorsh
alternative to arm_addsi2 insn in ARM mode only to generate "sub sp, fp, #imm". Previously, there was no pattern to generate sub with SP as the destination register and not SP as the operand register. ChangeLog: gcc 2012-05-31 Ian Bolton Sameera Deshpande G

[Patch, ARM][3/8] Epilogue in RTL: new patterns for vfp regs

2012-05-31 Thread Greta Yorsh
Greta Yorsh * config/arm/arm.md (vfp_pop_multiple_with_writeback) New define_insn. * config/arm/predicates.md (pop_multiple_fp) New special predicate. * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): New function.diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index

[Patch, ARM][2/8] Epilogue in RTL: new patterns for int regs

2012-05-31 Thread Greta Yorsh
. ChangeLog: gcc 2012-05-31 Ian Bolton Sameera Deshpande Greta Yorsh * config/arm/arm.md (load_multiple_with_writeback) New define_insn. (load_multiple, pop_multiple_with_writeback_and_return) Likewise. (pop_multiple_with_return

[Patch, ARM][1/8] Epilogue in RTL: update ldm_stm_operation_p

2012-05-31 Thread Greta Yorsh
This patch updates ldm_stm_operation_p to check for loads that if SP is in the register list, then the base register is SP. It guarantees that SP is reset correctly when an LDM instruction is interrupted. Otherwise, we might end up with a corrupt stack. ChangeLog: gcc 2012-05-31 Greta Yorsh

[Patch, ARM][0/8] Epilogue in RTL: introduction (Sameera's patches, Part I)

2012-05-31 Thread Greta Yorsh
This sequence of patches adds support for epilogue generation in RTL. This is the first part of Sameera's work on ARM prologue/epilogue. Sameera Deshpande posted it for review in December 2011, having addressed all previous comments: http://gcc.gnu.org/ml/gcc-patches/2011-12/msg00049.html. The lat

RE: [Patch, testsuite] fix failure in test gcc.dg/vect/slp-perm-8.c

2012-05-30 Thread Greta Yorsh
ected number of vectorized loops is adjusted accordingly. No regression with check-gcc on qemu for arm-none-eabi cortex-a9 neon softfp arm/thumb. OK for trunk? Thanks, Greta ChangeLog gcc/testsuite 2012-05-30 Greta Yorsh * gcc.dg/vect/slp-perm-8.c (main): Prevent vectorization

RE: [PATCH 2/2] Better system header location detection for built-in macro tokens

2012-05-28 Thread Greta Yorsh
This patch fixes the regression reported in PR53463 for arm-none-eabi as well. Thanks, Greta > -Original Message- > From: Dodji Seketeli [mailto:do...@redhat.com] > Sent: 21 May 2012 14:55 > To: GCC Patches > Cc: Jason Merrill; Tom Tromey; Paolo Carlini > Subject: [PATCH 2/2] Better syst

[Patch, testsuite] missing -ftrack-macro-expansion=0 option in gcc.dg/builtin-stringop-chk-1.c

2012-05-02 Thread Greta Yorsh
overwritten by a second dg-options that does not contain -ftrack-macro-expansion=0. This patch replaces the second dg-options directive with dg-additional-options. Fixed test passes on qemu. OK for trunk? Thanks, Greta gcc/testsuite 2012-05-02 Greta Yorsh * gcc.dg/builtin-stringop-chk-1.c

RE: [PATCH 12/13] Adjust relevant test cases wrt -ftrack-macro-expansion=[0|2]

2012-05-02 Thread Greta Yorsh
There are a couple more test that need adjusting: gcc.dg/fixed-point/operator-bitwise.c gcc.dg/fixed-point/composite-type.c These tests fail on arm-none-eabi. Below is a patch that fixes them. Thanks, Greta gcc/testsuite 2012-05-02 Greta Yorsh * gcc.dg/fixed-point/composite-type.c

RE: [Patch, ARM] rename thumb_unexpanded_epilogue to thumb1_unexpanded_epilogue

2012-05-01 Thread Greta Yorsh
Ping! http://gcc.gnu.org/ml/gcc-patches/2012-04/msg01485.html Thanks, Greta > -Original Message- > From: Greta Yorsh [mailto:greta.yo...@arm.com] > Sent: 24 April 2012 17:41 > To: gcc-patches@gcc.gnu.org > Cc: p...@codesourcery.com; Ramana Radhakrishnan; Richard

Add myself to write-after-approval section of MAINTAINERS file

2012-05-01 Thread Greta Yorsh
I have just committed the patch below to add myself to the write-after-approval section of the MAINTAINERS file. Thanks, Greta ChangeLog: 2012-05-01 Greta Yorsh * MAINTAINERS (Write After Approval): Add myself. Index: MAINTAINERS

RE: [Patch, testsuite] fix failure in test gcc.dg/vect/slp-perm-8.c

2012-04-25 Thread Greta Yorsh
> -Original Message- > From: Richard Guenther [mailto:richard.guent...@gmail.com] > Sent: 25 April 2012 15:32 > To: Greta Yorsh > Cc: gcc-patches@gcc.gnu.org; mikest...@comcast.net; r...@cebitec.uni- > bielefeld.de; Richard Earnshaw > Subject: Re: [Patch, testsuite

RE: [Patch, testsuite] fix failure in test gcc.dg/vect/slp-perm-8.c

2012-04-25 Thread Greta Yorsh
Richard Guenther wrote: > On Wed, Apr 25, 2012 at 3:34 PM, Greta Yorsh > wrote: > > Richard Guenther wrote: > >> On Wed, Apr 25, 2012 at 1:51 PM, Greta Yorsh > >> wrote: > >> > The test gcc.dg/vect/slp-perm-8.c fails on arm-none-eabi with neon > >

[Patch, testsuite] fix failure in test gcc.dg/vect/slp-perm-8.c

2012-04-25 Thread Greta Yorsh
djusts the expected output. Fixed test passes on qemu for arm and powerpc. OK for trunk? Thanks, Greta gcc/testsuite/ChangeLog 2012-04-23 Greta Yorsh * gcc.dg/vect/slp-perm-8.c (dg-final): Adjust expected number of vectorized loops for arm with neon. diff --git a/gcc/testsu

[PING][Patch, Testsuite] fix failure in test gcc.dg/pr52283.c

2012-04-25 Thread Greta Yorsh
PING! Here is the original post: http://gcc.gnu.org/ml/gcc-patches/2012-04/msg01235.html This patch fixes the failure in gcc.dg/pr52283.c by adding the missing dg-warning and dg-options. OK for trunk? Thanks, Greta gcc/testsuite/ChangeLog 2012-04-20 Greta Yorsh * gcc.dg/pr52283.c

[Patch, ARM] rename thumb_unexpanded_epilogue to thumb1_unexpanded_epilogue

2012-04-24 Thread Greta Yorsh
Rename thumb_unexpanded_epilogue to thumb1_unexpanded_epilogue. In preparation for epilogue generation in RTL and anyway it's the right name for this function. Ok for trunk? Thanks, Greta gcc/ChangeLog 2012-04-24 Ian Bolton Sameera Deshpande Greta

[Patch, ARM][2/2] generalize ldm_stm_operation_p

2012-04-24 Thread Greta Yorsh
-24 Ian Bolton Sameera Deshpande Greta Yorsh * config/arm/arm-protos.h (ldm_stm_operation_p): New parameters. * config/arm/arm.c (ldm_stm_operation_p): New parameters. * config/arm/predicates.md (load_multiple_operation): Add arguments

[Patch, ARM][1/2] add ldm_stm_operation_p

2012-04-24 Thread Greta Yorsh
Move the code of the special predicates load_multiple_operation and store_multiple_operation into a separate function. No change in functionality. gcc/ChangeLog 2012-04-24 Ian Bolton Sameera Deshpande Greta Yorsh * config/arm/arm-protos.h

[Patch, ARM][0/2] Prepartion for Epilogue in RTL

2012-04-24 Thread Greta Yorsh
The following patches perform code reorganization in preparation for epilogue generation in RTL. [1/2] move the code of the special predicates load_multiple_operation and store_multiple_operation into a separate function ldm_stm_operation_p [2/2] generalize ldm_stm_operation_p No regression on q

RE: PING: [PATCH] Fix PRs c/52283/37985

2012-04-20 Thread Greta Yorsh
Here is a patch to fix the failing test gcc.dg/pr52283.c. Adding the missing dg-warning and dg-options. OK? gcc/testsuite/ChangeLog 2012-04-20 Greta Yorsh * gcc.dg/pr52283.c: Add missing dg-warning and dg-options. diff --git a/gcc/testsuite/gcc.dg/pr52283.c b/gcc/testsuite

RE: [PATCH,ARM] Improve peepholes for LDM with commutative operators

2012-02-29 Thread Greta Yorsh
I'm attaching a new version of the patch. Fixed all comments and retested. No regression on qemu --with-cpu cortex-a9. Thank you, Greta gcc/ChangeLog 2012-02-29 Greta Yorsh * config/arm/arm-ldmstm.ml (write_ldm_commutative_peephole): Improved conditions of peep

  1   2   >