public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/55929] New: lra-constraints-ICE while xg++ compile libitm with -Os
@ 2013-01-10 1:52 leo at yuriev dot ru
2013-01-10 2:09 ` [Bug middle-end/55929] " pinskia at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: leo at yuriev dot ru @ 2013-01-10 1:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55929
Bug #: 55929
Summary: lra-constraints-ICE while xg++ compile libitm with -Os
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: middle-end
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: leo@yuriev.ru
libtool: compile: /sandbox/stage1/gcc/./gcc/xg++ -B/sandbox/stage1/gcc/./gcc/
-nostdinc++ -nostdinc++
-I/sandbox/stage1/gcc/x86_64-linux-gnu/libstdc++-v3/include/x86_64-linux-gnu
-I/sandbox/stage1/gcc/x86_64-linux-gnu/libstdc++-v3/include
-I/sandbox/gcc-git/libstdc++-v3/libsupc++
-I/sandbox/gcc-git/libstdc++-v3/include/backward
-I/sandbox/gcc-git/libstdc++-v3/testsuite/util
-L/sandbox/stage1/gcc/x86_64-linux-gnu/libstdc++-v3/src
-L/sandbox/stage1/gcc/x86_64-linux-gnu/libstdc++-v3/src/.libs
-B/sandbox/stage1/x86_64-linux-gnu/bin/ -B/sandbox/stage1/x86_64-linux-gnu/lib/
-isystem /sandbox/stage1/x86_64-linux-gnu/include -isystem
/sandbox/stage1/x86_64-linux-gnu/sys-include -DHAVE_CONFIG_H -I.
-I/sandbox/gcc-git/libitm -I/sandbox/gcc-git/libitm/config/linux/x86
-I/sandbox/gcc-git/libitm/config/linux -I/sandbox/gcc-git/libitm/config/x86
-I/sandbox/gcc-git/libitm/config/posix -I/sandbox/gcc-git/libitm/config/generic
-I/sandbox/gcc-git/libitm -mrtm -Wall -pthread -Werror -std=gnu++0x
-funwind-tables -fno-exceptions -fno-rtti -fabi-version=4 -Os -Wno-error -g0
-D_GNU_SOURCE -c /sandbox/gcc-git/libitm/beginend.cc -fPIC -DPIC -o beginend.o
/sandbox/gcc-git/libitm/beginend.cc: In static member function 'static uint32_t
GTM::gtm_thread::begin_transaction(uint32_t, const gtm_jmpbuf*)':
/sandbox/gcc-git/libitm/beginend.cc:346:1: error: unable to generate reloads
for:
}
^
(jump_insn 43 42 44 8 (parallel [
(set (pc)
(if_then_else (ne (unspec [
(const_int 0 [0])
] UNSPEC_XBEGIN_ABORT)
(const_int 0 [0]))
(label_ref 44)
(pc)))
(set (reg:SI 116)
(unspec_volatile:SI [
(reg:SI 116)
] UNSPECV_XBEGIN))
]) /sandbox/stage1/gcc/gcc/include/rtmintrin.h:50 1024 {xbegin_1}
(nil)
-> 44)
/sandbox/gcc-git/libitm/beginend.cc:346:1: internal compiler error: in
curr_insn_transform, at lra-constraints.c:2754
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/55929] lra-constraints-ICE while xg++ compile libitm with -Os
2013-01-10 1:52 [Bug middle-end/55929] New: lra-constraints-ICE while xg++ compile libitm with -Os leo at yuriev dot ru
@ 2013-01-10 2:09 ` pinskia at gcc dot gnu.org
2013-01-10 11:11 ` ubizjak at gmail dot com
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu.org @ 2013-01-10 2:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55929
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2013-01-10 02:09:10 UTC ---
>/sandbox/gcc-git/libitm/beginend.cc:346:1: error: unable to generate reloads
Reload would not be able handle this either as it is jump_insn.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/55929] lra-constraints-ICE while xg++ compile libitm with -Os
2013-01-10 1:52 [Bug middle-end/55929] New: lra-constraints-ICE while xg++ compile libitm with -Os leo at yuriev dot ru
2013-01-10 2:09 ` [Bug middle-end/55929] " pinskia at gcc dot gnu.org
@ 2013-01-10 11:11 ` ubizjak at gmail dot com
2013-01-10 17:31 ` ubizjak at gmail dot com
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: ubizjak at gmail dot com @ 2013-01-10 11:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55929
Uros Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2013-01-10
AssignedTo|unassigned at gcc dot |ubizjak at gmail dot com
|gnu.org |
Target Milestone|--- |4.8.0
Ever Confirmed|0 |1
--- Comment #2 from Uros Bizjak <ubizjak at gmail dot com> 2013-01-10 11:10:39 UTC ---
(In reply to comment #1)
> >/sandbox/gcc-git/libitm/beginend.cc:346:1: error: unable to generate reloads
>
> Reload would not be able handle this either as it is jump_insn.
How annoying.
In this case, we have to expand with a hard-reg temporary (%eax). I will
prepare a patch for this.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/55929] lra-constraints-ICE while xg++ compile libitm with -Os
2013-01-10 1:52 [Bug middle-end/55929] New: lra-constraints-ICE while xg++ compile libitm with -Os leo at yuriev dot ru
2013-01-10 2:09 ` [Bug middle-end/55929] " pinskia at gcc dot gnu.org
2013-01-10 11:11 ` ubizjak at gmail dot com
@ 2013-01-10 17:31 ` ubizjak at gmail dot com
2013-01-10 19:50 ` uros at gcc dot gnu.org
2013-01-10 19:52 ` [Bug target/55929] " ubizjak at gmail dot com
4 siblings, 0 replies; 6+ messages in thread
From: ubizjak at gmail dot com @ 2013-01-10 17:31 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55929
--- Comment #3 from Uros Bizjak <ubizjak at gmail dot com> 2013-01-10 17:30:36 UTC ---
Patch in testing:
Index: i386.md
===================================================================
--- i386.md (revision 195063)
+++ i386.md (working copy)
@@ -18018,7 +18018,10 @@
{
rtx label = gen_label_rtx ();
- operands[1] = force_reg (SImode, constm1_rtx);
+ /* xbegin is emitted as jump_insn, so reload won't be able
+ to reload its operand. Force the value into AX hard register. */
+ operands[1] = gen_rtx_REG (SImode, AX_REG);
+ emit_move_insn (operands[1], constm1_rtx);
emit_jump_insn (gen_xbegin_1 (operands[1], label));
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/55929] lra-constraints-ICE while xg++ compile libitm with -Os
2013-01-10 1:52 [Bug middle-end/55929] New: lra-constraints-ICE while xg++ compile libitm with -Os leo at yuriev dot ru
` (2 preceding siblings ...)
2013-01-10 17:31 ` ubizjak at gmail dot com
@ 2013-01-10 19:50 ` uros at gcc dot gnu.org
2013-01-10 19:52 ` [Bug target/55929] " ubizjak at gmail dot com
4 siblings, 0 replies; 6+ messages in thread
From: uros at gcc dot gnu.org @ 2013-01-10 19:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55929
--- Comment #4 from uros at gcc dot gnu.org 2013-01-10 19:49:34 UTC ---
Author: uros
Date: Thu Jan 10 19:49:17 2013
New Revision: 195094
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195094
Log:
PR target/55929
* config/i386/i386.md (xbegin): Use %eax as a temporary register.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.md
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/55929] lra-constraints-ICE while xg++ compile libitm with -Os
2013-01-10 1:52 [Bug middle-end/55929] New: lra-constraints-ICE while xg++ compile libitm with -Os leo at yuriev dot ru
` (3 preceding siblings ...)
2013-01-10 19:50 ` uros at gcc dot gnu.org
@ 2013-01-10 19:52 ` ubizjak at gmail dot com
4 siblings, 0 replies; 6+ messages in thread
From: ubizjak at gmail dot com @ 2013-01-10 19:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55929
Uros Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |x86
Status|ASSIGNED |RESOLVED
URL| |http://gcc.gnu.org/ml/gcc-p
| |atches/2013-01/msg00568.htm
| |l
Component|middle-end |target
Resolution| |FIXED
Severity|major |normal
--- Comment #5 from Uros Bizjak <ubizjak at gmail dot com> 2013-01-10 19:51:50 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-01-10 19:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-10 1:52 [Bug middle-end/55929] New: lra-constraints-ICE while xg++ compile libitm with -Os leo at yuriev dot ru
2013-01-10 2:09 ` [Bug middle-end/55929] " pinskia at gcc dot gnu.org
2013-01-10 11:11 ` ubizjak at gmail dot com
2013-01-10 17:31 ` ubizjak at gmail dot com
2013-01-10 19:50 ` uros at gcc dot gnu.org
2013-01-10 19:52 ` [Bug target/55929] " ubizjak at gmail dot com
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).