public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/64348] New: Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC
@ 2014-12-18 8:38 amker at gcc dot gnu.org
2014-12-18 10:21 ` [Bug target/64348] [5 Regression] " rguenth at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: amker at gcc dot gnu.org @ 2014-12-18 8:38 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 6855 bytes --]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64348
Bug ID: 64348
Summary: Case scal-to-vec1.c failed on arm-linux-gnueabi with
-fPIC
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: amker at gcc dot gnu.org
Case scal-to-vec1.c failed because of ICE on arm-linux-gnueabi with -fPIC. The
compilation command line is:
./arm-none-linux-gnueabi-gcc scal-to-vec1.c -fno-diagnostics-show-caret
-fdiagnostics-color=never -O3 -S -fPIC -o ./scal-to-vec1.S -mcpu=cortex-a8/a9
-marm
Thumb mode is fine, processors like cortex-a7/a15 are fine. The ICE info is
like below:
/home/binche01/work/oban-work/src/gcc/gcc/testsuite/gcc.c-torture/execute/scal-to-vec1.c:
In function âmainâ:
/home/binche01/work/oban-work/src/gcc/gcc/testsuite/gcc.c-torture/execute/scal-to-vec1.c:86:1:
internal compiler error: in split_reg, at lra-constraints.c:4879
0xbad893 split_reg
/home/binche01/work/oban-work/src/gcc/gcc/lra-constraints.c:4879
0xbade33 split_if_necessary
/home/binche01/work/oban-work/src/gcc/gcc/lra-constraints.c:4983
0xbafb13 inherit_in_ebb
/home/binche01/work/oban-work/src/gcc/gcc/lra-constraints.c:5478
0xbb04fc lra_inheritance()
/home/binche01/work/oban-work/src/gcc/gcc/lra-constraints.c:5639
0xb9914b lra(_IO_FILE*)
/home/binche01/work/oban-work/src/gcc/gcc/lra.c:2303
0xb48738 do_reload
/home/binche01/work/oban-work/src/gcc/gcc/ira.c:5402
0xb48b0e execute
/home/binche01/work/oban-work/src/gcc/gcc/ira.c:5573
Gcc is configured as below:
--target=arm-none-linux-gnueabi
--prefix=...
--with-sysroot=...
--disable-libssp
--disable-libmudflap
--enable-checking=yes
--enable-languages=c,c++
--with-gmp=...
--with-mpfr=...
--with-mpc=...
--with-isl=...
--with-cloog=...
--disable-libgomp
--with-arch=armv7-a
It is from thread https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01448.html
File this PR for tracking.
>From gcc-bugs-return-471057-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Dec 18 09:26:48 2014
Return-Path: <gcc-bugs-return-471057-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 12668 invoked by alias); 18 Dec 2014 09:26:48 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 12644 invoked by uid 48); 18 Dec 2014 09:26:43 -0000
From: "janus at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/64244] [4.8/4.9/5 Regression] ICE at class.c:236 when using non_overridable
Date: Thu, 18 Dec 2014 09:26:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 4.9.2
X-Bugzilla-Keywords: ice-on-valid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: janus at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: janus at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-64244-4-VQaYotA1U1@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64244-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64244-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-12/txt/msg02064.txt.bz2
Content-length: 509
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64244
--- Comment #15 from janus at gcc dot gnu.org ---
(In reply to OndÅej ÄertÃk from comment #14)
> I tested it and it seems to be working! The code compiled with
> non_overridable on.
Great. Thanks for checking.
> There are run-time segfaults and array bounds mismatches in our code,
> that don't happen with ifort, so I will be slowly isolating those and
> reporting them.
That would be very helpful (please use separate PRs for those).
>From gcc-bugs-return-471058-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Dec 18 09:31:48 2014
Return-Path: <gcc-bugs-return-471058-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 15221 invoked by alias); 18 Dec 2014 09:31:48 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 15164 invoked by uid 48); 18 Dec 2014 09:31:45 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug sanitizer/64344] [5 Regression] [UBSAN] ICE with -fsanitize=float-cast-overflow [ICE in -fsanitize=float-cast-overflow]
Date: Thu, 18 Dec 2014 09:31:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: sanitizer
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: ice-on-valid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: attachments.created
Message-ID: <bug-64344-4-I0wnvf2CGd@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64344-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64344-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-12/txt/msg02065.txt.bz2
Content-length: 527
https://gcc.gnu.org/bugzilla/show_bug.cgi?idd344
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 34297
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id4297&actioníit
gcc5-pr64344.patch
Untested fix, but this is getting way too ugly. Furthermore, e.g.
void
bar (void)
{
static const int a = 0.5;
static const int b = 1e234;
}
still fails with C. Wonder what was the reason to instrument it so early,
supposedly to not miss conversions optimized away during folding, right?
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/64348] [5 Regression] Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC
2014-12-18 8:38 [Bug target/64348] New: Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC amker at gcc dot gnu.org
@ 2014-12-18 10:21 ` rguenth at gcc dot gnu.org
2014-12-20 9:21 ` amker at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-18 10:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64348
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ra
CC| |vmakarov at gcc dot gnu.org
Target Milestone|--- |5.0
Summary|Case scal-to-vec1.c failed |[5 Regression] Case
|on arm-linux-gnueabi with |scal-to-vec1.c failed on
|-fPIC |arm-linux-gnueabi with
| |-fPIC
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/64348] [5 Regression] Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC
2014-12-18 8:38 [Bug target/64348] New: Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC amker at gcc dot gnu.org
2014-12-18 10:21 ` [Bug target/64348] [5 Regression] " rguenth at gcc dot gnu.org
@ 2014-12-20 9:21 ` amker at gcc dot gnu.org
2015-01-09 6:20 ` amker at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: amker at gcc dot gnu.org @ 2014-12-20 9:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64348
--- Comment #1 from amker at gcc dot gnu.org ---
IRA made below decision:
;; a299(r989,l0) conflicts: a57(r1696,l0) a177(r130,l0) a221(r131,l0)
a63(r1714,l0) a178(r822,l0) a224(r823,l0) a69(r1713,l0) a180(r815,l0)
a227(r816,l0) a75(r1712,l0) a182(r808,l0) a230(r809,l0) a81(r1711,l0)
a184(r801,l0) a233(r802,l0) a87(r1710,l0) a186(r794,l0) a236(r795,l0)
a93(r1709,l0) a188(r787,l0) a239(r788,l0) a100(r1708,l0) a190(r128,l0)
a191(r780,l0) a247(r781,l0) a284(r126,l0) a175(r125,l0) a14(r1706,l0)
a138(r141,l0) a139(r742,l0) a141(r737,l0) a143(r732,l0) a145(r727,l0)
a147(r722,l0) a149(r717,l0) a151(r139,l0) a152(r712,l0) a105(r1695,l0)
a291(r992,l0)
;; total conflict hard regs: 0 1 12 14
;; conflict hard regs: 0 1 12 14
Spilling a100r1708 for a299r989
Assigning 2 to a299r989
With ira dump like below:
430: [sfp:SI-0x30]=r989:TI#0
432: [r1706:SI+0x4]=r989:TI#4
434: [r1706:SI+0x8]=r989:TI#8
436: [r1706:SI+0xc]=r989:TI#12
441: r0:DI=call [`__aeabi_idivmod'] argc:0
REG_UNUSED r0:SI
REG_CALL_DECL `__aeabi_idivmod'
REG_EH_REGION 0xffffffff80000000
437: r1007:SI=sign_extend(r989:TI#0)
REG_DEAD r989:TI
lra needs to split r989 between 436 and 437 with call_save_p holds. Since r989
is a register in TImode, the save/restore requires more than 2 instructions,
code in split_reg has:
if (NEXT_INSN (save) != NULL_RTX)
{
lra_assert (! call_save_p);
if (lra_dump_file != NULL)
{
fprintf
(lra_dump_file,
" Rejecting split %d->%d resulting in > 2 %s save insns:\n",
original_regno, REGNO (new_reg), call_save_p ? "call" : "");
dump_rtl_slim (lra_dump_file, save, NULL, -1, 0);
fprintf (lra_dump_file,
" ))))))))))))))))))))))))))))))))))))))))))))))))\n");
}
return false;
}
restore = emit_spill_move (false, new_reg, original_reg);
if (NEXT_INSN (restore) != NULL_RTX)
{
lra_assert (! call_save_p);
if (lra_dump_file != NULL)
{
fprintf (lra_dump_file,
" Rejecting split %d->%d "
"resulting in > 2 %s restore insns:\n",
original_regno, REGNO (new_reg), call_save_p ? "call" : "");
dump_rtl_slim (lra_dump_file, restore, NULL, -1, 0);
fprintf (lra_dump_file,
" ))))))))))))))))))))))))))))))))))))))))))))))))\n");
}
return false;
}
It assumes that number of save/restore instructions for call_save_p registers
isn't larger than 2, which apparently no true in this case for r989:TI.
This can be fixed by splitting call_save_p register even it results in more
instruction, but I am not sure if it should be fixed before this code.
Also, we don't need to save/resotre all 16 bytes of r989 here, because only 4
bytes of them is live across the call. Maybe lra can be improved for this
case, but that's another optimization issue.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/64348] [5 Regression] Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC
2014-12-18 8:38 [Bug target/64348] New: Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC amker at gcc dot gnu.org
2014-12-18 10:21 ` [Bug target/64348] [5 Regression] " rguenth at gcc dot gnu.org
2014-12-20 9:21 ` amker at gcc dot gnu.org
@ 2015-01-09 6:20 ` amker at gcc dot gnu.org
2015-01-13 10:27 ` rguenth at gcc dot gnu.org
2015-01-13 10:51 ` amker at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: amker at gcc dot gnu.org @ 2015-01-09 6:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64348
--- Comment #2 from amker at gcc dot gnu.org ---
Author: amker
Date: Fri Jan 9 06:19:32 2015
New Revision: 219375
URL: https://gcc.gnu.org/viewcvs?rev=219375&root=gcc&view=rev
Log:
2015-01-09 Kito Cheng <kito@0xlab.org>
PR rtl-optimization/64348
* lra-constraints.c (split_reg): Fix caller-save store/restore
instruction generation.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/lra-constraints.c
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/64348] [5 Regression] Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC
2014-12-18 8:38 [Bug target/64348] New: Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC amker at gcc dot gnu.org
` (2 preceding siblings ...)
2015-01-09 6:20 ` amker at gcc dot gnu.org
@ 2015-01-13 10:27 ` rguenth at gcc dot gnu.org
2015-01-13 10:51 ` amker at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-13 10:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64348
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |FIXED
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed(?)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/64348] [5 Regression] Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC
2014-12-18 8:38 [Bug target/64348] New: Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC amker at gcc dot gnu.org
` (3 preceding siblings ...)
2015-01-13 10:27 ` rguenth at gcc dot gnu.org
@ 2015-01-13 10:51 ` amker at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: amker at gcc dot gnu.org @ 2015-01-13 10:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64348
--- Comment #4 from amker at gcc dot gnu.org ---
(In reply to Richard Biener from comment #3)
> Fixed(?)
Yes, thanks!
I forgot to close it.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-01-13 10:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-18 8:38 [Bug target/64348] New: Case scal-to-vec1.c failed on arm-linux-gnueabi with -fPIC amker at gcc dot gnu.org
2014-12-18 10:21 ` [Bug target/64348] [5 Regression] " rguenth at gcc dot gnu.org
2014-12-20 9:21 ` amker at gcc dot gnu.org
2015-01-09 6:20 ` amker at gcc dot gnu.org
2015-01-13 10:27 ` rguenth at gcc dot gnu.org
2015-01-13 10:51 ` amker at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).