g for
everybody for every environment possible.
I guess this is a good think, but I personally think not!
Jim Anderson
ay not help you.
I think it will be difficult to do anything useful here until the C and C++
standards figure out how they want half-float support to work. If we do
something before then, it will probably end up incompatible with the
official solution and we will end up stuck with a mess.
Jim
intained in the sense that when it fails it is fixed to ignore source
code constructs that it doesn't support. The longer it survives in this
state, the less useful it becomes.
Jim
more appropriate links. I don't actually read
Mandarin. This is just a link I happen to know about which has good info
about the PLCT Lab.
Jim
already a production ABI before you asked for the change. And
changing a production ABI is extremely difficult. You were not the first
to complain about this, and you probably won't be the last.
Jim
n would be adding
> RISC-V style
> %pcrel_{hi,lo} modifier at assembler side. We can add another pair of
> modifier
> like %pcrel_paired_{hi,lo} to implement the behavior. Would it be a good
> idea?
>
I wouldn't recommend following the RISC-V approach for the relocation.
Jim
something on the gdb side later, like a
set riscv experimental-extensions 1
or whatever command to enable support for draft extensions.
Jim
TARGET_SCHED_* macros you can
use to control how the scheduler works.
Jim
On Wed, Sep 30, 2020 at 11:35 PM Richard Biener
wrote:
> On Wed, Sep 30, 2020 at 10:01 PM Jim Wilson wrote:
> > We have a lot of examples in gcc/testsuite/gcc.target/riscv/rvv that
> > we are using for testing the vector support.
>
> That doesn't seem to exist (but ma
s in gcc/testsuite/gcc.target/riscv/rvv that
we are using for testing the vector support.
Jim
l instructions can be
optimized away. That probably happened by accident. But we don't
have support for optimizing away the useless explicit vsetvl, so it
remains.
Jim
com/a/groups.riscv.org/g/sw-dev/c/Krhw8--wmi4/m/-3IPvT7JCgAJ
Jim
a splitter creates a new
pseudo. I think there was another one I fixed around the same time
that failed for a different reason, but don't have time to look for
it.
Jim
might get better results if you eliminated as
many of the unspecs as you can.
You might want to check TARGET_MODES_TIEABLE_P though this is mostly
about casts and moves not register allocation.
Jim
in. A web search suggested that there
was some security problem with 2K bit keys and apparently they are
trying to force people to upgrade, but the inconsistent approach here
between different packages makes this confusing as to what is actually
going on.
Jim
e what is going wrong. The function is likely called many
times, so you might need to figure out which call is the failing one
first and only step through that one.
Jim
On Thu, Apr 16, 2020 at 7:28 PM Sasha Krassovsky wrote:
> @Jim I saw you were from SiFive - I noticed that modifying the costs for
> integer multiplies in the riscv_tune_info structs didn’t affect the generated
> code. Could this be why?
rtx_costs is used for instruction select
ned. I would
suggest stepping through the cost calculation code in a debugger to
see what is happening.
Jim
nd MTAs in the world.
Jim
look at your patch. I'm a
little surprised that you can't support alignof on a vector type, I
would think that depends on the base type for the vector, but maybe
this is a difference between SVE and RVV, or maybe I just haven't
gotten far enough to find the problem yet. Otherwise it looks like
this would also work for the RVV support.
Jim
E where the size of types depends on the
hardware you are running on, and those sizes can change at run-time,
where they can be different from one loop iteration to the next.
Jim
I was pointed at
https://bugs.llvm.org/show_bug.cgi?id=26462
for the LLVM discussion of this problem.
Another issue here is that we should have ABI testing for atomic.
For instance, gcc/testsuite/gcc.dg/compat has no atomic testcases.
Likewise g++.dg/compat.
Jim
nd we probably need to fix one of the
compilers to match the other one, as we should not have ABI
incompatibilities like this between gcc and clang.
The original RISC-V bug report is at
https://github.com/riscv/riscv-elf-psabi-doc/pull/112
There is a pointer to a gist with a larger testcase with RISC-V results.
Jim
struct in
riscv.c, which will also automatically save and restore the variable.
Jim
esponse. They mentioned that there is also a gentoo group that I
didn't know about, and want to know why exactly we want to deprecate
it. I can discuss it with them.
Jim
was
willing to do for IA-64. There are so many checks in the qsort compare
functions that I don't think you can get a stable sort there. I think
this is really a sel-sched problem not an IA-64 problem, but the IA-64
port is tied to sel-sched and may not work well without it. Most other
ports aren't using it by default.
Jim
* lib/remote.exp (standard_wait): Append any trailing characters
to $output that may be still in $expect_out(buffer) when eof is
matched. Remove arbitrary limitation in the ".+" matching case,
similar to the change to local_exec on 2016-02-17.
Jim
e to be separate
patterns. But once you have the basic smin/smax patterns, combine can
create the sign_extend/whatever versions for you. See for instance
how the addsi3 and addsi3_extend* patterns work.
Jim
ltiple
instructions and using that instead of the -msave-restore option. I
don't know if anyone has tried this yet, but it would be an interesting
experiment that might result in smaller code size.
Jim
As global pointers they may still alias.
Jim
nger alias each other, and the compiler will schedule all
of the loads first, even for char.
Jim
ing qmtest, but I
don't know the current status. I do see that there is still a
qmtest-g++ makefile rule for running the G++ testsuite via qmtest
though. You could try that and see if it still works.
There is so much stuff that depends on dejagnu that replacing it will be
difficult.
Jim
t have
obvious patches to enable them.
Jim
gcc/xgcc -B../stage1-build/gcc/
-v test.c" and looking at the cc1 line will show you the options you
need to pass to cc1 to make it work.
Jim
[] __stuffdata key_value = ...
...
.key = key_value
Jim
mbols, but is a potential
solution to your problem.
Jim
elated regnotes too. If this is not an epilogue register restore
instruction, then you need to figure out why it was marked as frame
related, and figure out what should have been done instead.
Jim
ilable. There
may be better references available now, as these techniques are pretty
widely known nowadays
Jim
d_branch_until_zero, since I think the same rule applies
that they only get generated if the doloop_end pattern exists.
Jim
terns instead, and the doc references should be
dropped.
Jim
work) you
could put it on a branch, and mention the branch name as unfinished
work in a bug report.
Jim
ve a look at:
> https://sourceware.org/bugzilla/show_bug.cgi?id=23244
> https://sourceware.org/ml/binutils/2018-05/msg00296.html
OK. I'm still catching up on mailing lists after the US holiday weekend.
Jim
doesn't
seem to be triggering for this testcase.
Jim
_info (foo);
return 0;
}
and compiling with -mcmodel=medany -O -Ttext=0x8000, I get
8158: 8097auipc ra,0x8
815c: ea8080e7jalr-344(ra) # 0
<_start-0x8000>
for the weak call. It isn't clear what you are doing differently.
Jim
uld consider it. You can of course define your own set of multilibs.
Jim
On 05/02/2018 10:21 AM, Damian Rouson wrote:
Could someone please point me to instructions for how to submit a change to the
gfortran changes list? I’d like to add the following bullet:
See also
https://gcc.gnu.org/contribute.html#webchanges
Jim
former and
another person doing another port choosing the latter.
Those are all of the Linux specific ones I can remember at the moment.
I might have missed some.
Jim
me you contribute a patch.
Jim
h can help you with this as the rules for gcc are the same as for
glibc.
Jim
x target. If you want to use musl, you
must include musl in the target triplet that you configure for. See the
gcc/config.gcc file, and look at the places where it checks the target
triplet for musl to enable musl support.
Jim
o configure gcc is something like
mkdir build
cd build
../gcc/configure
Jim
his is now
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82981
I found a helpful thread at
https://www.linux-mips.org/archives/linux-mips/2017-08/msg00041.html
that had enough info for me to reproduce and file the bug report.
Jim
On Mon, Nov 6, 2017 at 6:39 PM, Palmer Dabbelt wrote:
>
> +riscv port Jim Wilson
>
>
It is jimw not jim for the email address. Please fix.
Jim
ing unused functions.
Do these options affect the code generation?
Jeff answered this.
Jim
e time to document them
all, or even remember them all. Personally, I think you are better off
trying to fix the application to make it more portable. Fixing the
compiler is not a magic solution to the problem that is any easier than
fixing the application.
Jim
e, e.g. you can add some code to verify
that type sizes are what you expect at compile-time.
Jim
ever fully fleshed out. See for instance the
libatomic/config/x86/init.c file. Finishing this means someone has to
figure out how to use the arm cpuid equivalent to set the two variables
appropriately.
Jim
.
See for instance the thread
https://gcc.gnu.org/ml/gcc/2016-07/msg00117.html
The first message in the thread from Andrew Pinski mentions that the log
output is corrupted from apparent buffer overflow.
Jim
On 03/17/2017 04:12 PM, Jim Wilson wrote:
I have access to a fast box that isn't otherwise in use at the moment so
I'm taking a look. r246225 builds OK. r246226 does not. So it is
Bernd's combine patch. A little experimenting shows that the compare
difference is triggere
stage3. Otherwise stage2 and stage3 generate identical code.
The bug is apparently due to a problem with handling debug insns in the
combine patch.
Jim
, system
administration, backups, and updating the websites.
There was also a suggestion of funding travel for speakers at the GNU
Cauldron, for people who might not be able to afford the travel otherwise.
Jim
Thank you everyone who replied to this; all of the points raised are
very reasonable so I won't reply individually. I'll feed this
information back to our standards group.
would
provide patches for the tests.
One of the reasons for asking is that we'd like to remove any barriers
to adoption of our new standard by GCC; in particular, trying to
determine if the new standard not being LGPL or similar would be a problem.
Thanks for any advice you can o
write
still in progress. I pointed out all of the obvious stuff, features
dropped long ago, references to out-of-date standards, missing ISO C
2011 features, etc.
Jim
ly caused when libgcc was moved out of the
gcc dir and into its own top level dir. I think this warrants a gcc bug
report.
Jim
or maybe unique within its scope if function
local. If the name was unique, you probably wouldn't have used the ugly
stabs trick in the first place, so this might not work. If the symbol
names aren't unique, maybe you can change the code to make them unique?
Using an equivalence gives th
rns in the
aarch64.md file, and the aarch64_get_lane* patterns in the
aarch64-simd.md file.
Jim
one more question ,i do have defined the TARGET_PROMOTE_FUNCTION_MODE
> (arm.c) and cross compilling for aarch64 ,but still gcc calls
> default_promote_function_node i.e
Add it to aarch64.c instead of arm.c. arm.c is for 32-bit arm code.
aarch64.c is for 64-bit arm code.
Jim
compiled with other compilers (e.g. LLVM),
because changing TARGET_PROMOTE_FUNCTION_MODE can cause ABI changes. You
may need to check that also.
Jim
ge
code base using two compilers, one with extendqihi2 and one without,
and check to see if there are any code generation differences.
Jim
e in a define_expand. Though we could have
expand_twoval_binop implement the libgcc udivmoddi4 API which requires
a stack temp, and then add an ARM divmod expander that implements the
ARM API which has a double-wide result. That sounds like it could
work.
Jim
On Sun, Jan 31, 2016 at 8:43 PM, Jim Wilson wrote:
>> Are we certain that the libcall is a win for any target?
>> I would have expected a default of
>> q = x / y
>> r = x - (q * y)
>> to be most efficient on modern machines. Even more so on targets
On Sun, Jan 31, 2016 at 2:15 PM, Richard Henderson wrote:
> On 01/29/2016 12:37 AM, Richard Biener wrote:
>>>
>>> To workaround this, I defined a new hook expand_divmod_libfunc, which
>>> targets must override for expanding call to target-specific dimovd.
>>> The "default" hook default_expand_divm
h div and mod results, then calling the divmod
libfunc is faster than calling both the div and mod libfuncs.
Jim
On Tue, Jan 12, 2016 at 2:22 PM, Jim Wilson wrote:
> I see a number of places in tree-vect-generic.c that add a
> VIEW_CONVERT_EXPR if useless_type_convertsion_p is false. That should
> work, except when I try this, I see that the VIEW_CONVERT_EXPR gets
> converted to a
ONVERSION instead of STRIP_NOPS? That seems to
work, but I don't know if that will have cascading effects.
Or maybe verify_gimple should allow bools and ints to mix in a
constructor? That doesn't seem like the right solution to me.
Jim
On Tue, Sep 15, 2015 at 8:53 AM, Ulrich Weigand wrote:
> Jim Wilson wrote:
> In that case, you might be able to fix the bug by splitting the
> offending insns into two patterns, one only handling near mems
> and one handling one far mems, where the near/far-ness of the mem
> is
ity testing here, besides the question
of whether the address can be reloaded, there is the question of
whether it is in the right address space. Though I don't think the
rl78 is actually using address spaces, and it isn't clear if that
would help.
Jim
d at the end, that is used to generate the
constraint_reloadable_to_match_p function.
Otherwise, I think you are headed in the right direction. I would
worry a bit about whether we are making reload even more complicated
for folks. But given that we already have the concept of address
spaces, there should be some way to expose this info to reload.
Jim
ant offmemok set. Without offmemok set, it should get reloaded
into a register, as reload will use the v constraint instead.
Jim
epts mem, and we have a mem operand, then it will always assume that
the problem is with the address and reload it.
I don't think that there is an easy solution to this, but my reload
skills are a bit rusty too.
Jim
at you need to do something similar in the mips.md file to
prevent these instructions from being deleted by the peephole2 pass.
Jim
ight help.
You should try defining this to return true for the 'R' class if it
doesn't already.
Jim
is no performance or
correctness issue here.
Jim
ian instead
of big word endian. You might need extra setup instructions to create
the register pair first. Create a DI temp for the output, move the
inputs into the high/low word of the DI temp, and then you can do the
multiply on the DI tmep.
Jim
ake this work.
If you do still like combined trees, then I'd suggest putting binutils
and gcc into the same dir, instead of placing binutils into gcc, and
then add a simple Makefile that will configure, build and install
binutils and then likewise for gcc.
Jim
nymore. That is an anachronism from the old
Cygnus days. I still find it useful to drop newlib into gcc so it can
be built like the other gcc libs, but otherwise I wouldn't recommend
combining anything.
Jim
and this message contains a brief explanation of what it is supposed to
do. The explanation looks like a useful optimization, but perhaps it is
triggering in cases when it shouldn't.
Jim
, then maybe the darwin/rs6000 -mfix-and-continue support
can be merged with it somehow.
Jim
adjust alignment
> of DImode and DFmode via ADJUST_ALIGNMENT?
I see that i386-modes.def already uses ADJUST_ALIGNMENT to change the
alignment of XFmode to 4 for ilp32 code. ADJUST_ALIGNMENT should work
the same for DImode and DFmode. Did you run into a problem when you
tried it?
Jim
you may be able to find
the patch simply by looking at what gcc-4.9 is doing differently than
gcc-4.7, and mapping that back to a ChangeLog entry and a patch.
Jim
ux
target. For a cross to a bare metal target, it should be OK to run the
tests, they will just fail and disable the macros. Someone just needs
write the patches to make it work and test it. You could try submitting
a bug report if you haven't already done so.
Jim
the caller, I see that the or1k port already sets
ACCUMULATE_OUTGOING_ARGS, so there should be no stack pointer inc/dec
around a call. Only in the prologue/epilogue.
Jim
. fixsfsi and adddf3.
Jim
In case you're evaluating what compression programs to use...
This started off as a comparison of xz and lzip,
but then I added lzrip to the mix.
Sometimes it's useful to have an idea of how far from "ideal"
a compression program is. I'm not claiming to have the answer,
but merely sharing my sur
Paolo Bonzini wrote:
> On 01/03/2012 09:48 AM, Jim Meyering wrote:
>> Paolo Bonzini wrote:
>>
>>> * bootstrap.conf: Add isatty module.
>>> * gnulib: Update to latest.
>>> * lib/colorize.h: Remove argument from should_colorize.
>>> * lib/ms/colo
Ok, here is a patch which improves the example:
--- gcc/doc/extend.texi.ORIG 2011-12-20 17:35:32.236578828 -0800
+++ gcc/doc/extend.texi 2011-12-20 17:37:10.460583316 -0800
@@ -7932,7 +7932,7 @@
@smallexample
if (__builtin_expect (ptr != NULL, 1))
- error ();
+ ptr->do_something();
@e
== NULL, 0))
error ();
Apologies if I'm not reading this correctly.
-Jim
> I added Jim to the gcc group.
Thanks, Tom.
Janne Blomqvist wrote:
> On Fri, Apr 15, 2011 at 10:54, Jim Meyering wrote:
>> Janne Blomqvist wrote:
>>
>>> On Thu, Mar 24, 2011 at 18:51, Jim Meyering wrote:
>>>> Janne Blomqvist wrote:
>>>>> On Tue, Mar 8, 2011 at 19:53, Jim Meyering wro
1 - 100 of 383 matches
Mail list logo