[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

[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, 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, 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][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][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

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][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-*.

[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][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][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][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] 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

[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

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, 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: [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

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 >

[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

[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] 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

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] 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

[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,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] 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] 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,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

[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,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

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; >

[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][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

[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

[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

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;

[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

[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][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] 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

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] 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

[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

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] 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,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][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. [

[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][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][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][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][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] 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] 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] 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, 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][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][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][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][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][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][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][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] 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][0/6] LDRD/STRD generation - introduction

2011-11-07 Thread Greta Yorsh
The following sequence of patches enables generation of LDRD/STRD instructions for Cortex-A15 with -O2 and for all Cortex-A CPUs with -Os when profitable. This almost always improves code size and is expected to improve performance on Cortex-A15. [0/6] LDRD/STRD generation - introduction (this em

[PATCH,ARM][1/6] Merge LDR/STR into LDRD/STRD with -O2 in Thumb

2011-11-07 Thread Greta Yorsh
SP to be written to memory or read from memory, but it happens for example in some regression tests for builtins that create call chains. gcc/ChangeLog 2011-10-28 Greta Yorsh * config/arm/arm.md: Include ldrdstrd.md. * config/arm/ldrdstrd0.md: New file. Adds define_insn

FW: [PATCH,ARM][1/6] Merge LDR/STR into LDRD/STRD with -O2 in Thumb

2011-11-07 Thread Greta Yorsh
Here is the correct file 1-ldrdstrd.patch. Sorry. -- Greta > -Original Message- > From: Greta Yorsh [mailto:greta.yo...@arm.com] > Sent: 07 November 2011 11:45 > To: gcc-patches@gcc.gnu.org > Cc: ni...@redhat.com; Richard Earnshaw; p...@codesourcery.com; Ramana >

[PATCH,ARM][2/6] Merge LDR/STR into LDRD/STRD with -O2 in ARM

2011-11-07 Thread Greta Yorsh
LDRD/STRD, and * a change in output_move_double that enabled generation of LDRD/STRD with ip. * replace "r" constraints with "q" constraints in patterns for movdi, in alternatives that emit LDRD/STRD via a call to output_move_double. gcc/ChangeLog 2011-10-28 Greta Yorsh

[PATCH,ARM][3/6] Merge LDR/STR into LDRD/STRD with -Os

2011-11-07 Thread Greta Yorsh
been introduced by patch no. 1 in this sequence (to make the review of the patterns easier). gcc/ChangeLog 2011-10-28 Greta Yorsh * config/arm/t-arm: Update the build system to generate ldrdstrd0.md and ldrdstrd1.md from ldrdstrd.md.in. * config/arm/arm.md: In

[PATCH,ARM][4/6] Improve peepholes for generating LDM with commutative operators

2011-11-07 Thread Greta Yorsh
2011-10-28 Greta Yorsh * config/arm/arm-ldmstm.ml: Improved conditions of peepholes that generate LDM followed by a commutative operator. * config/arm/ldmstm.md: Regenerated. 4-ldm-commute.patch Description: Binary data

[PATCH,ARM][5/6] Generate LDRD/STRD for internal memcpy

2011-11-07 Thread Greta Yorsh
ernal memcpy to accept LDRD/STRD as well as LDM/STM. gcc/ChangeLog 2011-10-28 Greta Yorsh * config/arm/arm.md (movmemdi,movmemqi): Generate LDRD/STRD under certain conditions. * config/arm/arm-protos.h (gen_movmem_ldrd_strd): New prototype. * c

[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

[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

[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

[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

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, 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

[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][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] 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] 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

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, 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

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

[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 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

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

[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

[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][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][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][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][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][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][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][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

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

RE: [PATCH][RFC] Fix PR49957 - build array index differently

2011-08-25 Thread Greta Yorsh
This patch causes regression in one of the Spec2000 benchmarks on arm-none-linux-gnueabi cortex-a9. The benchmark 173.applu from CFP2000 dropped performance by about 8% between revisions 177367 and 177368. Other benchmarks are not affected. In the assembly generated by the new version, the two m

[PATCH] [GCC testsuite] SEQUENCE_LENGTH in memcpy-2.c

2011-09-19 Thread Greta Yorsh
for small values of SEQUENCE_LENGTH. The patch also allows SEQUENCE_LENGTH to be redefined without a compiler warning. The patched test case passes on arm-none-eabi --with-cpu cortex-a9 on qemu. 2011-09-19 Greta Yorsh * gcc.c-torture/execute/memcpy-2.c (main): Fix validation of mem

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

  1   2   >