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
; if(ptrs[0] == ptrs[1]){
> abort();
> }
> }
>
> int main(){
> foo();
> }
> [/code]
>
> --
> Best regards,
> lh_mouse
> 2016-04-21
>
> -----
> 发件人:Jonathan Wakely
> 发送日期
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
ne? I
am working on up-to-date GCC 4.8.
Thanks,
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
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
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
> -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
> -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:
>
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@
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
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
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
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
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))
understand correctly or miss something here?
Thanks,
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?
&
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
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_
> -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:
&
(mem)))
return 0;
else
return 1;
}
Is this correct?
Thanks,
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
>
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,
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
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
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
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
don't turned -ftree-vectorize on. This
is on our private port.
Thanks,
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
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]
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
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
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
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
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
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
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:
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
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
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
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
>
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
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
e for
LTO? I checked the up-to-date internal manual and found nothing.
Thanks,
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;
> > }
> -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
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
> 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
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
>
-save-temps option the bug disappear.
Thanks,
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:
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
>
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
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
>
fusing for user.
Does anyone know how other compilers, e.g., icc, handle
such issues?
Thanks for any input,
Bingfeng Mei
Broadcom UK
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
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]
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
-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
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
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:
> >
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
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
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.
> >
& ((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
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
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
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
g every element of vector or treat the vector as an
entity? Internal manual is not very clear about that.
Thanks,
Bingfeng Mei
lication? Could
we release this attribute for external use as well?
Thanks,
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
>
> 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
> &
.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
of targets supporting
doloop_end. Which among them are known to work well with modulo scheduling?
Thanks in advance.
Cheers,
Bingfeng Mei
Broadcom UK
.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
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
; 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
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")))]
"
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)
\
}
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.
, 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
on (const char *name, unsigned int flags,
tree decl ATTRIBUTE_UNUSED)
Is it an error or do I miss something?
Cheers,
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
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
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:
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
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
;
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
; 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
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)
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
(reg:DI 95)
(const_int -7 [0xfff9]))
Thanks,
Bingfeng Mei
not really do that.
Any suggestion?
Thanks,
Bingfeng Mei
Broadcom UK
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
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
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:
&
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
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
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
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 - 100 of 236 matches
Mail list logo