public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/64011] New: Fail to compile pr48335-2.c on  big-endian aarch64
@ 2014-11-21  3:42 chenshanyaoboy at gmail dot com
  2014-11-27 14:40 ` [Bug target/64011] " ramana at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: chenshanyaoboy at gmail dot com @ 2014-11-21  3:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011

            Bug ID: 64011
           Summary: Fail to compile pr48335-2.c on  big-endian aarch64
           Product: gcc
           Version: 4.9.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: chenshanyaoboy at gmail dot com

example from pr48335-2.c
cat test.c

typedef short U __attribute__((may_alias, aligned (1)));

struct S
{
  _Complex float d __attribute__((aligned (8)));
};

void bar(struct S);

void f5 (int x)
{
  struct S s = { .d = 0.0f };
  ((U *)((char *) &s.d + 1))[3] = x;
  __real__ s.d *= 7.0;
  bar (s);
}

aarch64-linux-gnu-gcc -w -c -O1 test.c -mbig-endian
/tmp/cc9vId7S.s: Assembler messages:
/tmp/cc9vId7S.s:12: Error: immediate value out of range 0 to 31 at operand 3 --
`bfi w1,w0,-8,16'


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/64011] Fail to compile pr48335-2.c on  big-endian aarch64
  2014-11-21  3:42 [Bug target/64011] New: Fail to compile pr48335-2.c on big-endian aarch64 chenshanyaoboy at gmail dot com
@ 2014-11-27 14:40 ` ramana at gcc dot gnu.org
  2014-12-17 18:01 ` jiwang at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: ramana at gcc dot gnu.org @ 2014-11-27 14:40 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011

Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-11-27
                 CC|                            |ramana at gcc dot gnu.org
     Ever confirmed|0                           |1
      Known to fail|                            |5.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/64011] Fail to compile pr48335-2.c on  big-endian aarch64
  2014-11-21  3:42 [Bug target/64011] New: Fail to compile pr48335-2.c on big-endian aarch64 chenshanyaoboy at gmail dot com
  2014-11-27 14:40 ` [Bug target/64011] " ramana at gcc dot gnu.org
@ 2014-12-17 18:01 ` jiwang at gcc dot gnu.org
  2014-12-18 17:36 ` [Bug target/64011] Fail to compile pr48335-2.c on big-endian where bit insert instruction supported jiwang at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: jiwang at gcc dot gnu.org @ 2014-12-17 18:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011

Jiong Wang <jiwang at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|aarch64-linux-gnu           |aarch64-linux-gnu,
                   |                            |arm-linux-gnu
             Status|NEW                         |ASSIGNED
            Version|4.9.3                       |5.0

--- Comment #1 from Jiong Wang <jiwang at gcc dot gnu.org> ---
the same problem exist on ARM when BFI instruction available, and because there
are more strict constraint, it's actually ICE on ARM.

./cc1 -march=armv7-a -O2 big-bug.c  -nostdinc -mbig-endian

big-bug.c: In function ‘f5’:
big-bug.c:16:1: error: unrecognizable insn:
 }
 ^
(insn 8 7 9 2 (set (zero_extract:SI (subreg:SI (reg/v:SF 112 [ s+4 ]) 0)
            (const_int 16 [0x10])
            (const_int -8 [0xfffffffffffffff8]))
        (reg/v:SI 113 [ x ])) big-bug.c:13 -1
     (nil))
big-bug.c:16:1: internal compiler error: in extract_insn, at recog.c:2327
0xc704af _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
    ../../gcc/gcc/rtl-error.c:110
0xc704f0 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
    ../../gcc/gcc/rtl-error.c:118
0xc252b9 extract_insn(rtx_insn*)
    ../../gcc/gcc/recog.c:2327
0x978084 instantiate_virtual_regs_in_insn
    ../../gcc/gcc/function.c:1582
0x979461 instantiate_virtual_regs
    ../../gcc/gcc/function.c:1950
0x979534 execute
>From gcc-bugs-return-471020-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Dec 17 18:15:08 2014
Return-Path: <gcc-bugs-return-471020-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 1876 invoked by alias); 17 Dec 2014 18:15:06 -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 1704 invoked by uid 48); 17 Dec 2014 18:14:59 -0000
From: "marxin at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/64330] [5 Regression] IPA-ICF merges const exported vars that could be addressable in other TUs
Date: Wed, 17 Dec 2014 18:15:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: diagnostic
X-Bugzilla-Severity: normal
X-Bugzilla-Who: marxin at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P1
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-64330-4-zvDROeQdoG@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64330-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64330-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/msg02027.txt.bz2
Content-length: 965

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64330

--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> ---
Thank you for the missing externally visible attribute.

I've been testing following patch:

diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index b193200..0685019 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -1131,8 +1131,12 @@ sem_variable::parse (varpool_node *node, bitmap_obstack
*stack)
   tree decl = node->decl;

   bool readonly = TYPE_P (decl) ? TYPE_READONLY (decl) : TREE_READONLY (decl);
-  bool can_handle = readonly && (DECL_VIRTUAL_P (decl)
-                                || !TREE_ADDRESSABLE (decl));
+  if (!readonly)
+    return NULL;
+
+  bool can_handle = DECL_VIRTUAL_P (decl)
+                   || flag_merge_constants >= 2
+                   || (!TREE_ADDRESSABLE (decl) && !node->externally_visible);

   if (!can_handle)
     return NULL;

As soon as tests finish, I will send it to ML.

Martin
>From gcc-bugs-return-471021-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Dec 17 18:21:38 2014
Return-Path: <gcc-bugs-return-471021-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 12271 invoked by alias); 17 Dec 2014 18:21:37 -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 11999 invoked by uid 48); 17 Dec 2014 18:21:31 -0000
From: "cmang at google dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug go/61263] gccgo: fatal error: schedule: holding locks [GoSmith]
Date: Wed, 17 Dec 2014 18:21:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: go
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: cmang at google dot com
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: cmang at google dot com
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status cc resolution assigned_to
Message-ID: <bug-61263-4-7AEVZzHvhV@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61263-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61263-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/msg02028.txt.bz2
Content-length: 769

https://gcc.gnu.org/bugzilla/show_bug.cgi?ida263

Chris Manghane <cmang at google dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |cmang at google dot com
         Resolution|---                         |FIXED
           Assignee|ian at airs dot com                |cmang at google dot com

--- Comment #1 from Chris Manghane <cmang at google dot com> ---
Ran this one hundred thousand times with GOGC=0 and unmodified GOGC, could not
reproduce at all. Marking as resolved; this might have been fixed with other
various fixes to add type precision to heap.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/64011] Fail to compile pr48335-2.c on  big-endian where bit insert instruction supported
  2014-11-21  3:42 [Bug target/64011] New: Fail to compile pr48335-2.c on big-endian aarch64 chenshanyaoboy at gmail dot com
  2014-11-27 14:40 ` [Bug target/64011] " ramana at gcc dot gnu.org
  2014-12-17 18:01 ` jiwang at gcc dot gnu.org
@ 2014-12-18 17:36 ` jiwang at gcc dot gnu.org
  2015-01-16 10:15 ` jiwang at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: jiwang at gcc dot gnu.org @ 2014-12-18 17:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011

--- Comment #2 from Jiong Wang <jiwang at gcc dot gnu.org> ---
the problem is we do overflow checking at the start of store_bit_field_1, but
that only check the situation where the field lies completely outside the
register, while there do have situation where the field lies partialy in the
register, we need to adjust bitsize for this partial overflow situation in
store_bit_field_using_insv.

will send out patch after testing ok


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/64011] Fail to compile pr48335-2.c on  big-endian where bit insert instruction supported
  2014-11-21  3:42 [Bug target/64011] New: Fail to compile pr48335-2.c on big-endian aarch64 chenshanyaoboy at gmail dot com
                   ` (2 preceding siblings ...)
  2014-12-18 17:36 ` [Bug target/64011] Fail to compile pr48335-2.c on big-endian where bit insert instruction supported jiwang at gcc dot gnu.org
@ 2015-01-16 10:15 ` jiwang at gcc dot gnu.org
  2015-01-16 10:24 ` jiwang at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: jiwang at gcc dot gnu.org @ 2015-01-16 10:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011

--- Comment #3 from Jiong Wang <jiwang at gcc dot gnu.org> ---
Author: jiwang
Date: Fri Jan 16 10:14:51 2015
New Revision: 219717

URL: https://gcc.gnu.org/viewcvs?rev=219717&root=gcc&view=rev
Log:
[Patch] Warn and truncate bitsize when partial overflow happen

  PR rtl-optimization/64011
  gcc/
    * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
    there is partial overflow.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/expmed.c


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/64011] Fail to compile pr48335-2.c on  big-endian where bit insert instruction supported
  2014-11-21  3:42 [Bug target/64011] New: Fail to compile pr48335-2.c on big-endian aarch64 chenshanyaoboy at gmail dot com
                   ` (3 preceding siblings ...)
  2015-01-16 10:15 ` jiwang at gcc dot gnu.org
@ 2015-01-16 10:24 ` jiwang at gcc dot gnu.org
  2015-02-10  7:32 ` collison at gcc dot gnu.org
  2024-03-15 22:04 ` pinskia at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: jiwang at gcc dot gnu.org @ 2015-01-16 10:24 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011

Jiong Wang <jiwang at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Jiong Wang <jiwang at gcc dot gnu.org> ---
mark as fixed


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/64011] Fail to compile pr48335-2.c on  big-endian where bit insert instruction supported
  2014-11-21  3:42 [Bug target/64011] New: Fail to compile pr48335-2.c on big-endian aarch64 chenshanyaoboy at gmail dot com
                   ` (4 preceding siblings ...)
  2015-01-16 10:24 ` jiwang at gcc dot gnu.org
@ 2015-02-10  7:32 ` collison at gcc dot gnu.org
  2024-03-15 22:04 ` pinskia at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: collison at gcc dot gnu.org @ 2015-02-10  7:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011

--- Comment #5 from collison at gcc dot gnu.org ---
Author: collison
Date: Tue Feb 10 07:31:25 2015
New Revision: 220568

URL: https://gcc.gnu.org/viewcvs?rev=220568&root=gcc&view=rev
Log:
2015-02-10  Michael Collison  <michael.collison@linaro.org>

    Backport from trunk r219718.
    * expmed.c (store_bit_field_using_insv): Improve warning message.
    Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.

    2015-01-15  Jiong Wang  <jiong.wang@arm.com>

2015-02-10  Michael Collison  <michael.collison@linaro.org>

    Backport from trunk r219717.
    2015-01-15  Jiong Wang  <jiong.wang@arm.com>

    PR rtl-optimization/64011
    * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
    there is partial overflow.

Modified:
    branches/linaro/gcc-4_9-branch/gcc/ChangeLog.linaro
    branches/linaro/gcc-4_9-branch/gcc/expmed.c


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/64011] Fail to compile pr48335-2.c on  big-endian where bit insert instruction supported
  2014-11-21  3:42 [Bug target/64011] New: Fail to compile pr48335-2.c on big-endian aarch64 chenshanyaoboy at gmail dot com
                   ` (5 preceding siblings ...)
  2015-02-10  7:32 ` collison at gcc dot gnu.org
@ 2024-03-15 22:04 ` pinskia at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-15 22:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |5.0

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-03-15 22:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-21  3:42 [Bug target/64011] New: Fail to compile pr48335-2.c on big-endian aarch64 chenshanyaoboy at gmail dot com
2014-11-27 14:40 ` [Bug target/64011] " ramana at gcc dot gnu.org
2014-12-17 18:01 ` jiwang at gcc dot gnu.org
2014-12-18 17:36 ` [Bug target/64011] Fail to compile pr48335-2.c on big-endian where bit insert instruction supported jiwang at gcc dot gnu.org
2015-01-16 10:15 ` jiwang at gcc dot gnu.org
2015-01-16 10:24 ` jiwang at gcc dot gnu.org
2015-02-10  7:32 ` collison at gcc dot gnu.org
2024-03-15 22:04 ` pinskia 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).