Hi,
I'm looking at gcc-nios2 options -march.
It seems two instruction sets can be selected (r1/r2) but I cannot find out
where theses instructions set are described.
On the other end I found this document
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/nios2/n2cpu_n
Hi,
I encountered a problem on test 'gcc.c-torture/execute/loop-7.c' (gcc4.7.3) on
my private port during test case "-O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects"
Here is the tested code :
void foo (unsigned int n)
{
int i, j = -1;
for (i = 0; i < 10 && j < 0; i++)
{
if ((
Hi,
On my private port, I'm unable to debug an ICE on GCC4.7.3 (GNAT 7.1.2) during
the internal test testsuite/gnat.dg/array18.adb.
Here is the test source code:
-
with Array18_Pkg; use Array18_Pkg;
procedure Array18 is
A : String (1 .. 1);
begin
A := F;
end;
-
context RM size
RM min RM max
chain >
chain > context
chain >
There are also differenced in the gnu_result_type I cannot explain ...
-Message d'origine-
De : Eric Botcazou [mailto:ebotca...@adacore.com]
Envoyé : vendredi 6 juin 2014 00:00
À : BEL
(TREE_CODE (TREE_TYPE (gnu_target)) == RECORD_TYPE
&& TREE_CODE (TYPE_SIZE (TREE_TYPE (gnu_target))) == INTEGER_CST)
-Message d'origine-
De : gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] De la part de Eric
Botcazou
Envoyé : vendredi 6 juin 2014 10:20
À : BELBACHIR
Hi,
I've noticed that Constraint_error warning produced by
gcc/testsuite/gnat.dg/div_no_warning.adb disappears if the target runtime
contains :
"Configurable_Run_Time : constant Boolean := False;"
* x86 native gnat contains Configurable_Run_Time := False ==> no warning
* Cross gnat port w
Hi,
I'm working on a private port of GCC 4.7.3/GNAT 7.1.2.
Calls to ADA 'new' operator generates implicit gnat_malloc(size) calls (which
has to be provided by user program or runtime).
In my macro INIT_CUMULATIVE_ARGS I noticed that gnat_malloc(size) calls are
seen as vararg function because t
Hi,
I have more info concerning my gnat_malloc problem.
I watched the code in gcc/ada/gcc-interface/trans.c and found the location
where malloc_decl tree is built.
In gigi ()function (trans.c:411), the ftype for malloc_decl is done this way :
ftype = build_function_type_list (ptr_void_type_no
Hi,
In gcc 4.7.3 I found a bug in the testsuite script g++.dg/lto/lto.exp when a
target does not support LTO (ENABLE_LTO not defined)
The following lines :
if { ![check_effective_target_lto] } {
return
}
Should be called before :
g++_init
lto_init n
Hi,
I may have found a bug when I was trying to port my private backend to new LRA
pass (using gcc 4.9.2+patches).
In lra-constraints.c, in function simple_move_p, the target hook
targetm.register_move_cost is called with two badly swapped parameters :
targetm.register_move_cost (GET_M
Hi,
I'm still working on a private backend on gcc 4.9.2. My processor provides
instructions with 2 delay slots. I'm well aware that this feature is very
uncommon and not fully tested. Nevertheless I submit the problem and the
solution I've found.
The bug is located in the function try_merge_de
Me again :)
I enhanced my patch because it was not generalized for instructions with N
delay_slots.
Selim
try_merge_patch2
Description: try_merge_patch2
t.com]
Envoyé : vendredi 17 avril 2015 18:41
À : BELBACHIR Selim; gcc@gcc.gnu.org
Objet : Re: try_merge_delay_insn with delay list > 1
On 03/10/2015 07:40 AM, BELBACHIR Selim wrote:
> Me again :)
>
> I enhanced my patch because it was not generalized for instructions with N
> delay
Great, I'll read more closely formatting rules next time I'll submit something.
Regards,
Selim
-Message d'origine-
De : Jeff Law [mailto:l...@redhat.com]
Envoyé : lundi 20 avril 2015 19:47
À : BELBACHIR Selim; gcc@gcc.gnu.org
Objet : Re: try_merge_delay_insn with delay
Hi,
I'm writing a backend for gcc3.4.6 and I'm a bit confused about reload passes.
-> my constraints :
'b' = arithmetic/logical unit register ($R, class R_REGS)
'c' = counter register ($C, class C_REGS)
'v' = memory with several special constraint (also described in predicate
my_mem_or_reg_op
3 for all valid
moves (C_REGS <-> R_REGS).
Is there a way to prevent totally the allocation of a hard register in specific
context using 'costs'?
-Message d'origine-
De : Ian Lance Taylor [mailto:i...@google.com]
Envoyé : mercredi 14 septembre 2011 15:40
À : BELBA
further hints :
The immediate which gcc wants to move in R_REGS is a (const_int 8) as described
in the error message below :
arithmetic.c:197: error: insn does not satisfy its constraints:
(insn 1505 903 1506 0 (set (reg:SI 25 $R9)
(const_int 8 [0x8])) 0 {movsi_in
Hello,
I'm trying to express the instruction latency time constraints of a private
processor.
* Overview :
Two cycles are necessary between a comparison instruction and a conditionnal
jump instruction (GSR is updated 2 cycles after comparison).
If nothing better than 'nop' can be used betwee
Hi,
My target has arithmetic instruction whose operands can ONLY be memory
(offseted, post/pre inc, ...).
For example 'add' can only have a memory operand as its first operand :
add mem($C1), $C2, $C3
I tried to simply write the addsi3 pattern with using memory_operand as
predicate for oper
Hi,
Is it possible to compile a gnat cross compiler based on gcc 4.5.2
using my pre-installed gnat native compiler based on gcc 3.4.6 ? Or should I
try to build my own local native compiler based on gcc 4.5.2 ?
I ask the question because for the moment, I'm stuck with the following erro
Hi,
I'm trying to build a gnat cross compiler based on gcc 4.5.2 for my private
target (named prism). To do this, I'm using a native gnat-6.4.2 (containing gcc
4.5.2).
I want the minimal amount of lib and runtime so I presume that I nearly only
need to provide 'system.ads'. (I will add seconda
Hi,
I'm trying to define the standard pattern maddsidi4. To do this I wrote this in
my backend (gcc4.5.2) :
(define_insn "maddsidi4"
[(set (match_operand:DI 0 "register_operand" "=a")
(plus:DI
(mult:DI
(sign_extend:DI (match_operand:SI 1 "
Hi,
I'm still working on a new gcc-4.5.2 backend for a private processor.
I encountered a strange behavior and I'm unable to find what causes this
behavior.
As an overview, it seems that dse2 pass removes insn where it should not (optim
-O2, -O3)
Here is the code giving me headachs which return
mb ? I don't know ...
Selim
-Message d'origine-
De : gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] De la part de Andrew
Haley
Envoyé : vendredi 9 décembre 2011 18:37
À : gcc@gcc.gnu.org
Objet : Re: dse2 remove wrong insn
On 12/09/2011 03:05 PM, BELBACHIR Selim wrote:
&
Hi,
I'd like to know if there a way to express 'add' and 'compare' insn so that the
combiner transform it in and 'add_and_compare' insn.
I watch arm backend and it seems possible when I look at 'addsi3', 'cbranchsi4'
and '*addsi3_compare0'.
In my backend I have written the following insn/expan
ded one (with a
clobbered result because I have no cmp_plus instruction), everything run ok. I
watched in arm backend and I found a similar insn... So the solution was in
front of me but I did not see it :)
Selim
-Message d'origine-
De : gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@g
Hi,
I'm still developping a new private target backend (gcc4.5.2) and I noticed
something strange in the assembler generated for conditionnal jump.
The compiled C code source is :
void funct (int c) {
int a;
a = 7;
if (c < 0)
a = 4;
return a;
}
The assembler generated i
Hi,
I'm trying to support an 'in' instruction which reads a value on a peripheral
and writes it into a $INP register.
The $INP register can be used in almost every insn as input operand (add, sub,
mul ...).
I defined a builting to access the 'in' instruction.
How should I express to gcc that th
pass without
turning them into fixed register ?
Selim
-Message d'origine-
De : Ian Lance Taylor [mailto:i...@google.com]
Envoyé : jeudi 19 janvier 2012 00:17
À : BELBACHIR Selim
Cc : gcc@gcc.gnu.org
Objet : Re: readonly register
BELBACHIR Selim writes:
> I'm trying to s
Hi,
I'm (still) working on a new gcc-4.5.2 backend for a private processor.
Today i'm concerned about the debug mode using DWARF2.
Here is my problem:
When I use GDB on a executable compiled with -g option I notice that the
addresses of all my local variables are wrong.
I read gccint doc and tri
Hi,
I'm porting gcc 4.5.2 on a private processor.
I encountered a problem concerning delay slots of conditionnal branch
instructions (Note : the processor has no 'annuled jump strategy')
Here is my delay slot definition :
(define_delay (eq_attr "type" "jump")
[(and (eq_attr "delaya
> Does this happen systematically with the compare insn or is it isolated?
I encountered this problem only once in gcc testsuite
(gcc.c-torture/execute/builtins/strncat-chk.c).
I think the problem is quite rare because gcc does not put often a parallel
compare insn into the delay slot of a cond
> I have a gcc 4.6.1 port that has the same sort of problems. I tried
> selectively porting some patches from later 4.6 releases, but they didn't
> seem to actually address the issue. I haven't looked at the trunk to see if
> there are patches that are more apropos.
I looked at the revision
ginning of the target path.
Let's hope this correction does not hide another problem by just applying a
side effect on my specific test case :)
Regards,
Selim
-Message d'origine-
De : Jeff Law [mailto:l...@redhat.com]
Envoyé : vendredi 11 octobre 2013 22:34
À : BELBACHIR Sel
Hi,
I'm migrating my private port from gcc 4.5.2 to gcc 4.7.3. I noticed that
-fomit-frame-pointer was not triggered when using -O1 -O2 or -O3.
Could you indicate me how to modify my port to use -fomit-frame-pointer by
default (as it was in gcc 4.5.2 I presume) ?
Regards,
Selim
Hi,
I'm trying to migrate from gcc4.5.2 to gcc4.7.3.
Here are a part of my makefile to build gcc (same config used with gcc4.5.2 and
gcc4.7.3) :
cd $(GCC_OBJDIR); CFLAGS="-g -O0" $(GCC_SRCDIR)/configure
-quiet
--prefix=$(INSTALLDIR)
--target=$(TARGET)
--enab
Thx that's what I was looking for :) I forgot the new gcc/common/config part ...
-Message d'origine-
De : Joseph Myers [mailto:jos...@codesourcery.com]
Envoyé : mercredi 20 novembre 2013 17:41
À : BELBACHIR Selim
Cc : gcc@gcc.gnu.org
Objet : Re: how to use -fomit-frame-
I did this in order to build gcc, libgcc and libstdc++ independently.
when I do the simple integrated build process (following
http://gcc.gnu.org/install) :
cd $(GCC_OBJDIR); CFLAGS="-g -O0" $(GCC_SRCDIR)/configure
-quiet
--prefix=$(INSTALLDIR)
--target=$(TARGET)
Hi,
I encountered a bug in cselib.c:2360 using gnat7.1.2 (gcc4.7.3)
/* The register should have been invalidated. */
gcc_assert (REG_VALUES (dreg)->elt == 0);<<==
assert(false)
I investigated the dump and found that the crash occurred during 207r.dse2 pass.
>>
>> So, to build libgcc I would need --without-header to compensate for my small
>> libc, and to build libstdc++ I would have to use --with-header in order to
>> provide stdio.h ...
>>
>>
>> Do you know a better way to solve that than building gcc, libgcc & libstdc++
>> independently ?
> W
Ok so I should avoid the auto_inc alternatives in PARALLEL. It's certainly a
quite rare RTL and I doubt the effort worth it.
-Message d'origine-
De : Jeff Law [mailto:l...@redhat.com]
Envoyé : vendredi 22 novembre 2013 17:55
À : BELBACHIR Selim; gcc@gcc.gnu.org
Objet : Re: po
Hi,
I'm still porting my private backing from gcc 4.5.2 to gcc 4.7.3.
When compiling the following code with -g option, I encountered "internal
compiler error: in dwarf2out_var_location, at dwarf2out.c:20883"
void toto(int* , float);
void foo(int a, float b, int * c) {
if (b)
toto(c, b);
I found my problem totally elsewhere (sorry to bother)
I was loosing proper NOTES during a COND_EXEC((..)(CALL(..))) split ...
Selim
-Message d'origine-
De : gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] De la part de
BELBACHIR Selim
Envoyé : vendredi 29 novembre 2013 14
Hi,
My target has :
- 2 registers class to store SImode (like m68k, data $D & address $A).
- moves from wide offset MEM to $D or $A (ex: mov d($A1+50),$A2 ormov
d($A1+50),$D1)
- conditional moves from offset MEM to $D or $A but with a restriction :
offset MEM conditionally move
LRA
will be merged in 4.7.4 ?)
Thanks
Selim
-Message d'origine-
De : Jeff Law [mailto:l...@redhat.com]
Envoyé : mercredi 4 décembre 2013 18:02
À : BELBACHIR Selim; gcc@gcc.gnu.org
Objet : Re: Controling reloads of movsicc pattern
On 12/04/13 03:22, BELBACHIR Selim wrote:
> Hi,
Any gnat official release ? Maybe gnat 7.2 beta is based on 4.8, I'll try to
get this one.
-Message d'origine-
De : Andrew Pinski [mailto:pins...@gmail.com]
Envoyé : vendredi 6 décembre 2013 09:54
À : BELBACHIR Selim
Cc : Jeff Law; gcc@gcc.gnu.org
Objet : Re: Controling
Hi,
I'm playing c++ testsuite on my gcc.4.7.3 port and I encounter the following
result on test auto27.C
PASS: g++.dg/cpp0x/auto27.C -std=c++98 std (test for errors, line 3)
PASS: g++.dg/cpp0x/auto27.C -std=c++98 auto (test for errors, line 3)
PASS: g++.dg/cpp0x/auto27.C -std=c++98 no type (test
3)
FAIL: g++.dg/cpp0x/auto27.C -std=c++11 no type (test for errors, line 3)
PASS: g++.dg/cpp0x/auto27.C -std=c++11 (test for excess errors)
-Message d'origine-
De : Joseph Myers [mailto:jos...@codesourcery.com]
Envoyé : mardi 10 décembre 2013 18:22
À : BELBACHIR Selim
Cc : gcc@gc
the same way.
I'll try to investigate further (tcl is a pain for me :) )
Selim
-Message d'origine-
De : Joseph Myers [mailto:jos...@codesourcery.com]
Envoyé : mardi 10 décembre 2013 18:57
À : BELBACHIR Selim
Cc : gcc@gcc.gnu.org
Objet : RE: cpp0x test suite PASS/FAIL
On Tue,
s far as
it is the last compiler flag.
Answer : (a) bug in the test harness code
Am I right ?
Selim
-Message d'origine-
De : Joseph Myers [mailto:jos...@codesourcery.com]
Envoyé : mardi 10 décembre 2013 18:57
À : BELBACHIR Selim
Cc : gcc@gcc.gnu.org
Objet : RE: cpp0x test suite PA
Hi,
When the standard pattern 'sqrtm2' is defined I don't understand why calls to
sqrt or __builtin_sqrt is always followed by a comparison of the result with
itself (checking the NaN ?) and a conditional branch to sqrt symbol (so linking
with libm is always mandatory).
---
Hi,
I noticed a problem in gcc/testsuite/g++.dg/lto/lto.exp
If the target does not support LTO (check_effective_target_lto) a brutal return
is performed so the mathlib variable modified in lto_init will not be restored
properly by lto_finish at the end of the script.
Subsequent testsuites will
Hi,
I think I found a bug in gcc 4.7.3 in gcc/caller-save.c at line 158 :
gcc_assert (cached_reg_save_code[reg][mode]);
should be :
gcc_assert (cached_reg_save_code[reg][mode] != -1);
because cached_reg_save_code contains INSN_CODES that can be equal to 0 (see
attached patch)
In
Hi,
I'm working on an architecture where the calling convention depends on the type
of the parameter (i.e. pointers are passed into $C regs and non-pointers are
passed into $R regs). I've implemented this difference by using the
POINTER_TYPE_P() macro on the 'type' argument of the FUNCTION_ARG
That's the only option ? Is there a more general method to do this ?
-Message d'origine-
De : amyl...@spamcop.net [mailto:amyl...@spamcop.net]
Envoyé : vendredi 4 mai 2012 15:48
À : BELBACHIR Selim
Cc : gcc@gcc.gnu.org
Objet : Re: type argument in FUNCTION_ARG macro
Quoting
Ok thanks, I'll keep on with plan B (INIT_CUMULATIVE_LIBCALL_ARGS with special
libcall handling)
Selim
-Message d'origine-
De : Ian Lance Taylor [mailto:i...@google.com]
Envoyé : vendredi 4 mai 2012 15:58
À : BELBACHIR Selim
Cc : gcc@gcc.gnu.org
Objet : Re: type a
Hi,
I'm working on a gcc/gnat port for a private target (gcc 4.5.2, gnat 6.4.2).
On this target, scalar values shall be stored in $R registers whereas pointer
values shall be stored in $C registers. My current ABI for procedure/function
calls uses $R and $C registers depending on arguments and
57 matches
Mail list logo