[RFC] Add conditional compare support

2013-08-21 Thread Zhenqiang Chen
Hi, Several ports in gcc support conditional compare instructions which is an efficient way to handle SHORT_CIRCUIT. But the information is not represented in TREE or GIMPLE. And it depends on BRANCH_COST and combine pass to generate the instructions. To explicitly represent the semantics of cond

[PATCH 1/n] Add conditional compare support

2013-08-21 Thread Zhenqiang Chen
y port. In the patch, dummy conditional_compare for i386 and arm are added for test. Bootstrap on x86-64 and ARM Chromebook. No ICE and runtime errors in regression tests. Thanks! -Zhenqiang ChangeLog: 2013-08-21 Zhenqiang Chen * tree.def: Add conditional compare ops: TRUTH_AN

[PATCH 2/n] Handle conditional compare in uninit pass

2013-08-21 Thread Zhenqiang Chen
errors in regression tests. Not test cases prefixed with uninit-pred- fail. Thanks! -Zhenqiang ChangeLog: 2013-08-21 Zhenqiang Chen * tree-ssa-uninit.c (normalize_cond_1, normalize_cond, is_gcond_subset_of, is_norm_cond_subset_of): Handle conditional compare. uninit

[PATCH 3/n] Handle conditional compare in vrp pass

2013-08-30 Thread Zhenqiang Chen
a copy, compare or a bit operator. Bootstrap on x86-64 and ARM Chromebook. No ICE and runtime errors in regression tests. All "vrp" related test cases PASS. Thanks! -Zhenqiang ChangeLog: 2013-08-30 Zhenqiang Chen * tree-vrp.c (extract_range_from_assignment, register_edge_

RE: [PATCH 1/n] Add conditional compare support

2013-09-18 Thread Zhenqiang Chen
> -Original Message- > From: Richard Biener [mailto:richard.guent...@gmail.com] > Sent: Tuesday, August 27, 2013 8:18 PM > To: Richard Earnshaw > Cc: Zhenqiang Chen; GCC Patches > Subject: Re: [PATCH 1/n] Add conditional compare support > > On Tue, Aug 27,

RE: [PATCH 1/n] Add conditional compare support

2013-09-22 Thread Zhenqiang Chen
> -Original Message- > From: Richard Earnshaw > Sent: Thursday, September 19, 2013 5:13 PM > To: Zhenqiang Chen > Cc: 'Richard Biener'; GCC Patches > Subject: Re: [PATCH 1/n] Add conditional compare support > > On 18/09/13 10:45, Zhenqiang Chen wro

[PATCH, ARM] Fix PR target/58423

2013-09-22 Thread Zhenqiang Chen
Hi, The patch fixes PR target/58423. Bootstrap and no make check regression on Chromebook with ARM mode. Is it OK for trunk? Thanks! -Zhenqiang ChangeLog: 2013-09-23 Zhenqiang Chen PR target/58423 * config/arm/arm.c (arm_emit_ldrd_pop): Attach RTX_FRAME_RELATED_P on INSN

RE: [PATCH, ARM] Fix PR target/58423

2013-09-23 Thread Zhenqiang Chen
> -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Yufeng Zhang > Sent: Monday, September 23, 2013 3:16 PM > To: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH, ARM] Fix PR target/58423 > > On 09/23/

[PATCH] Enhance phiopt to handle BIT_AND_EXPR

2013-09-30 Thread Zhenqiang Chen
Hi, The patch enhances phiopt to handle cases like: if (a == 0 && (...)) return 0; return a; Boot strap and no make check regression on X86-64 and ARM. Is it OK for trunk? Thanks! -Zhenqiang ChangeLog: 2013-09-30 Zhenqiang Chen * tree-ssa-

[PATCH, ARM] Fix PR target/54892 - [4.7/4.8 Regression], ICE in extract_insn, at recog.c:2123

2012-10-18 Thread Zhenqiang Chen
ap_1 expects the operand in SImode. No make check regression. Is it OK for 4.7 and trunk? Thanks! -Zhenqiang ChangeLog: 2012-10-19 Zhenqiang Chen PR target/54892 * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make sure the mode is correct when falling throu

Re: [PATCH, ARM] Fix PR target/54892 - [4.7/4.8 Regression], ICE in extract_insn, at recog.c:2123

2012-10-19 Thread Zhenqiang Chen
On 19 October 2012 14:53, Ramana Radhakrishnan wrote: > On Fri, Oct 19, 2012 at 7:46 AM, Zhenqiang Chen > wrote: >> Hi, >> >> In function arm_expand_compare_and_swap, oldval is converted to SImode >> when its "mode" is QImode/HImode. After "FALLTHR

RE: [PATCH] Enhance phiopt to handle BIT_AND_EXPR

2013-10-08 Thread Zhenqiang Chen
> -Original Message- > From: Jeff Law [mailto:l...@redhat.com] > Sent: Wednesday, October 09, 2013 5:00 AM > To: Andrew Pinski; Zhenqiang Chen > Cc: GCC Patches > Subject: Re: [PATCH] Enhance phiopt to handle BIT_AND_EXPR > > On 09/30/13 09:57, Andrew Pinski w

RE: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-10 Thread Zhenqiang Chen
> -Original Message- > From: Jeff Law [mailto:l...@redhat.com] > Sent: Thursday, October 10, 2013 11:05 AM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - > CST1) == 1 into ((X - CST1) &

RE: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-11 Thread Zhenqiang Chen
> -Original Message- > From: Jakub Jelinek [mailto:ja...@redhat.com] > Sent: Thursday, October 10, 2013 7:13 PM > To: Zhenqiang Chen > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - > CST1) == 1 into ((X -

RE: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-11 Thread Zhenqiang Chen
> -Original Message- > From: Jeff Law [mailto:l...@redhat.com] > Sent: Friday, October 11, 2013 1:20 PM > To: Zhenqiang Chen > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - > CST1) == 1 into ((X - CST1) &

RE: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-14 Thread Zhenqiang Chen
Patch and test cases are updated according to your comments. Bootstrap and no make check regression on X86-64. ChangeLog: 2013-10-14 Zhenqiang Chen * tree-ssa-reassoc.c (try_transfer_range_tests_1): New function, extracted from optimize_range_tests

RE: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-15 Thread Zhenqiang Chen
> -Original Message- > From: Jakub Jelinek [mailto:ja...@redhat.com] > Sent: Monday, October 14, 2013 4:49 PM > To: Zhenqiang Chen > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - > CST1) == 1 into ((X -

[PATCH] Enhance ifcombine to recover non short circuit branches

2013-10-16 Thread Zhenqiang Chen
ew FAILs in regression tests: gcc.dg/uninit-pred-8_b.c gcc.dg/uninit-pred-9_b.c uninit pass should be enhanced to handle more complex conditions. Will submit a bug to track it and fix it later. Is it OK for trunk? Thanks! -Zhenqiang ChangeLog: 2013-10-16 Zhenqiang Chen * fold-const.

Re: [PATCH] Enhance ifcombine to recover non short circuit branches

2013-10-18 Thread Zhenqiang Chen
On 18 October 2013 00:58, Jeff Law wrote: > On 10/17/13 05:03, Richard Biener wrote: Is it OK for trunk? >>> >>> >>> I had a much simpler change which did basically the same from 4.7 (I >>> can update it if people think this is a better approach). >> >> >> I like that more (note you can

Re: [PATCH] Enhance ifcombine to recover non short circuit branches

2013-10-18 Thread Zhenqiang Chen
On 18 October 2013 17:53, Richard Biener wrote: > On Fri, Oct 18, 2013 at 11:21 AM, Zhenqiang Chen > wrote: >> On 18 October 2013 00:58, Jeff Law wrote: >>> On 10/17/13 05:03, Richard Biener wrote: >>>>>> >>>>>> Is it OK for trunk

Re: [PATCH] Enhance ifcombine to recover non short circuit branches

2013-10-18 Thread Zhenqiang Chen
On 18 October 2013 18:15, Richard Biener wrote: > On Fri, Oct 18, 2013 at 12:06 PM, Zhenqiang Chen > wrote: >> On 18 October 2013 17:53, Richard Biener wrote: >>> On Fri, Oct 18, 2013 at 11:21 AM, Zhenqiang Chen >>> wrote: >>>> On 18 October 2013 00:58

[PATCH] Fix PR58775

2013-10-18 Thread Zhenqiang Chen
Hi, The patch fixes PR58775. Bootstrap and no make check regression on X86-64? Is it OK? Thanks! -Zhenqiang ChangeLog: 2013-10-18 Zhenqiang Chen PR tree-optimization/58775 * tree-ssa-reassoc.c (next_stmt_of): New function. (not_dominated_by): Check next_stmt_of for

Re: [PATCH] Enhance ifcombine to recover non short circuit branches

2013-10-18 Thread Zhenqiang Chen
On 18 October 2013 10:13, Andrew Pinski wrote: > On Thu, Oct 17, 2013 at 6:39 PM, Andrew Pinski wrote: >> On Thu, Oct 17, 2013 at 4:03 AM, Richard Biener >> wrote: >>> On Thu, Oct 17, 2013 at 4:14 AM, Andrew Pinski wrote: >>>> On Wed, Oct 16, 2013 at

Re: [PATCH] Fix PR58775

2013-10-20 Thread Zhenqiang Chen
On 18 October 2013 19:09, Jakub Jelinek wrote: > On Fri, Oct 18, 2013 at 06:36:44PM +0800, Zhenqiang Chen wrote: > --- a/gcc/tree-ssa-reassoc.c > +++ b/gcc/tree-ssa-reassoc.c > @@ -2861,6 +2861,19 @@ swap_ops_for_binary_stmt (vec ops, > } > } > > +/* Determine if s

RE: [PATCH 1/n] Add conditional compare support

2013-10-22 Thread Zhenqiang Chen
http://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg63743.html Bootstrap and no make check regression for both ARM and THUMB modes on ARM Chromebook. ChangeLog: 2013-10-22 Zhenqiang Chen * config/arm/arm.c (arm_fixed_condition_code_regs, arm_ccmode_to

RE: [PATCH 1/n] Add conditional compare support

2013-10-24 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Thursday, October 24, 2013 12:14 AM > To: Zhenqiang Chen; Richard Earnshaw; 'Richard Biener' > Cc: GCC Patches > Subject: Re: [PATCH 1/n] Add conditional compare support

[PATCH] Keep REG_INC note in subreg2 pass

2013-10-24 Thread Zhenqiang Chen
+bug/1243022 for more detail about a real case in kernel. Bootstrap and no make check regression on X86-64 and ARM. Is it OK for trunk and 4.8? Thanks! -Zhenqiang ChangeLog: 2013-10-24 Zhenqiang Chen * lower-subreg.c (resolve_simple_move): Copy REG_INC note. testsuite/Chang

Re: [PATCH] Enhance ifcombine to recover non short circuit branches

2013-10-28 Thread Zhenqiang Chen
On 28 October 2013 02:55, Andrew Pinski wrote: > On Sat, Oct 26, 2013 at 4:49 PM, Andrew Pinski wrote: >> On Sat, Oct 26, 2013 at 2:30 PM, Andrew Pinski wrote: >>> On Fri, Oct 18, 2013 at 2:21 AM, Zhenqiang Chen >>> wrote: >>>> On 18 October 2013 00:58, J

Re: [PATCH] Keep REG_INC note in subreg2 pass

2013-10-29 Thread Zhenqiang Chen
On 30 October 2013 02:47, Jeff Law wrote: > On 10/24/13 02:20, Zhenqiang Chen wrote: >> >> Hi, >> >> REG_INC note is lost in subreg2 pass when resolve_simple_move, which >> might lead to wrong dependence for ira. e.g. In function >> validate_equ

RE: [PATCH 1/n] Add conditional compare support

2013-10-30 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Monday, October 28, 2013 11:07 PM > To: Zhenqiang Chen; Richard Earnshaw; 'Richard Biener' > Cc: GCC Patches > Subject: Re: [PATCH 1/n] Add conditional compare support > >

RE: [PATCH 1/n] Add conditional compare support

2013-10-30 Thread Zhenqiang Chen
> -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Hans-Peter Nilsson > Sent: Tuesday, October 29, 2013 10:38 AM > To: Zhenqiang Chen > Cc: Richard Earnshaw; 'Richard Biener'; GCC Patches &g

Re: [PATCH] Keep REG_INC note in subreg2 pass

2013-10-30 Thread Zhenqiang Chen
On 31 October 2013 00:08, Jeff Law wrote: > On 10/30/13 00:09, Zhenqiang Chen wrote: >> >> On 30 October 2013 02:47, Jeff Law wrote: >>> >>> On 10/24/13 02:20, Zhenqiang Chen wrote: >>>> >>>> >>>> Hi, >>>> >>

RE: [PATCH 1/n] Add conditional compare support

2013-10-31 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Thursday, October 31, 2013 4:14 AM > To: Zhenqiang Chen > Cc: Richard Earnshaw; 'Richard Biener'; GCC Patches > Subject: Re: [PATCH 1/n] Add conditional compare support > >

RE: [PATCH 1/n] Add conditional compare support

2013-11-04 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Friday, November 01, 2013 12:27 AM > To: Zhenqiang Chen > Cc: Richard Earnshaw; 'Richard Biener'; GCC Patches > Subject: Re: [PATCH 1/n] Add conditional compare support > >

[PING] [PATCH, ARM, testcase] Skip target arm-neon for lp1243022.c

2013-11-27 Thread Zhenqiang Chen
Ping? Thanks! -Zhenqiang > -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Zhenqiang Chen > Sent: Friday, November 08, 2013 10:51 AM > To: gcc-patches@gcc.gnu.org > Cc: Ramana Radhakrishnan > Subject:

RE: [PING] [PATCH, ARM, testcase] Skip target arm-neon for lp1243022.c

2013-11-27 Thread Zhenqiang Chen
> -Original Message- > From: Jeff Law [mailto:l...@redhat.com] > Sent: Thursday, November 28, 2013 12:43 AM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Cc: Ramana Radhakrishnan; Richard Earnshaw > Subject: Re: [PING] [PATCH, ARM, testcase] Skip target arm-neon

[PING ^ 2] [PATCH 1/n] Add conditional compare support

2013-11-28 Thread Zhenqiang Chen
. Bootstrap and no make check regression on X86-64 and ARM chrome book. ChangeLog: 2013-11-28 Zhenqiang Chen * config/arm/arm-protos.h (arm_select_dominance_ccmp_mode, arm_ccmode_to_code): New prototypes. * config/arm/arm.c (arm_select_dominance_cc_mode_1): New function

RE: [PING] [PATCH, ARM, testcase] Skip target arm-neon for lp1243022.c

2013-11-28 Thread Zhenqiang Chen
> -Original Message- > From: Richard Earnshaw > Sent: Friday, November 29, 2013 1:01 AM > To: Zhenqiang Chen > Cc: 'Jeff Law'; gcc-patches@gcc.gnu.org; Ramana Radhakrishnan > Subject: Re: [PING] [PATCH, ARM, testcase] Skip target arm-neon for > lp1

[PING] [PATCH libgcc] Fix ARM uclinux libgcc config order issue

2013-12-10 Thread Zhenqiang Chen
Ping? This is definitely a bug. The LIB1ASMFUNCS defined in t-bpabi should not be overridden by t-arm. OK for 4.8 and trunk Thanks! -Zhenqiang > -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Zhenqiang Chen >

[PATCH, AARCH64] MULTIARCH_DIRNAME breaks multiarch build

2014-01-10 Thread Zhenqiang Chen
arch build fail if the sysroot is in correct multiarch layout. Any reason to add MULTIARCH_DIRNAME? If it is not necessary, can we remove it as the patch? Thanks! -Zhenqiang ChangeLog: 2014-01-10 Zhenqiang Chen * config/aarch64/t-aarch64-linux (MULTIARCH_DIRNAME): Remove. diff --git a/

Re: [PATCH, AARCH64] MULTIARCH_DIRNAME breaks multiarch build

2014-01-10 Thread Zhenqiang Chen
On 10 January 2014 17:23, Matthias Klose wrote: > Am 10.01.2014 09:23, schrieb Zhenqiang Chen: >> Hi, >> >> MULTIARCH_DIRNAME was removed @r196649 since the dir info had been >> combined in MULTILIB_OSDIRNAMES. >> >> But MULTIARCH_DIRNAME was re-added @

[PATCH, ARM] Fix two IT issues

2014-01-14 Thread Zhenqiang Chen
O2, except one regression due to loop alignment change. OK for trunk? Thanks! -Zhenqiang 2014-01-14 Zhenqiang Chen * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2. (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK. testsuite/ChangeLog: 2014-01

[PATCH, ARM] ICE when building kernel raid6 neon code

2014-01-15 Thread Zhenqiang Chen
ed by both arm_expand_epilogue_apcs_frame and arm_expand_epilogue. So we should not add the NOTE in arm_emit_vfp_multi_reg_pop if shrink-wrap is not enabled. Boot strap and no make check regression on ARM Chromebook. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-01-15 Zhenqiang Chen * config

Re: [PATCH, ARM] Keep constants in register when expanding

2014-08-10 Thread Zhenqiang Chen
On 8 August 2014 23:22, Ramana Radhakrishnan wrote: > On Tue, Aug 5, 2014 at 10:31 AM, Zhenqiang Chen > wrote: >> Hi, >> >> For some large constants, ARM will split them during expanding, which >> makes impossible to hoist them out the loop or shared by different

[PING ^ 2] [PATCH, ARM] Set max_insns_skipped to MAX_INSN_PER_IT_BLOCK when optimize_size for THUMB2

2014-08-11 Thread Zhenqiang Chen
Ping ^ 2? Thanks! -Zhenqiang > -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Zhenqiang Chen > Sent: Tuesday, April 29, 2014 5:38 PM > To: gcc-patches@gcc.gnu.org > Cc: Ramana Radhakrishnan > Subjec

Re: [PATCH, ARM] Keep constants in register when expanding

2014-08-11 Thread Zhenqiang Chen
On 11 August 2014 19:14, Ramana Radhakrishnan wrote: > On Mon, Aug 11, 2014 at 3:35 AM, Zhenqiang Chen > wrote: >> On 8 August 2014 23:22, Ramana Radhakrishnan >> wrote: >>> On Tue, Aug 5, 2014 at 10:31 AM, Zhenqiang Chen >>> wrote: >>>> Hi, &g

Re: [PATCH, ARM] Keep constants in register when expanding

2014-08-13 Thread Zhenqiang Chen
On 12 August 2014 17:24, Richard Earnshaw wrote: > On 05/08/14 10:31, Zhenqiang Chen wrote: >> Hi, >> >> For some large constants, ARM will split them during expanding, which >> makes impossible to hoist them out the loop or shared by different >> references

[PATCH, ira] Miss checks in split_live_ranges_for_shrink_wrap

2014-08-13 Thread Zhenqiang Chen
ck regression on X86-64. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-08-14 Zhenqiang Chen * shrink-wrap.h: #define SUPPORT_SHRINK_WRAP_P. * ira.c: #include "shrink-wrap.h" (split_live_ranges_for_shrink_wrap): Use SUPPORT_SHRINK_WRAP_P. *

[Committed] [PATCH, ARM] Set max_insns_skipped to MAX_INSN_PER_IT_BLOCK when optimize_size for THUMB2

2014-08-13 Thread Zhenqiang Chen
On 13 August 2014 20:29, Richard Earnshaw wrote: > On 25/02/14 09:34, Zhenqiang Chen wrote: >> Hi, >> >> Current value for max_insns_skipped is 6. For THUMB2, it needs 2 (IF-THEN) >> or 3 (IF-THEN-ELSE) IT blocks to hold all the instructions. The overhead of >> I

RE: [PATCH, ira] Miss checks in split_live_ranges_for_shrink_wrap

2014-09-01 Thread Zhenqiang Chen
> -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Jeff Law > Sent: Saturday, August 30, 2014 4:54 AM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH, ira] Miss checks in split_live_rang

RE: [PATCH 1/n] Add conditional compare support

2013-11-05 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Tuesday, November 05, 2013 4:39 AM > To: Zhenqiang Chen > Cc: Richard Earnshaw; 'Richard Biener'; GCC Patches > Subject: Re: [PATCH 1/n] Add conditional compare support > >

[PATCH, ARM, testcase] Skip target arm-neon for lp1243022.c

2013-11-07 Thread Zhenqiang Chen
Is it OK? Thanks! -Zhenqiang testsuite/ChangeLog: 2013-11-08 Zhenqiang Chen * gcc.target/arm/lp1243022.c: Skip target arm-neon. --- a/gcc/testsuite/gcc.target/arm/lp1243022.c +++ b/gcc/testsuite/gcc.target/arm/lp1243022.c @@ -1,7 +1,7 @@ /* { dg-do compile { target arm_thumb2

[PATCH, 4.8] Backport patches to fix parallel build fail PR 57683

2013-11-19 Thread Zhenqiang Chen
Hi, The issue files in PR 57683 include lra-constraints.o, lra-eliminations.o and tree-switch-conversion.o. Jeff had fixed them in trunk (r197467 and r198999): http://gcc.gnu.org/ml/gcc-patches/2013-05/msg00957.html http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00211.html Can we backport the two

[PING] [PATCH 1/n] Add conditional compare support

2013-11-20 Thread Zhenqiang Chen
Ping? Thanks! -Zhenqiang > -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Zhenqiang Chen > Sent: Wednesday, November 06, 2013 3:39 PM > To: 'Richard Henderson' > Cc: Richard Earnshaw; 'Richa

[PATCH] Clean up duplicated function seq_cost

2014-10-09 Thread Zhenqiang Chen
Hi, The are two implementations of seq_cost. The function bodies are exactly the same. The patch removes one of them and make the other global. Bootstrap and no make check regression on X86-64. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-10-09 Zhenqiang Chen * cfgloopanal.c

RE: [PATCH] Clean up duplicated function seq_cost

2014-10-10 Thread Zhenqiang Chen
> -Original Message- > From: Richard Biener [mailto:richard.guent...@gmail.com] > Sent: Thursday, October 09, 2014 5:21 PM > To: Zhenqiang Chen > Cc: GCC Patches > Subject: Re: [PATCH] Clean up duplicated function seq_cost > > On Thu, Oct 9, 2014 at 11:20 AM,

[PATCH, ifcvt] Check size cost in noce_try_store_flag_mask

2014-10-26 Thread Zhenqiang Chen
is valuable or not. Bootstrap and no make check regression on X86-64. No make check regression with Cortex-M0 qemu. For CSiBE, ARM Cortex-m0 result is a little better. A little regression for MIPS. Roughly no change for PowerPC. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-10-27 Zhenqiang Che

RE: [Ping] [PATCH, 1/10] two hooks for conditional compare (ccmp)

2014-10-27 Thread Zhenqiang Chen
Thanks for the comments. All comments are accepted and the updated patch is attached. -Zhenqiang > -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Saturday, October 11, 2014 11:00 PM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Subject: Re

RE: [Ping] [PATCH, 5/10] aarch64: add ccmp operand predicate

2014-10-27 Thread Zhenqiang Chen
Thanks for the comments. All comments are accepted and the updated patch is attached. -Zhenqiang > -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Saturday, October 11, 2014 11:22 PM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Subject: Re

RE: [Ping] [PATCH, 2/10] prepare ccmp

2014-10-27 Thread Zhenqiang Chen
Thanks for the comments. Patch is updated. -Zhenqiang > -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Richard Henderson > Sent: Saturday, October 11, 2014 11:03 PM > To: Zhenqiang Chen; gcc-patches@gcc.gn

RE: [Ping] [PATCH, 6/10] aarch64: add ccmp CC mode

2014-10-27 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Saturday, October 11, 2014 11:32 PM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Subject: Re: [Ping] [PATCH, 6/10] aarch64: add ccmp CC mode > > On 09/22/2014 11:44 PM, Zhenqiang Chen

RE: [Ping] [PATCH, 7/10] aarch64: add function to output ccmp insn

2014-10-27 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Sunday, October 12, 2014 12:52 PM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Subject: Re: [Ping] [PATCH, 7/10] aarch64: add function to output ccmp insn > > On 10/11/2014 09:11

RE: [Ping] [PATCH, 8/10] aarch64: ccmp insn patterns

2014-10-27 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Sunday, October 12, 2014 4:12 AM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Subject: Re: [Ping] [PATCH, 8/10] aarch64: ccmp insn patterns > > On 09/22/2014 11:45 PM,

RE: [Ping] [PATCH, 9/10] aarch64: generate conditional compare instructions

2014-10-27 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Sunday, October 12, 2014 4:46 AM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Subject: Re: [Ping] [PATCH, 9/10] aarch64: generate conditional compare > instructions > > On 09/22/

RE: [Ping] [PATCH, 10/10] aarch64: Handle ccmp in ifcvt to make it work with cmov

2014-10-27 Thread Zhenqiang Chen
> -Original Message- > From: Richard Henderson [mailto:r...@redhat.com] > Sent: Sunday, October 12, 2014 5:40 AM > To: Zhenqiang Chen; gcc-patches@gcc.gnu.org > Subject: Re: [Ping] [PATCH, 10/10] aarch64: Handle ccmp in ifcvt to make it > work with cmov > >

[Ping ^ 2] [PATCH] Fix PR 61225

2014-06-09 Thread Zhenqiang Chen
Ping ^2? Thanks! -Zhenqiang On 28 May 2014 15:02, Zhenqiang Chen wrote: > Ping? > > Thanks! > -Zhenqiang > > On 22 May 2014 17:52, Zhenqiang Chen wrote: >> On 21 May 2014 20:43, Steven Bosscher wrote: >>> On Wed, May 21, 2014 at 11:58 AM, Zhenqiang Chen wr

[PATCH, loop2_invariant, 1/2] Check only one register class

2014-06-10 Thread Zhenqiang Chen
check only the register pressure of the invariant if possible. Bootstrap and no make check regression on X86-64. Bootstrap and no make check regression on X86-64 with flag_ira_loop_pressure = true. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-10 Zhenqiang Chen * loop

[PATCH, loop2_invariant, 2/2] Change heuristics for identical invariants

2014-06-10 Thread Zhenqiang Chen
check regression on X86-64 with flag_ira_loop_pressure = true. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-10 Zhenqiang Chen * loop-invariant.c (struct invariant): Add a new member: eqno; (find_identical_invariants): Update eqno; (create_new_invariant): Ini

[PATCH, loop2_invariant] Skip inv (marked as move) from depends_on

2014-06-10 Thread Zhenqiang Chen
p_pressure = true. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-10 Zhenqiang Chen * loop-invariant.c (get_inv_cost): Skip invariants, which are marked as "move", from depends_on. diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c index e822bb6..fca9

[PATCH, loop2_invariant] Pre-check invariants

2014-06-10 Thread Zhenqiang Chen
move_invariant_reg. Bootstrap and no make check regression on X86-64. Bootstrap and no make check regression on X86-64 with flag_ira_loop_pressure = true. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-10 Zhenqiang Chen * loop-invariant.c (find_invariant_insn): Skip invariants, which

Re: [PATCH, loop2_invariant] Pre-check invariants

2014-06-11 Thread Zhenqiang Chen
On 10 June 2014 19:01, Steven Bosscher wrote: > On Tue, Jun 10, 2014 at 11:55 AM, Zhenqiang Chen wrote: >> >> * loop-invariant.c (find_invariant_insn): Skip invariants, which >> can not make a valid insn during replacement in move_invariant_reg. >> &g

Re: [PATCH, loop2_invariant, 1/2] Check only one register class

2014-06-11 Thread Zhenqiang Chen
On 10 June 2014 19:06, Steven Bosscher wrote: > On Tue, Jun 10, 2014 at 11:22 AM, Zhenqiang Chen wrote: >> Hi, >> >> For loop2-invariant pass, when flag_ira_loop_pressure is enabled, >> function gain_for_invariant checks the pressures of all register >> classes. T

[PATCH, cprop] Check rtx_cost when propagating constant

2014-06-16 Thread Zhenqiang Chen
nd no make check regression on X86-64 and ARM Chrome book. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-17 Zhenqiang Chen * cprop.c (try_replace_reg): Check cost for constants. diff --git a/gcc/cprop.c b/gcc/cprop.c index aef3ee8..c9cf02a 100644 --- a/gcc/cprop.c +++ b/gcc/cprop.c @

[Ping ^ 3] [PATCH] Fix PR 61225

2014-06-16 Thread Zhenqiang Chen
Ping? Thanks! -Zhenqiang On 9 June 2014 17:08, Zhenqiang Chen wrote: > Ping ^2? > > Thanks! > -Zhenqiang > > On 28 May 2014 15:02, Zhenqiang Chen wrote: >> Ping? >> >> Thanks! >> -Zhenqiang >> >> On 22 May 2014 17:52, Zhenqiang Chen w

Re: [PATCH, cprop] Check rtx_cost when propagating constant

2014-06-17 Thread Zhenqiang Chen
On 17 June 2014 16:15, Richard Biener wrote: > On Tue, Jun 17, 2014 at 4:11 AM, Zhenqiang Chen > wrote: >> Hi, >> >> For some large constant, ports like ARM, need one more instructions to >> operate it. e.g >> >> #define MASK 0xfe00ff >> void maskd

Re: [PATCH, loop2_invariant, 1/2] Check only one register class

2014-06-17 Thread Zhenqiang Chen
On 18 June 2014 05:49, Jeff Law wrote: > On 06/11/14 04:05, Zhenqiang Chen wrote: >> >> On 10 June 2014 19:06, Steven Bosscher wrote: >>> >>> On Tue, Jun 10, 2014 at 11:22 AM, Zhenqiang Chen wrote: >>>> >>>> Hi, >>>>

Re: [PATCH, loop2_invariant, 2/2] Change heuristics for identical invariants

2014-06-17 Thread Zhenqiang Chen
On 10 June 2014 19:16, Steven Bosscher wrote: > On Tue, Jun 10, 2014 at 11:23 AM, Zhenqiang Chen wrote: >> * loop-invariant.c (struct invariant): Add a new member: eqno; >> (find_identical_invariants): Update eqno; >> (create_new_

Re: [PATCH, cprop] Check rtx_cost when propagating constant

2014-06-19 Thread Zhenqiang Chen
On 17 June 2014 17:42, Zhenqiang Chen wrote: > On 17 June 2014 16:15, Richard Biener wrote: >> On Tue, Jun 17, 2014 at 4:11 AM, Zhenqiang Chen >> wrote: >>> Hi, >>> >>> For some large constant, ports like ARM, need one more instructions to >>

[Committed] [PATCH, loop2_invariant] Pre-check invariants

2014-06-22 Thread Zhenqiang Chen
On 18 June 2014 05:32, Jeff Law wrote: > On 06/11/14 03:35, Zhenqiang Chen wrote: >> >> >> Thanks for the comments. df_live seams redundant. >> >> With flag_ira_loop_pressure, the pass will call df_analyze () at the >> beginning, which can make sure al

[PATCH, 1/10] two hooks for conditional compare (ccmp)

2014-06-22 Thread Zhenqiang Chen
discussion about the hooks was in thread: https://gcc.gnu.org/ml/gcc-patches/2013-10/msg02601.html OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * doc/md.texi (ccmp): Add description about conditional compare instruction pattern. (TARGET_GEN_CCMP_FIRST

[PATCH, 2/10] prepare ccmp

2014-06-22 Thread Zhenqiang Chen
Hi, The patch makes several functions global, which will be used when expanding ccmp instructions. The other change in this patch is to check CCMP when turning code into jumpy sequence. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * cfgexpand.c

[PATCH, 3/10] skip swapping operands used in ccmp

2014-06-22 Thread Zhenqiang Chen
functions. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * Makefile.in: Add ccmp.o * ccmp.c: New file. * ccmp.h: New file. * recog.c (simplify_while_replacing): Check ccmp_insn_p. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 5587b75

[PATCH, 4/10] expand ccmp

2014-06-23 Thread Zhenqiang Chen
in a COND_EXPR (checked by function used_in_cond_stmt_p), it calls cstorecc4 pattern to store the CC to a general register. Bootstrap and no make check regression on X86-64. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * ccmp.c (ccmp_candidate_p

[PATCH, 5/10] aarch64: add ccmp operand predicate

2014-06-23 Thread Zhenqiang Chen
Hi, The patches defines ccmp operand predicate for AARCH64. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * config/aarch64/aarch64-protos.h (aarch64_uimm5): New prototype. * config/aarch64/constraints.md (Usn): Immediate for ccmn. * config

[PATCH, 6/10] aarch64: add ccmp CC mode

2014-06-23 Thread Zhenqiang Chen
Hi, The patches add a set of CC mode for AARCH64, which is similar as them for ARM. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * config/aarch64/aarch64-modes.def: Define new CC modes for ccmp. * config/aarch64/aarch64.c

[PATCH, 7/10] aarch64: add function to output ccmp insn

2014-06-23 Thread Zhenqiang Chen
Hi, The patch adds three help functions to output ccmp instructions. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * config/aarch64/aarch64-protos.h (aarch64_output_ccmp): New prototype. * config/aarch64/aarch64.c (aarch64_code_to_nzcv): New function

[PATCH, 9/10] aarch64: generate conditional compare instructions

2014-06-23 Thread Zhenqiang Chen
Hi, The patches implements the two hooks for AARCH64 to generate ccmp instructions. Bootstrap and no make check regression on qemu. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * config/aarch64/aarch64.c (aarch64_code_to_ccmode): New function

[PATCH, 10/10] aarch64: Handle ccmp in ifcvt to make it work with cmov

2014-06-23 Thread Zhenqiang Chen
ression on qemu. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * config/aarch64/aarch64.md (movcc): Handle ccmp_cc. * ifcvt.c: #include "ccmp.h". (struct noce_if_info): Add a new field ccmp_p. (noce_emit_cmove):

[PATCH, 8/10] aarch64: ccmp insn patterns

2014-06-23 Thread Zhenqiang Chen
Hi, The patch adds two insn patterns for ccmp instructions. cbranchcc4 is introduced to generate optimized conditional branch without an additional compare against the result of ccmp. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-06-23 Zhenqiang Chen * config/aarch64/aarch64.md

Re: [PATCH, 10/10] aarch64: Handle ccmp in ifcvt to make it work with cmov

2014-06-23 Thread Zhenqiang Chen
On 23 June 2014 15:09, Andrew Pinski wrote: > On Mon, Jun 23, 2014 at 12:01 AM, Zhenqiang Chen > wrote: >> Hi, >> >> The patch enhances ifcvt to handle conditional compare instruction >> (ccmp) to make it work with cmov. For ccmp, ALLOW_CC_MODE

Re: [PATCH, 3/10] skip swapping operands used in ccmp

2014-06-26 Thread Zhenqiang Chen
On 26 June 2014 05:03, Jeff Law wrote: > On 06/25/14 08:44, Richard Earnshaw wrote: >> >> On 23/06/14 07:58, Zhenqiang Chen wrote: >>> >>> Hi, >>> >>> Swapping operands in a ccmp will lead to illegal instructions. So the >>> patch d

Re: [PATCH, 3/10] skip swapping operands used in ccmp

2014-06-26 Thread Zhenqiang Chen
On 25 June 2014 22:44, Richard Earnshaw wrote: > On 23/06/14 07:58, Zhenqiang Chen wrote: >> Hi, >> >> Swapping operands in a ccmp will lead to illegal instructions. So the >> patch disables it in simplify_while_replacing. >> >> The patch is separated fro

[Committed] [PATCH, loop2_invariant, 1/2] Check only one register class

2014-06-29 Thread Zhenqiang Chen
On 26 June 2014 05:30, Jeff Law wrote: > On 06/11/14 04:05, Zhenqiang Chen wrote: >> >> On 10 June 2014 19:06, Steven Bosscher wrote: >>> >>> On Tue, Jun 10, 2014 at 11:22 AM, Zhenqiang Chen wrote: >>>> >>>> Hi, >>>>

Re: [PATCH, 2/10] prepare ccmp

2014-06-30 Thread Zhenqiang Chen
On 25 June 2014 22:41, Richard Earnshaw wrote: > On 23/06/14 07:57, Zhenqiang Chen wrote: >> Hi, >> >> The patch makes several functions global, which will be used when >> expanding ccmp instructions. >> >> The other change in this patch is to check CCMP w

Re: [PATCH, loop2_invariant, 2/2] Change heuristics for identical invariants

2014-07-01 Thread Zhenqiang Chen
On 10 June 2014 19:16, Steven Bosscher wrote: > On Tue, Jun 10, 2014 at 11:23 AM, Zhenqiang Chen wrote: >> * loop-invariant.c (struct invariant): Add a new member: eqno; >> (find_identical_invariants): Update eqno; >> (create_new_

Re: [PATCH, 4/10] expand ccmp

2014-07-01 Thread Zhenqiang Chen
On 25 June 2014 23:16, Richard Earnshaw wrote: > On 23/06/14 07:59, Zhenqiang Chen wrote: >> Hi, >> >> This patch includes the main logic to expand ccmp instructions. >> >> In the patch, >> * ccmp_candidate_p is used to identify the CCMP candidate &g

[Committed]: [PATCH, loop2_invariant, 2/2] Change heuristics for identical invariants

2014-07-02 Thread Zhenqiang Chen
On 2 July 2014 03:54, Jeff Law wrote: > On 07/01/14 01:16, Zhenqiang Chen wrote: > >> >> ChangeLog: >> 2014-07-01 Zhenqiang Chen >> >> * loop-invariant.c (struct invariant): Add a new member: eqno; >> (find_identical_invariants): Upda

Re: [PATCH, 10/10] aarch64: Handle ccmp in ifcvt to make it work with cmov

2014-07-03 Thread Zhenqiang Chen
w0, le Bootstrap and no make check regression on qemu. OK for trunk? Thanks! -Zhenqiang 2014-07-04 Zhenqiang Chen Andrew Pinski * config/aarch64/aarch64.md (cstorecc4): New. (movcc): Handle ccmp_cc. * ccmp.c (used_in_cond_stmt_p): Hande ? expr. (exp

[Ping ^ 4] [PATCH] Fix PR 61225

2014-07-06 Thread Zhenqiang Chen
Ping? Thanks! -Zhenqiang On 17 June 2014 12:53, Zhenqiang Chen wrote: > Ping? > > Thanks! > -Zhenqiang > > On 9 June 2014 17:08, Zhenqiang Chen wrote: >> Ping ^2? >> >> Thanks! >> -Zhenqiang >> >> On 28 May 2014 15:02, Zhenqiang Chen wrot

[PATCH, NLS] try to search relative dir

2014-07-07 Thread Zhenqiang Chen
n not find the gcc.mo. The patch tries to search relative dir "../share/locale" from gcc. Although it can not cover all cases, I think it can cover most cases. Bootstrap and no make check regression on X86-64. OK for trunk? Thanks! -Zhenqiang ChangeLog: 2014-07-07 Zhenqiang Chen

  1   2   3   >