Why does gcc generate const local array on stack?

2016-04-20 Thread Bingfeng Mei
s involved, GCC would have to maintain the array on stack and hence the initialization. But here the code is very simple. I don't understand the logic of generated code, or maybe missing optimization opportunity? Thanks, Bingfeng Mei

Re: Re: Why does gcc generate const local array on stack?

2016-04-21 Thread Bingfeng Mei
; if(ptrs[0] == ptrs[1]){ > abort(); > } > } > > int main(){ > foo(); > } > [/code] > > -- > Best regards, > lh_mouse > 2016-04-21 > > ----- > 发件人:Jonathan Wakely > 发送日期

Re: Re: Why does gcc generate const local array on stack?

2016-04-21 Thread Bingfeng Mei
Richard, thanks for explanation. I found an option -fmerge-all-constants, which can help me work around for now. BIngfeng On Thu, Apr 21, 2016 at 11:15 AM, Richard Biener wrote: > On Thu, Apr 21, 2016 at 11:39 AM, Jonathan Wakely > wrote: >> On 21 April 2016 at 03:41, lh_mouse wrote: >>> See t

Why is this not optimized?

2014-05-14 Thread Bingfeng Mei
ne? I am working on up-to-date GCC 4.8. Thanks, Bingfeng Mei

RE: Why is this not optimized?

2014-05-15 Thread Bingfeng Mei
case, but should be better in general. Cheers, Bingfeng -Original Message- From: Bin.Cheng [mailto:amker.ch...@gmail.com] Sent: 15 May 2014 06:59 To: Bingfeng Mei Cc: gcc@gcc.gnu.org Subject: Re: Why is this not optimized? On Wed, May 14, 2014 at 9:14 PM, Bingfeng Mei wrote: &g

RE: Register Pressure guided Unroll and Jam in GCC !!

2014-06-17 Thread Bingfeng Mei
That is true. Early estimation of register pressure should be improved. Right now I am looking at an example IVOPTS produces too many induction variables and causes a lot of register spilling. Though ivopts pass called estimate_reg_pressure_cost function, results are not even close to real situ

regs_used estimation in IVOPTS seriously flawed

2014-06-17 Thread Bingfeng Mei
Hi, I am looking at a performance regression in our code. A big loop produces and uses a lot of temporary variables inside the loop body. The problem appears that IVOPTS pass creates even more induction variables (from original 2 to 27). It causes a lot of register spilling later and performance ta

RE: regs_used estimation in IVOPTS seriously flawed

2014-06-18 Thread Bingfeng Mei
> -Original Message- > From: Richard Biener [mailto:richard.guent...@gmail.com] > Sent: 18 June 2014 12:36 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: regs_used estimation in IVOPTS seriously flawed > > On Tue, Jun 17, 2014 at 4:59 PM, Bingfeng Mei

RE: regs_used estimation in IVOPTS seriously flawed

2014-06-20 Thread Bingfeng Mei
> -Original Message- > From: Bin.Cheng [mailto:amker.ch...@gmail.com] > Sent: 20 June 2014 06:25 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: regs_used estimation in IVOPTS seriously flawed > > On Tue, Jun 17, 2014 at 10:59 PM, Bingfeng Mei wrote: >

RE: regs_used estimation in IVOPTS seriously flawed

2014-06-20 Thread Bingfeng Mei
Sorry, typo in previous mail. "I also tried counting all SSA names and divide it by a factor. It does NOT seem to work so well" > -Original Message- > From: Bin.Cheng [mailto:amker.ch...@gmail.com] > Sent: 20 June 2014 10:19 > To: Bingfeng Mei > Cc: gcc@

RE: Comparison of GCC-4.9 and LLVM-3.4 performance on SPECInt2000 for x86-64 and ARM

2014-06-25 Thread Bingfeng Mei
Thanks for nice benchmarks. Vladimir. Why is GCC code size so much bigger than LLVM? Does -Ofast have more unrolling on GCC? It doesn't seem increasing code size help performance (164.gzip & 197.parser) Is there comparisons for O2? I guess that is more useful for typical mobile/embedded programme

ivdep pragma not used in ddg.c?

2014-07-09 Thread Bingfeng Mei
Hi, I noticed recent GCC adds ivdep pragma support. We have our own implementation for ivdep for a couple of years now. As GCC implementation is much cleaner and we want to migrate to it. Ivdep is consumed in two places in our implementation, one is tree-vect-data-refs.c used by vectorizer, the

RE: Vector modes and the corresponding width integer mode

2014-12-12 Thread Bingfeng Mei
I don't think it is required. For example, PowerPC port supports V8SImode, but I don't see OImode. Just sometimes it could come handy to have the equal size scalar mode. Cheers, Bingfeng > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On Behalf Of > Matt

LLVM disagrees with GCC on bitfield handling

2017-10-26 Thread Bingfeng Mei
operate on original data types. I am confused which approach conforms to standard, or this is just a grey area not well defined by standard. Any suggestion is greatly appreciated. Cheers, Bingfeng Mei

Re: LLVM disagrees with GCC on bitfield handling

2017-10-27 Thread Bingfeng Mei
HI, Joseph, Thanks for detailed explanation. Cheers, Bingfeng On Thu, Oct 26, 2017 at 5:11 PM, Joseph Myers wrote: > There is a line of C90 DRs and associated textual history (compare the > relevant text in C90 and C99, or see my comparison of it in WG14 reflector > message 11100 (18 Apr 2006))

Vector permutation only deals with # of vector elements same as mask?

2011-02-10 Thread Bingfeng Mei
understand correctly or miss something here? Thanks, Bingfeng Mei

RE: Vector permutation only deals with # of vector elements same as mask?

2011-02-11 Thread Bingfeng Mei
utations on load and store. Cheers, Bingfeng > -Original Message- > From: Ira Rosen [mailto:i...@il.ibm.com] > Sent: 10 February 2011 17:22 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Vector permutation only deals with # of vector elements > same as mask? &

Why does GCC convert short operation to short unsigned?

2011-06-17 Thread Bingfeng Mei
int) a; b.1 = (short unsigned int) b; D.3350 = a.0 - b.1; D.3347 = (short int) D.3350; return D.3347; } Is this for some C standard conformance, or optimization purpose? This doesn't happen with int type. Thanks, Bingfeng Mei

Is this correct behaviour?

2011-09-06 Thread Bingfeng Mei
t; so 3 "a++" can be optimized? Thanks, Bingfeng Mei int a; int P[100]; void foo (int * restrict p) { P[0] = *p; a++; P[1] = *p; a++; P[2] = *p; a++; } ~/work/install-arm/bin/arm-elf-gcc tst.c -O2 -S -std=c99 foo: @ args = 0, pretend = 0, frame = 0 @ frame_

RE: Is this correct behaviour?

2011-09-06 Thread Bingfeng Mei
> -Original Message- > From: Richard Guenther [mailto:richard.guent...@gmail.com] > Sent: 06 September 2011 16:42 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Is this correct behaviour? > > On Tue, Sep 6, 2011 at 5:30 PM, Bingfeng Mei wrote: &

Derive more alias information from named address space

2011-09-16 Thread Bingfeng Mei
(mem))) return 0; else return 1; } Is this correct? Thanks, Bingfeng Mei

RE: Derive more alias information from named address space

2011-09-19 Thread Bingfeng Mei
Thanks. I will prepare a patch. Bingfeng > -Original Message- > From: Ulrich Weigand [mailto:uweig...@de.ibm.com] > Sent: 19 September 2011 12:56 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Derive more alias information from named address space >

Wrong documentation of TARGET_ADDR_SPACE_SUBSET_P

2011-09-23 Thread Bingfeng Mei
asts. In spu & m32c ports: m32c_addr_space_subset_p (addr_space_t subset, addr_space_t superset) spu_addr_space_subset_p (addr_space_t subset, addr_space_t superset) I believe the document is wrong. The first argument is subset and the second one is superset. Should I submit a patch? Cheers,

Not conform to c90?

2011-10-04 Thread Bingfeng Mei
4.7 ~/work/install-x86/bin/gcc test.c -O2 -std=c90 size = 0 I noticed the following statement in GCC document. "As a quirk of the original implementation of zero-length arrays, sizeof evaluates to zero." Does it mean GCC just does not conform to c90 in this respect? Thanks, Bingfeng Mei

RE: Not conform to c90?

2011-10-04 Thread Bingfeng Mei
Thank you very much. I misunderstood the document. Bingfeng > -Original Message- > From: Jonathan Wakely [mailto:jwakely@gmail.com] > Sent: 04 October 2011 12:48 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Not conform to c90? > > On 4 October

RE: Porting 64-bit target on 32-bit host

2011-10-10 Thread Bingfeng Mei
I believe that 64-bit target on 32-bit host is not supported by GCC. You need a lot of hackings to do so. Check this thread. http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00908.html Bingfeng Mei > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On

RE: Porting 64-bit target on 32-bit host

2011-10-10 Thread Bingfeng Mei
Well, I just switched to 64-bit host and everything is fine. Bingfeng > -Original Message- > From: harder...@gmail.com [mailto:harder...@gmail.com] On Behalf Of > Huang Ping > Sent: 10 October 2011 16:55 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Portin

Why doesn't GCC generate conditional move for COND_EXPR?

2011-10-24 Thread Bingfeng Mei
don't turned -ftree-vectorize on. This is on our private port. Thanks, Bingfeng Mei

RE: Why doesn't GCC generate conditional move for COND_EXPR?

2011-10-25 Thread Bingfeng Mei
t; Cc: Bingfeng Mei; gcc@gcc.gnu.org > Subject: Re: Why doesn't GCC generate conditional move for COND_EXPR? > > On Mon, Oct 24, 2011 at 7:00 AM, Richard Guenther > wrote: > > On Mon, Oct 24, 2011 at 2:55 PM, Bingfeng Mei > wrote: > >> Hello, > >> I

SLP vectorizer on non-loop?

2011-11-01 Thread Bingfeng Mei
work. I wonder how easy to make SLP works for non-loop. Thanks, Bingfeng Mei Broadcom UK void foo (int *__restrict__ temp_hist_buffer, int * __restrict__ p_hist_buff, int *__restrict__ p_input) { int i; for(i=0;i<4;i++) temp_hist_buffer[i]=p_hist_buff[i]

RE: SLP vectorizer on non-loop?

2011-11-01 Thread Bingfeng Mei
11 11:13 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: SLP vectorizer on non-loop? > > > > gcc-ow...@gcc.gnu.org wrote on 01/11/2011 12:41:32 PM: > > > Hello, > > I have one example with two very similar loops. cunrolli pass > > unrolls one loop compl

Bug in Tree to RTL expansion?

2011-12-08 Thread Bingfeng Mei
also OK. Which one should I I look at? Or is this a known issue and fixed in 4.6/4.7? Thanks, Bingfeng Mei

RE: Bug in Tree to RTL expansion?

2011-12-08 Thread Bingfeng Mei
chard.guent...@gmail.com] > Sent: 08 December 2011 12:10 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org; Michael Matz > Subject: Re: Bug in Tree to RTL expansion? > > On Thu, Dec 8, 2011 at 12:34 PM, Bingfeng Mei wrote: > > Hi, > > I experienced a code generation bug with

RE: Bug in Tree to RTL expansion?

2011-12-09 Thread Bingfeng Mei
To: Richard Guenther > Cc: Bingfeng Mei; gcc@gcc.gnu.org > Subject: Re: Bug in Tree to RTL expansion? > > Hi, > > On Thu, 8 Dec 2011, Richard Guenther wrote: > > > > What I am not sure is whether the coalescing algorithm or the > > > expanding procedure is wro

RE: Bug in Tree to RTL expansion?

2011-12-09 Thread Bingfeng Mei
OK, don't bother. I think I understand TER and my issue now. It is from a misfix of widening multiplication, which I found there is a new pass doing this from 4.6. I am going to back port that to my target. Thanks, Bingfeng > -Original Message- > From: Bingfeng Mei > Sen

libtool error in building GCC

2009-07-21 Thread Bingfeng Mei
libstdc++-v3 directory and rerun make and it cannot regenerate libtool again. Examining config.log, config.status and Makefile doesn't help me either. So I really get lost what is going wrong in 4.5 trunk. Any help is greatly appreciated. Thanks, Bingfeng Mei /bin/sh ../libtool --tag CXX

RE: libtool error in building GCC

2009-07-21 Thread Bingfeng Mei
Just ignore my previous mail. I find the error is because we failed to import the new 4.5 directory libstdc++v3/python to our repository. > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > Behalf Of Bingfeng Mei > Sent: 21 July 2009 12:

RE: PRE_DEC, POST_INC

2009-08-07 Thread Bingfeng Mei
I asked similar question regarding PRE_INC/POST_INC quite a while ago, and there were quite some discussions. Haven't check whether the situation changed. http://gcc.gnu.org/ml/gcc/2007-11/msg00032.html Bingfeng Mei > -Original Message- > From: gcc-ow...@gcc.gnu.org [ma

RE: IRA undoing scheduling decisions

2009-08-25 Thread Bingfeng Mei
I can comfirm too in our private port, though in slightly different form. r2 = 7 [r0] = r2 r0 = 4 [r1] = r0 Bingfeng > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > Behalf Of Charles J. Tabony > Sent: 25 August 2009 00:56 > To: gcc@gcc.gnu.org > S

Restrict qualifier doesn't work in TRUNK.

2009-09-11 Thread Bingfeng Mei
d some big changes since 4.5 branched out. Is it still in unstable phase, or is there some new hooks I should use for my port? Cheers, Bingfeng Mei void foo (int * __restrict__ a, int * __restrict__ b, int * __restrict__ c) { int i; for(i = 0; i < 100; i+=4) { a[i] = b[i] * c[i

RE: help on - how to specify architecture information to gcc

2009-09-21 Thread Bingfeng Mei
You should check how to construct DFA for your target architecture. Look at "Specifying processor pipeline description" in GCC internal manual and checked out how other architectures do it. -Bingfeng > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On >

Issues of the latest trunk with LTO merges

2009-10-12 Thread Bingfeng Mei
errors are produced. One problem is that lto code redefines some data exist in the main code: flag_no_builtin, flag_isoc99 lang_hooks, etc, which prevent it from linking with object files in main directory. What is the clean solution for this? Thanks in advance. Cheers, Bingfeng Mei

RE: Issues of the latest trunk with LTO merges

2009-10-12 Thread Bingfeng Mei
when they are not actually used by lto1. Thanks, Bingfeng > -Original Message- > From: Richard Guenther [mailto:richard.guent...@gmail.com] > Sent: 12 October 2009 15:34 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Issues of the latest trunk with LTO merges &g

LTO question

2009-10-13 Thread Bingfeng Mei
e for LTO? I checked the up-to-date internal manual and found nothing. Thanks, Bingfeng Mei

RE: LTO question

2009-10-13 Thread Bingfeng Mei
> Sent: 13 October 2009 14:30 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: LTO question > > On Tue, Oct 13, 2009 at 08:47, Bingfeng Mei wrote: > > > a.c > > extern void foo(int); > > int main() > > {  foo(20); > >  return 1; > > }

RE: LTO question

2009-10-13 Thread Bingfeng Mei
> -Original Message- > From: Richard Guenther [mailto:richard.guent...@gmail.com] > Sent: 13 October 2009 16:15 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: LTO question > > On Tue, Oct 13, 2009 at 2:47 PM, Bingfeng Mei > wrote: > > Hell

RE: Turning off unrolling to certain loops

2009-10-15 Thread Bingfeng Mei
submit the patch because it contains our not-very-elegannt #prgama unroll implementation. The following two functions do the unrolling. I insert the pass just after the loop_prefetch pass (4.4) Cheers, Bingfeng Mei /* Perfect unrolling of a loop */ static void tree_unroll_perfect_loop (struct loop

RE: Turning off unrolling to certain loops

2009-10-15 Thread Bingfeng Mei
> Cc: Bingfeng Mei; gcc@gcc.gnu.org > Subject: Re: Turning off unrolling to certain loops > > You are entirely correct, I hadn't thought that through enough. > > So I backtracked and have just merged what Bingfeng Mei has done with > your code and have now a corrected v

RE: Turning off unrolling to certain loops

2009-10-16 Thread Bingfeng Mei
ction (tree-level) or special note (rtl-level) Bingfeng > -Original Message- > From: fearyours...@gmail.com [mailto:fearyours...@gmail.com] > On Behalf Of Jean Christophe Beyler > Sent: 15 October 2009 17:27 > To: Bingfeng Mei > Cc: Zdenek Dvorak; gcc@gcc.gnu.org >

How to avoid a tree node being garbage collected after C frontend?

2009-11-09 Thread Bingfeng Mei
-save-temps option the bug disappear. Thanks, Bingfeng Mei

RE: How to avoid a tree node being garbage collected after C frontend?

2009-11-10 Thread Bingfeng Mei
ction_name. What is wrong here? I understood GTY marker tells GC that this global pointer contains access to GC allocated memory. Thanks for any input, Bingfeng > -Original Message- > From: Ian Lance Taylor [mailto:i...@google.com] > Sent: 09 November 2009 19:00 > To:

RE: How to avoid a tree node being garbage collected after C frontend?

2009-11-10 Thread Bingfeng Mei
Thanks, it works. I should have read the internal manual more carefully :-) Cheers, Bingfeng > -Original Message- > From: Basile STARYNKEVITCH [mailto:bas...@starynkevitch.net] > Sent: 10 November 2009 12:20 > To: Bingfeng Mei > Cc: Ian Lance Taylor; gcc@gcc.gnu.org >

Is this patch of vector shift in 4.5?

2009-11-10 Thread Bingfeng Mei
Hello, Andrew, I am wondering whether this patch you mentioned has made into 4.5? http://gcc.gnu.org/ml/gcc/2009-02/msg00381.html We would like to support it in our port if the frontend has be adapted to support it. Thanks, Bingfeng

RE: help on - adding a new pass to gcc

2009-11-10 Thread Bingfeng Mei
Did you add your new object file to OBJS-common list in Makefile.in? Bingfeng > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > Behalf Of ddmetro > Sent: 10 November 2009 16:25 > To: gcc@gcc.gnu.org > Subject: help on - adding a new pass to gcc >

Loop pragmas dilemma

2009-11-18 Thread Bingfeng Mei
fusing for user. Does anyone know how other compilers, e.g., icc, handle such issues? Thanks for any input, Bingfeng Mei Broadcom UK

RE: Worth balancing the tree before scheduling?

2009-11-25 Thread Bingfeng Mei
Hello, It seems to me that tree balancing risk of producing wrong result due to overflow of subexpression. Say a = INT_MIN, b = 10, c = 10, d = INT_MAX. If ((a + b) + c) + d)) becomes ((a + b) + (c + d)) c + d will overflow and the original won't. So the behaviour of two are different. Thoug

RE: HELP: data dependence

2009-12-03 Thread Bingfeng Mei
Data dependence analysis is done in sched-deps.c. You can have a look at build_intra_loop_deps function in ddg.c (which constructs data dependency graph for modulo scheduler) to see how it is used. Bingfeng > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org]

Unnecessary PRE optimization

2009-12-23 Thread Bingfeng Mei
Hello, I encounter an issue with PRE optimization, which created worse code than no optimization. This the test function: void foo(int *data, int *m_v4w, int num) { int i; int m0; for( i=0; i

RE: Unnecessary PRE optimization

2009-12-23 Thread Bingfeng Mei
-O2 > -Original Message- > From: Steven Bosscher [mailto:stevenb@gmail.com] > Sent: 23 December 2009 12:01 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org; dber...@dberlin.org > Subject: Re: Unnecessary PRE optimization > > On Wed, Dec 23, 2009 at 12:49 PM

RE: Unnecessary PRE optimization

2009-12-23 Thread Bingfeng Mei
Steven Bosscher > Cc: Bingfeng Mei; gcc@gcc.gnu.org; dber...@dberlin.org > Subject: Re: Unnecessary PRE optimization > > On 12/23/2009 01:01 PM, Steven Bosscher wrote: > > On Wed, Dec 23, 2009 at 12:49 PM, Bingfeng > Mei wrote: > >> Hello, > >> I encount

RE: Unnecessary PRE optimization

2009-12-23 Thread Bingfeng Mei
aolo Bonzini [mailto:paolo.bonz...@gmail.com] On > Behalf Of Paolo Bonzini > Sent: 23 December 2009 15:01 > To: Bingfeng Mei > Cc: Steven Bosscher; gcc@gcc.gnu.org; dber...@dberlin.org > Subject: Re: Unnecessary PRE optimization > > On 12/23/2009 03:27 PM, Bingfeng Mei wrote: > >

RE: PowerPC : GCC2 optimises better than GCC4???

2010-01-04 Thread Bingfeng Mei
I can confirm that our target also generate GOOD code for this case. Maybe this is a EABI or target-specific thing, where Struct/union is forced to memory. Bingfeng Broadcom Uk > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > Behalf Of Andrew Haley

RE: GCC-How does the coding style affect the insv pattern recognization?

2010-01-13 Thread Bingfeng Mei
Your instruction is likely too specific to be picked up by GCC. You may use an intrinisc for it. Bingfeng > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > Behalf Of fanqifei > Sent: 12 January 2010 12:50 > To: gcc@gcc.gnu.org > Subject: GCC-How do

RE: GCC-How does the coding style affect the insv pattern recognization?

2010-01-13 Thread Bingfeng Mei
ail.com] > Sent: 13 January 2010 10:26 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: GCC-How does the coding style affect the insv > pattern recognization? > > 2010/1/13 Bingfeng Mei : > > Your instruction is likely too specific to be picked up by GCC. > >

A bug on 32-bit host?

2010-01-22 Thread Bingfeng Mei
& ((1 << (bitpos + bitsize - HOST_BITS_PER_WIDE_INT)) - 1); v >> 32 bits on a 32-bit machine is undefined. On i386, v >> 32 results in v, which is not intention of the function. Cheers, Bingfeng Mei static rtx lshift_value (enum machine_mode mode, rtx value, int bitpo

RE: A bug on 32-bit host?

2010-01-22 Thread Bingfeng Mei
Oops, that is embarassing. Usually any local change are marked with #ifdef in our port. I shoud double check next time when I report an issue. Thanks. Bingfeng > -Original Message- > From: Ian Lance Taylor [mailto:i...@google.com] > Sent: 22 January 2010 15:04 > To: Bingf

RE: GCC calling GNU assembler

2010-02-03 Thread Bingfeng Mei
GCC just literally emits the string in your asm expression together with other assembly code generated by compiler. Only in next step assembler is invoked by GCC driver. Typically, hard register number is not used so that GCC can do register allocation for inline assembly. Bingfeng > -O

RE: Function versioning tests?

2010-02-22 Thread Bingfeng Mei
Hi, GCC 4.5 already contains such patch. http://gcc.gnu.org/ml/gcc-patches/2009-03/msg01186.html If you are working on 4.4 branch, you can just apply the patch without problem. Cheers, Bingfeng > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > Behal

Issue in combine pass.

2010-03-25 Thread Bingfeng Mei
g every element of vector or treat the vector as an entity? Internal manual is not very clear about that. Thanks, Bingfeng Mei

Release novops attribute for external use?

2010-04-12 Thread Bingfeng Mei
lication? Could we release this attribute for external use as well? Thanks, Bingfeng Mei

RE: Release novops attribute for external use?

2010-04-13 Thread Bingfeng Mei
bject: Re: Release novops attribute for external use? > > On 04/12/2010 05:27 PM, Bingfeng Mei wrote: > > Hello, > > One of our engineers requested a feature so that > > compiler can avoid to re-load variables after a function > > call if it is known not to write t

RE: Release novops attribute for external use?

2010-04-13 Thread Bingfeng Mei
> > Richard. > > > Bingfeng > > > >> -Original Message- > >> From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > >> Behalf Of Andrew Haley > >> Sent: 12 April 2010 17:34 > >> To: gcc@gcc.gnu.org > &

RE: Release novops attribute for external use?

2010-04-13 Thread Bingfeng Mei
.guent...@gmail.com] > Sent: 13 April 2010 11:25 > To: Bingfeng Mei > Cc: Andrew Haley; gcc@gcc.gnu.org > Subject: Re: Release novops attribute for external use? > > On Tue, Apr 13, 2010 at 12:23 PM, Richard Guenther > wrote: > > On Tue, Apr 13, 2010 at

Which target has working modulo scheduling?

2008-10-17 Thread Bingfeng Mei
of targets supporting doloop_end. Which among them are known to work well with modulo scheduling? Thanks in advance. Cheers, Bingfeng Mei Broadcom UK

Is there any plan for "data propagation from Tree SSA to RTL" to be in GCC mainline?

2008-11-03 Thread Bingfeng Mei
.pdf). It should help a lot in improving memory dependency analysis. Is there any plan for this work to make into GCC mainline? Thanks in advance. Kind Regards, Bingfeng Mei Broadcom UK

RE: Is there any plan for "data propagation from Tree SSA to RTL" to be in GCC mainline?

2008-11-11 Thread Bingfeng Mei
Andrey Belevantsev > [mailto:[EMAIL PROTECTED] On Behalf Of Andrey Belevantsev > Sent: 09 November 2008 20:31 > To: Diego Novillo > Cc: Steven Bosscher; Bingfeng Mei; gcc@gcc.gnu.org; > [EMAIL PROTECTED]; Daniel Berlin > Subject: Re: Is there any plan for "data propagation from &g

RE: Is there any plan for "data propagation from Tree SSA to RTL" to be in GCC mainline?

2008-11-13 Thread Bingfeng Mei
; From: Andrey Belevantsev [mailto:[EMAIL PROTECTED] > Sent: 11 November 2008 13:53 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Is there any plan for "data propagation from > Tree SSA to RTL" to be in GCC mainline? > > Bingfeng Mei wrote: > > I foun

RE: generate assembly mnemonic depending the resource allocation

2008-12-03 Thread Bingfeng Mei
You can use C statements to return a modified template string such like (define_insn "addsi3" [(set (match_operand:SI 0 "general_register_operand" "=d") (plus:SI (match_operand:SI 1 "general_register_operand" "d") (match_operand:SI 2 "general_register_operand" "d")))] "

Bug in optimize_bitfield_assignment_op()?

2008-12-18 Thread Bingfeng Mei
Hello, My GCC porting for our own VLIW processor tracks mainline weekly. Test 991118-1.c has failed since two weeks ago. Following is a simplified version of 99118-1.c. After some investigation, I found the following statement is expanded to RTL wrongly. ;; tmp2.field = () () ((long long int)

[IRA] New register allocator question

2009-01-02 Thread Bingfeng Mei
\ } Apart from above macro, what other interfaces/parameters I can tune to change this behaviour in new IRA? Thanks in advance. Happy New Year, Bingfeng Mei Broadcom UK.

RE: [IRA] New register allocator question

2009-01-02 Thread Bingfeng Mei
, BXBC_REGS, LIM_REG_CLASSES \ } > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > Behalf Of Bingfeng Mei > Sent: 02 January 2009 11:50 > To: gcc@gcc.gnu.org > Cc: Vladimir Makarov > Subject: [IRA] New register allocator que

Document error on TARGET_ASM_NAMED_SECTION ?

2009-01-22 Thread Bingfeng Mei
on (const char *name, unsigned int flags, tree decl ATTRIBUTE_UNUSED) Is it an error or do I miss something? Cheers, Bingfeng Mei

Solve transitive closure issue in modulo scheduling

2009-01-30 Thread Bingfeng Mei
ver write quadratic algorithm" :-) Is this an absolute requirement? If yes, I will keep it as our target-specific code (we are less concerned about compilation time). Otherwise, I will try to make it more generic to see if it can make into mainline in 4.5. Any comments? Cheers, Bingfeng Mei Broadcom UK

Difference between vec_shl_ and ashl3

2009-02-10 Thread Bingfeng Mei
uot;gr_register_operand" "") (lshiftrt:DI (match_operand:VECINT 1 "gr_register_operand" "") (match_operand:DI 2 "gr_reg_or_6bit_operand" "")))] "" { operands[0] = gen_lowpart (DImode, operands[0]); operands[1] = gen_lowpart (DImode, operands[1]); }) Cheers, Bingfeng Mei Broadcom UK

RE: Difference between vec_shl_ and ashl3

2009-02-10 Thread Bingfeng Mei
ecial names? Bingfeng > -Original Message- > From: Ian Lance Taylor [mailto:i...@google.com] > Sent: 10 February 2009 14:31 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Difference between vec_shl_ and > ashl3 > > "Bingfeng Mei" writes:

Native support for vector shift

2009-02-24 Thread Bingfeng Mei
e may argue it breaks the C language. But vector is a GCC extension anyway. Support for vector add/sub/etc already break C syntax. Any thought? Sorry if this issue had been raised in past. Greetings, Bingfeng Mei Broadcom UK

RE: Instrument gcc

2009-02-24 Thread Bingfeng Mei
Did you compile with -O0? A function may be inlined and a symbol may be optimized away with -O1 and above. Bingfeng > -Original Message- > From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > Behalf Of Vincent R. > Sent: 24 February 2009 15:38 > To: gcc@gcc.gnu.org > Subjec

RE: Native support for vector shift

2009-02-24 Thread Bingfeng Mei
; short b; c = a + b; Instead of using c = a + (V4H){b, b, b, b}; This can be useful. > -Original Message- > From: Joseph Myers [mailto:jos...@codesourcery.com] > Sent: 24 February 2009 18:52 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Native support for ve

RE: Native support for vector shift

2009-02-24 Thread Bingfeng Mei
; From: Michael Meissner [mailto:meiss...@linux.vnet.ibm.com] > Sent: 24 February 2009 21:07 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Native support for vector shift > > On Tue, Feb 24, 2009 at 06:15:37AM -0800, Bingfeng Mei wrote: > > Hello, > > For the

Why are these two functions compiled differently?

2009-03-03 Thread Bingfeng Mei
first case. Cheers, Bingfeng Mei Broadcom UK #define A 255 int tst1(short a, short b){ if(a > (b - A)) return 0; else return 1; } int tst2(short a, short b){ short c = b - A; if(a > c) return 0; else return 1; } .final_cleanup ;; Function tst1 (tst1)

RE: Why are these two functions compiled differently?

2009-03-03 Thread Bingfeng Mei
ot;,@progbits > -Original Message- > From: Richard Guenther [mailto:richard.guent...@gmail.com] > Sent: 03 March 2009 15:16 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org; John Redford > Subject: Re: Why are these two functions compiled differently? > > On Tue, Mar 3, 200

Is const_int zero extended or sign-extended?

2009-03-12 Thread Bingfeng Mei
(reg:DI 95) (const_int -7 [0xfff9])) Thanks, Bingfeng Mei

Understand BLKmode and returning structure in register.

2009-03-13 Thread Bingfeng Mei
not really do that. Any suggestion? Thanks, Bingfeng Mei Broadcom UK

RE: Understand BLKmode and returning structure in register.

2009-03-13 Thread Bingfeng Mei
gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On > Behalf Of Bingfeng Mei > Sent: 13 March 2009 16:35 > To: gcc@gcc.gnu.org > Cc: Adrian Ashley > Subject: Understand BLKmode and returning structure in register. > > Hello, > I came across an issue regarding BLKmode

Typo or intended?

2009-03-16 Thread Bingfeng Mei
imizing levels. If I change it to (optimize < 1), everthing is fine as before. I start to wonder whether (optimize <= 1) is a typo or intended. Thanks in advance. Cheers, Bingfeng Mei Broadcom UK if ((! flag_caller_saves && ALLOCNO_CALLS_CROSSED_NUM (a) != 0) /* For

RE: Understand BLKmode and returning structure in register.

2009-03-17 Thread Bingfeng Mei
Original Message- > From: Richard Sandiford [mailto:rdsandif...@googlemail.com] > Sent: 16 March 2009 22:14 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org; Adrian Ashley > Subject: Re: Understand BLKmode and returning structure in register. > > "Bingfeng Mei" writes: &

RE: Is const_int zero extended or sign-extended?

2009-03-17 Thread Bingfeng Mei
009 17:53 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Is const_int zero extended or sign-extended? > > Bingfeng Mei wrote: > > Hello, I am confused by one very basic concept :). In the > following rtx > > expression, if const_int is 32-bit and DImode is

RE: Typo or intended?

2009-03-24 Thread Bingfeng Mei
March 2009 19:40 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: Typo or intended? > > Bingfeng Mei wrote: > > Hello, > > I just updated our porting to include last 2-3 weeks of GCC > developments. I noticed a large number of test failures at > -O1 that use a

gcc99 inlining rules

2009-03-31 Thread Bingfeng Mei
t about statics above applies here, too. * A function defined "static inline". A local definition may be emitted if required. You can have multiple definitions in your program, in different translation units, and it will still work. This is the same as the GNU C rules. Cheers, Bingfeng Mei

RE: gcc99 inlining rules

2009-03-31 Thread Bingfeng Mei
ilto:richard.guent...@gmail.com] > Sent: 31 March 2009 15:32 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org > Subject: Re: gcc99 inlining rules > > On Tue, Mar 31, 2009 at 4:24 PM, Bingfeng Mei > wrote: > > Hello, > > I found the following code doesn't compile

  1   2   3   >