magic formula to
generate gimple code that causes ptr_var to point to array_var?
Is ADDR_EXPR the right way to get the address of the array instead of
the value in a gimple_build_assign call?
Steve Ellcey
sell...@imgtec.com
IC expression here:
>
> stmt = gimple_build_assing (ptr_var, build_fold_addr_expr (array_var));
>
> Richard.
>
> >
> > Steve Ellcey
> > sell...@imgtec.com
Thanks for the help Richard, that worked.
Steve Ellcey
sell...@imgtec.com
ot go away in my small example program but I can't figure
out what it is setting that I am not.
Steve Ellcey
sell...@imgtec.com
BLIC (ptr_var) = 1;
DECL_EXTERNAL (ptr_var) = 1;
DECL_REGISTER (ptr_var) = 1;
DECL_HARD_REGISTER (ptr_var) = 1;
SET_DECL_ASSEMBLER_NAME (ptr_var, id);
varpool_node::finalize_decl (ptr_var);
Then the assignment to this variable is optimized away by the cse1
optimization phase.
Steve Ellcey
sell...@imgtec.com
Following up to my own email, I think I found the missing magic. I
needed to set global_regs[16] to 1. Once global_regs was set for the
register, the assignment stopped getting optimized out.
Steve Ellcey
sell...@imgtec.com
On Wed, 2015-04-22 at 12:27 -0700, Steve Ellcey wrote:
> On Wed, 2
aram value without a space in the
option? If there is I could not find it.
I tried:
export RUNTESTFLAGS='--target_board=multi-sim/--param\ foo=1'
export RUNTESTFLAGS='--target_board=multi-sim/--param/foo=1'
But neither of those worked either.
Steve Ellcey
sell...@imgtec.com
RUNTESTFLAGS='--target_board=multi-sim/--param=foo=1'
> ?
>
> Jakub
Nope, but it seems to work. That syntax is not documented in
invoke.texi. I will see about submitting a patch (or at least a
documentation bug report).
Steve Ellcey
ey do not seem to be causing any problems during the build,
they just got me curious.
Steve Ellcey
sell...@imgtec.com
y indexing.
Steve Ellcey
sell...@cavium.com
/* define N as 1000 - gets vectorized */
/* define N as 1 - gets vectorized */
/* define N as 10 - does not get vectorized */
#define N 10
typedef unsigned int TYPE;
void f(int *C, int *A, int val)
{
TYPE i,j;
h_calls (j, last_call_used_reg_set);
}
Steve Ellcey
sell...@cavium.com
I was doing some benchmarking with SPEC 2017 fprate on aarch64
(Thunderx2) and I am getting some segfaults from GCC while compiling.
I am working with delta to try and cut down one of the test cases
but I was wondering if anyone else has seen this problem. The
three tests that segfault while comp
On Wed, 2018-11-07 at 00:16 +0700, Arseny Solokha wrote:
>
> This is probably PR87889, already fixed on trunk.
Yup, that was the problem. I have updated my sources and things are
building now. Thanks for the info.
Steve Ellcey
)
If I rerun by hand and add the --rpath, etc. flags the test works but I
am not sure why the test harness did not add them itself.
Steve Ellcey
sell...@cavium.com
On Wed, 2018-11-07 at 17:39 +, Joseph Myers wrote:
> External Email
>
> On Wed, 7 Nov 2018, Steve Ellcey wrote:
>
> >
> > I have a question about the C++ library testsuite. I built and
> > installed
> > a complete toolchain with GCC, binutils, and glibc
final GCC then it works.
I looked through the patches for the last couple of weeks to see if I could
identify
what changed here but I haven't found anything. Maybe it was something in
glibc that changed.
Steve Ellcey
sell...@cavium.com
On Mon, 2018-11-26 at 22:47 +0100, Andreas Schwab wrote:
> External Email
>
> On Nov 26 2018, Steve Ellcey wrote:
>
> > I looked through the patches for the last couple of weeks to see if
> > I could identify
> > what changed here but I haven't found anyth
x27;, it matches and the test passes.
Is this intentional? It seems like if we wanted to check that it was
not tiled we sould grep for 'not tiled', not just 'tiled'. If we
want grep to see that it is tiled, then the check for tiling happening
is wrong.
Steve Ellcey
sell...@marvell.com
I have a question about PR87763, these are aarch64 specific tests
that are failing after r265398 (combine: Do not combine moves from hard
registers).
These tests are all failing when the assembler scan looks for
specific instructions and these instructions are no longer being
generated. In some c
.deepsjeng_r, and
548.exchange2_r, but none are as dramatic as 519.lbm_r. Anyone have
any idea on what ICC is doing that GCC is missing? Is GCC just not
agressive enough with its inlining?
Steve Ellcey
sell...@marvell.com
x27;. I see that
'-Ofast -ipo' resulted in everything (except libc functions) getting
inlined into the main program when using ICC. GCC did not do that, but
if I forced it to by using the always_inline attribute, GCC could
inline everything into main the way ICC does. But that did not speed
up the GCC executable.
Steve Ellcey
sell...@marvell.com
I am not sure why I am only running into this with one particular
application on my Aarch64 platform. I am building it with -fopenmp,
which could have something to do with it (though there are no simd functions in
the application). The application is not that large as C++ programs go.
St
still got a segfault). I did update my sources
though and the bug does not happen at ToT so it looks like Martin's
patch did fix my bug.
Steve Ellcey
sell...@marvell.com
Before I submit a Bugzilla report or try to cut down a test case, has any
one seen this problem when compiling the 526.blender_r benchmark from
SPEC 2017:
Compiling with '-Ofast -flto -march=native -fprofile-generate' on Aarch64:
during GIMPLE pass: vect
blender/source/blender/imbuf/intern/inde
m ./boost/intrusive/list.hpp:20,
from ./boost/fiber/context.hpp:29,
from libs/fiber/src/algo/algorithm.cpp:9:
Has anyone else run into this? I will try to create a cutdown test
case.
Steve Ellcey
sell...@marvell.com
ns.
Has anyone else seen these failures?
Steve Ellcey
sell...@marvell.com
ps,
>
> Bill
Ah, of course, thank you. I verified that this fixes my mcf failure,
gcc is still running. I already had -fno-strict-aliasing for
perlbench, I should have figured out that it could be affecting other
tests too.
Steve Ellcey
sell...@marvell.com
er (at run time) that are in a non-standard location without needing
to compile or link with special flags.
Steve Ellcey
sell...@marvell.com
Here is the patch I am trying, I use the --with-advance-toolchain option as
an absolute pathname instead of relative to /opt like IBM does and I set it
to
On Thu, 2019-10-10 at 10:49 +1030, Alan Modra wrote:
> On Wed, Oct 09, 2019 at 10:29:48PM +0000, Steve Ellcey wrote:
> > I have a question about building a toolchain that uses (at run
> > time) a
> > dynamic linker and system libraries and headers that are in a non-
> >
On Thu, 2019-10-10 at 18:41 +0200, Florian Weimer wrote:
>
> * Steve Ellcey:
>
> > I would like these used by default so I took some ideas from
> > --with-advance-toolchain and used that to automatically add these options
> > to LINK_SPEC (see attached patch). I can
NHos80CzrFt4fiXgwrFhMWDTO9Ue_lRU&m=zJmKExSapjGitHa0CdqSuR7k0QkL_7nNpzI76Y8XSLs&s=oE8dt9sjEr5MEtYG4c_pIgGtWYh2ZH3CG1jPypnGAdg&e=
>
Ah, I see. I was hoping that using --with-advance-toolchain would give
me a way to build a toolchain without needing any local/non-standard
patches.
Steve Ellcey
sell...@marvell.com
t subscribed as sell...@marvell.com
but the unsubscribe still failed. Has anyone else had this issue or have
any idea on what is going on?
Steve Ellcey
performance
win to be had here if it can be done but the alias checking needed
seems rather extensive.
Steve Ellcey
sell...@cavium.com
On Tue, 2017-03-07 at 14:45 +0100, Michael Matz wrote:
> Hi Steve,
>
> On Mon, 6 Mar 2017, Steve Ellcey wrote:
>
> >
> > I was looking at the spec 456.hmmer benchmark and this email string
> > from Jeff Law and Micheal Matz:
> >
> > https://gcc.gn
get anywhere
Steve Ellcey
sell...@cavium.com
not sure if it should be different and, if the difference is OK,
should that affect how get_ref_base_and_extent behaves, as it apparently
does.
Steve Ellcey
sell...@cavium.com
Test case, compiling with '-O2 -DFLEX' generates different code than
'-O2 -UFLEX' on aarch64 using ToT
code is buggy even if it works in one case.
>
> Richard.
Should this work if I use -fno-strict-alias? Even with that option I
get different code with a zero-sized array vs. a flexible array.
I have a patch to get_ref_base_and_extent that changes the behaviour
for zero-length arrays and I will submit it after I have tested it.
Steve Ellcey
sell...@cavium.com
or this
loop? Do I need to look at the loop header and latch and see what the
header sets and what the latch checks to identify the variable?
Steve Ellcey
sell...@cavium.com
on wrong, the implementation wrong, or my understanding
of what the documentation is saying wrong?
Steve Ellcey
sell...@cavium.com
st version would have
some performance advantage since dump_enabled_p is an inlined function,
but is that enough of a reason to do it? The second version seems like
it would look cleaner in the code where we are making these calls.
Steve Ellcey
sell...@cavium.com
x27;update the virtual phi
nodes' function. The non-virtual PHI nodes seem to be OK, it is just
the virtual ones that seem wrong after I duplicate the loop into two
consecutive loops.
Steve Ellcey
sell...@cavium.com
On Sat, 2017-05-13 at 08:18 +0200, Richard Biener wrote:
> On May 12, 2017 10:42:34 PM GMT+02:00, Steve Ellcey om> wrote:
> >
> > (Short version of this email, is there a way to recalculate/rebuild
> > virtual
> > phi nodes after modifying the CFG.)
> >
>
ear you
are looking into that. You are obviously more knowledgable about the
GCC loop infrastructure then I am so I look forward to what you come up
with.
Steve Ellcey
sell...@cavium.com
alled
when libatomic is first loaded since it is a constructor but it doesn't
seem to do anything and it isn't going to set libat_have_strexbhd as far
as I can see.
Steve Ellcey
sell...@cavium.com
On Tue, 2017-06-06 at 07:50 +0200, Florian Weimer wrote:
> * Steve Ellcey:
>
> >
> > I have a question about the use of IFUNCs in libatomic. I was
> > looking at the
> > arm implementation and in gcc/libatomic/config/linux/arm/host-
> > conf
ed in the IFUNC
resolvers instead of checking the libat_have_strexbhd variable.
Steve Ellcey
sell...@cavium.com
1.c
So I guess there are number of questions: Are these tests worth runnning?
Do they make sense with -O3 and/or -O2 -flto? If they make sense and
should be run do we need to fix GCC to clean up the failures? Or should
we continue to just ignore them?
Steve Ellcey
sell...@cavium.com
ode_for_size (INTVAL (op1), MODE_INT, 0).require (); /* This did
not work */
Steve Ellcey
sell...@cavium.com
tps://gcc.gnu.org/ml/gcc-patches/2017-09/msg00929.html
Steve Ellcey
sell...@cavium.com
know that
char_var is stored in a register whose upper bits have already been
zeroed out somehow. In my test case the only way to know that is to
know that the load byte instruction zeroed them out.
Steve Ellcey
sell...@cavium.com
tes the
pre-compiled header that I need for testing.
Is it excpected that GCC changes from creating a pch to creating an executable
when it see -Wl flags? Is there a flag that we can use to explicitly tell GCC
that we want to create a precompiled header in this instance?
Steve Ellcey
sell...@cavium.com
for -frounding-math.
Steve Ellcey
sell...@cavium.com
arch64-builtins.c
and it still does not compile. It works on the i386 side. It looks
like poly-int.h and poly-int-types.h are included by coretypes.h
and I include that header file so I don't understand why this isn't
compiling and what I am missing. Any help?
Steve Ellcey
sell...@cavium.com
code are you copying over?
>
> Thanks,
> Richard
OK, I found the is_constant member function and used that. I was
looking at the i386 code that generates calls to libmvec. Someone
here wrote vector sin/cos functions for V2DF and I want to test them
out to see if they would work with GCC/lib
_mode = TYPE_MODE (TREE_TYPE (type_in));
if (el_mode != in_mode || el_mode != DFmode)
return NULL_TREE;
if (!TYPE_VECTOR_SUBPARTS (type_out).is_constant (&n)
|| !TYPE_VECTOR_SUBPARTS (type_in).is_constant (&in_n))
return NULL_TREE;
if (n != in_n || n != 2)
return NULL_TREE;
Steve Ellcey
sell...@cavium.com
.
Steve Ellcey
sell...@cavium.com
me that is in libmvec? Or should I put
'_ZGVbN2v_sin' in libmvec and have libgomp be dependent on libmvec? Do
I need a -mveclibabi flag for GCC if there is only one vector ABI for
Aarch64? I might still want to control whether vector functions are
called while vectorizing a loop
lls (without turning off -Ofast)?
Steve Ellcey
sell...@cavium.com
On Thu, 2018-03-22 at 11:42 -0700, H.J. Lu wrote:
> On Thu, Mar 22, 2018 at 11:08 AM, Steve Ellcey
> wrote:
> >
> > I have a question about the math vector library routines in
> > libmvec.
> > If I compile a program on x86 with -Ofast, something like:
> >
[SIZE], y[SIZE];
void doit(void) { for (int i = 0; i < SIZE; i++) x[i] = sin(y[i]) + cos(y[i]); }
Which generated a sincos call, but also did not vectorize it.
Is there any way to get GCC to vectorize a loop with sincos in it?
Steve Ellcey
sell...@cavium.com
>
> Kind regards,
>
> Francesco
>
> [1] https://developer.arm.com/products/software-development-tools/hpc
> /arm-compiler-for-hpc/vector-function-abi
>
> >
> > Steve Ellcey
> > sell...@cavium.com
Thanks for publishing this Francesco, it looks like the main issue
On Wed, 2018-05-16 at 17:30 +0100, Richard Earnshaw (lists) wrote:
> On 16/05/18 17:21, Steve Ellcey wrote:
> >
> > It doesn't look like GCC has any existing mechanism for having different
> > sets of caller saved/callee saved registers depending on the function
> &
d only save the
lower half).
Does this sound like something that could be used in place of your
CLOBBER_HIGH patch?
Steve Ellcey
sell...@cavium.com
I was curious if there was any reason that REG_ALLOC_ORDER is not
defined for Aarch64. Has anyone tried this to see if it could help
performance? It is defined for many other platforms.
Steve Ellcey
sell...@cavium.com
;t
it? Or is zero special?
Steve Ellcey
sell...@cavium.com
#include
#include
#include
int main()
{
double x;
x = 0.0;
printf("%e %e %e\n", x, DBL_MIN, DBL_MAX);
printf("normal is %s\n", __builtin_isnormal(x) ? "TRUE" : "FALSE&q
uot;(x) : /* No clobbers */);
return result;
}
But a builtin would be cleaner.
Steve Ellcey
sell...@cavium.com
erence,
around 20%. 521.wrf_r was more than twice as slow when compiled with
GCC instead of ICC and 503.bwaves_r and 510.parest_r also showed
significant slowdowns when compiled with GCC vs. ICC.
Steve Ellcey
sell...@cavium.com
get_low_f64. With that change I get the
code I want/expect. I hadn't seen the __GETLOW macro in the neon
header file.
Steve Ellcey
r of bugzilla reports with examples where GCC
does not vectorize a loop. I wonder if this example is related to PR
61247.
Steve Ellcey
7;t find any mention of it in the gcc or libstdc++ mailing lists
when I looked or find any bugzilla report.
Steve Ellcey
tarted showing up on May 20th and I don't see any
bugzilla report on them. Before I try and track down what checkin caused
them and whether or not they were caused by the same checkin I thought I
would see if anyone had already done that.
Steve Ellcey
sell...@cavium.com
so I don't understand why I am getting the error in the
standard -flto case.
Does anyone have any ideas on what I should look at to understand this
problem?
I get this on a few other -flto programs, but not on all of them.
Steve Ellcey
s...@cup.hp.com
On Sat, 2011-02-26 at 18:45 +0100, Richard Guenther wrote:
> On Sat, Feb 26, 2011 at 12:22 AM, Steve Ellcey wrote:
> >
> > I am looking at an lto bug on ia64-hp-hpux11.23. If I compile
> > g++.dg/torture/pr33572.C with -flto on this platform I get:
> >
h
the use of lhd_gcc_personality.
Steve Ellcey
s...@cup.hp.com
On Tue, 2011-03-01 at 10:14 +1000, Richard Henderson wrote:
> On 03/01/2011 09:27 AM, Steve Ellcey wrote:
> > The libgcc_s on the ia64-hp-hpux* platform, at least when built using
> > the system unwind library, does not have a gcc personality function and
> > so far it has not
t so the only way
to implement __gcc_personality_v0 is to use the GCC libunwind instead of
the HP-UX system one.
Steve Ellcey
s...@cup.hp.com
On Tue, 2011-03-01 at 13:45 -0800, Ian Lance Taylor wrote:
> Steve Ellcey writes:
>
> > According to PR 20095 the reason for not implementing
> > __gcc_personality_v0 is that the HP unwind library does not implement
> > _UA_END_OF_STACK which is a GCC extension to
nts a warning message
about not understanding -rdynamic but still runs and creates an
object file. Thus the configure script thinks the HP linker does
know about the -rdynamic flag and continues to use it (resulting
in more warnings during the GCC build).
Any ideas on how to address this?
Steve Ellcey
s...@cup.hp.com
Is gcc61 running HP-UX or Linux? I haven't seen any hangs in
my hppa HP-UX testing. I don't do any hppa Linux testing.
Steve Ellcey
s...@cup.hp.com
pes, parenthesis, etc but cannot get any of them
to work. Does anyone know what this RE should look like to allow 'byte'
or 'data1' in the string? It seems to break as soon as I introduce
parenthesis anywhere in the RE.
Steve Ellcey
s...@cup.hp.com
On Tue, 2009-10-27 at 02:09 -0400, Kaveh R. GHAZI wrote:
> On Mon, 26 Oct 2009, Steve Ellcey wrote:
>
> > I have tried:
> > /* { dg-final { scan-assembler-times "(byte|data1).*?0x3.*? DW_AT_inline" 3
> > } } */
> > /* { dg-final { scan-assembler-times &quo
entical. This must be a bug in the scan-assembler-times code somewhere.
Steve Ellcey
s...@cup.hp.com
e|data1)\[^\n\]*0x3\[^\n\]*
DW_AT_inline" 3 } } */
I'll let it run tonight on my other platforms to make sure it works on
more then IA64 HP-UX before submitting it.
Steve Ellcey
s...@cup.hp.com
outputing _tcf_0 and things seem to
work better. I will do a full bootstrap on this change and if that
looks good submit a patch to gcc-patches.
Steve Ellcey
[EMAIL PROTECTED]
st to anyone who might know the profiling code to help
me with some advise about what I should look at next or about how to go
about fixing this bug.
Steve Ellcey
[EMAIL PROTECTED]
t_call_profiler
(if I am reading the x86 code correctly) but on IA64 I don't see
anything that writes to __gcov_indirect_call_callee.
There is already a defect for this bug, PR 32277, I may just add what I
have found to the PR and XFAIL the test like Richard suggested. It has
never worked on
_call_profiler to compare the actual function addresses
> the testcase works as expected.
>
> Andreas.
Does that mean you have a patch? I tried changing
__gcov_indirect_call_profiler but got nowhere.
Steve Ellcey
[EMAIL PROTECTED]
least on IA64) at
version r137631, which is the checkin for the tree level PRE rewrite that
was done back in July. That checkin mentions some known pre-* test
regressions that would happen for a while but I didn't see any mention
of vect-67.c.
Steve Ellcey
[EMAIL PROTECTED]
On Thu, 2008-10-16 at 11:29 +0200, Richard Guenther wrote:
>
> Do we have a bug for these FAILs? Maybe we should add the analysis that
> happened sofar.
>
> Richard.
I have created PR 37853.
Steve Ellcey
[EMAIL PROTECTED]
cations of doing this and that makes me a bit nervous.
Any opinions or ideas on how (or where) this problem should be fixed?
Steve Ellcey
[EMAIL PROTECTED]
th this addition to gcc/config/ia64/hpux.h:
#define DRIVER_SELF_SPECS \
"%{fopenmp:%{!static:%{!static-libgcc:-shared-libgcc}}}"
This way any program that uses libgomp will also use the shared libgcc
and the path to libgcc will be in the executable.
Steve Ellcey
s...@cup.hp.com
nd
set_got_offset_rex64 instructions and that later gets removed during
optimization but I am not sure what to do about it.
Steve Ellcey
s...@cup.hp.com
On Tue, 2009-01-27 at 12:31 +0100, Andi Kleen wrote:
> Steve Ellcey writes:
>
> > because the crt files can't handle the large code model if they aren't
> > compiled with this option.
>
> My understanding is that this would likely break old linkers which
>
uff.c not being compiled with
-mcmodel=large?
Steve Ellcey
s...@cup.hp.com
C 4.4 is the last release with Itanium1 support");
> + warned_merced_deprecated = true;
> + }
> break;
> }
> if (i == pta_size)
I will approve this patch, but it should say "Itanium1 tuning support"
or something like that. The code will run on Itanium1, just not
optimally.
Steve Ellcey
s...@cup.hp.com
, and GMP 4.1.4
and had no failures.
Steve Ellcey
s...@cup.hp.com
gned char' like it should be but I still get an error.
Why? Is there some type promotion going on under the covers?
Steve Ellcey
s...@cup.hp.com
ovide a new header file
for a given platform?
Steve Ellcey
s...@cup.hp.com
hat __INT_LEAST8_TYPE__ isn't defined.
On HP-UX 11.23 where I use "wrap" I created a hpux-stdint.h file
(like glibc-stdint.h and newlib-stdint.h) to use. I guess I need
to use this on HP-UX 11.11 too, even though I am using "provide"
instead of "wrap".
Steve Ellcey
s...@cup.hp.com
nd later. These systems may provide stdint.h. I don't have
> access to a machine with 11.31 or later.
I think all 11.23 systems should have stdint.h too. It is only 11.11 and
older systems that do not have stdint.h. I don't have any 11.00 systems
anymore but I am currently looking at 11.11.
I got your patch and will compare that with what I have and see if I can
merge the two.
Steve Ellcey
s...@cup.hp.com
emoving the sed from my build environment
(causing it to use /usr/bin/sed) or should we could change fixincl to
default to using path to find sed if the configured one can't be found?
Steve Ellcey
s...@cup.hp.com
101 - 200 of 310 matches
Mail list logo