public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl)
@ 2015-02-02 18:03 r.ayrapetyan at samsung dot com
  2015-02-02 18:55 ` [Bug target/64905] " hjl.tools at gmail dot com
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: r.ayrapetyan at samsung dot com @ 2015-02-02 18:03 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 64905
           Summary: unsigned short is loaded with 4-byte load (movl)
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: translation
          Assignee: unassigned at gcc dot gnu.org
          Reporter: r.ayrapetyan at samsung dot com

Created attachment 34646
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34646&action=edit
Repro case source

Version, target:
  gcc version 5.0.0 20150128 (experimental)
  x86_64-unknown-linux-gnu

Issue:
  In some cases, uint16_t data element is read with 4-byte load (movl
instruction).

Repro case build string:
  gcc -g -Os \
      -ffixed-rax -ffixed-rbx -ffixed-rcx -ffixed-rdx \
      -ffixed-rdi -ffixed-rsi \
      -ffixed-r8 -ffixed-r9 -ffixed-r10 -ffixed-r11 \
      -ffixed-r12 -ffixed-r13 -ffixed-r14 -ffixed-r15 \
      unaligned_read.c -o unaligned_read

Preliminary analysis:
  In the example, ffixed- options are passed to force pointer allocation on the
%rbp register.
  There is another real-world example without ffixed- options, where pointer
was allocated  on the %rbp register and that caused out-of-boundaries memory
access.
  1. The pointer to uint16_t data element was allocated on the %rbp register
     that is marked as aligned to STACK_BOUNDARY.
  2. get_attr_mode called from movhi_internal returns MODE_SI for the
instruction.

This can lead to the following problems:
  1. unaligned memory access (reduced performance);
  2. segmentation fault due to accessing unmapped page (or page mapped with
PROT_NONE)

     // mapped page with array of uint16_t | unmapped page
     function (&array [index_of_last_element_on_the_mapped_page]);
  3. memory access checkers complain about accessing memory out of allocated
array boundaries.


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

* [Bug target/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
@ 2015-02-02 18:55 ` hjl.tools at gmail dot com
  2015-02-02 18:59 ` hjl.tools at gmail dot com
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hjl.tools at gmail dot com @ 2015-02-02 18:55 UTC (permalink / raw)
  To: gcc-bugs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-02-02
                 CC|                            |ubizjak at gmail dot com
          Component|translation                 |target
   Target Milestone|---                         |5.0
     Ever confirmed|0                           |1

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
aligned_operand has

  if (MEM_ALIGN (op) >= 32)
    return true;

  op = XEXP (op, 0);

  /* Pushes and pops are only valid on the stack pointer.  */
  if (GET_CODE (op) == PRE_DEC
      || GET_CODE (op) == POST_INC)
    return true;

  /* Decode the address.  */
  ok = ix86_decompose_address (op, &parts);
  gcc_assert (ok);

  if (parts.base && GET_CODE (parts.base) == SUBREG)
    parts.base = SUBREG_REG (parts.base);
  if (parts.index && GET_CODE (parts.index) == SUBREG)
    parts.index = SUBREG_REG (parts.index);

  /* Look for some component that isn't known to be aligned.  */
  if (parts.index)
    {
      if (REGNO_POINTER_ALIGN (REGNO (parts.index)) * parts.scale < 32)
        return false;
    }
  if (parts.base)
    {
      if (REGNO_POINTER_ALIGN (REGNO (parts.base)) < 32)
        return false;
    }
  if (parts.disp)
    {
      if (!CONST_INT_P (parts.disp)
          || (INTVAL (parts.disp) & 3))
        return false;
    }

  /* Didn't find one -- this must be an aligned address.  */
  return true;

It returns true for

(mem:HI (reg/f:DI 6 bp [orig:90 *a_p_2(D) ] [90]) [2 *_3+0 S2 A16])

Why do we need to decompose address when we have MEM_ALIGN (op)?


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

* [Bug target/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
  2015-02-02 18:55 ` [Bug target/64905] " hjl.tools at gmail dot com
@ 2015-02-02 18:59 ` hjl.tools at gmail dot com
  2015-02-02 21:40 ` hjl.tools at gmail dot com
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hjl.tools at gmail dot com @ 2015-02-02 18:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
Created attachment 34647
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34647&action=edit
A patch

Does this patch make any sense?


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

* [Bug target/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
  2015-02-02 18:55 ` [Bug target/64905] " hjl.tools at gmail dot com
  2015-02-02 18:59 ` hjl.tools at gmail dot com
@ 2015-02-02 21:40 ` hjl.tools at gmail dot com
  2015-02-04 13:55 ` [Bug rtl-optimization/64905] " ubizjak at gmail dot com
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hjl.tools at gmail dot com @ 2015-02-02 21:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
A patch is posted at

https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00093.html


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (2 preceding siblings ...)
  2015-02-02 21:40 ` hjl.tools at gmail dot com
@ 2015-02-04 13:55 ` ubizjak at gmail dot com
  2015-02-04 16:07 ` hjl.tools at gmail dot com
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ubizjak at gmail dot com @ 2015-02-04 13:55 UTC (permalink / raw)
  To: gcc-bugs

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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at redhat dot com
          Component|target                      |rtl-optimization

--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
It looks the failure is due to:

emit-rtl.c:  REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = STACK_BOUNDARY;

The testcase forces the pointer to %rbp (== HARD_FRAME_POINTER_REGNUM in the
above line), so the predicate thinks that the value in %rbp is aligned, since
%rbp has its REGNO_POINTER_ALIGN set to STACK_BOUNDARY.

Looks like generic RTL infrastructure problem to me, the
REGNO_POINTER_ALIGNMENT of hard_frame_pointer should be cleared when H_F_P is
omitted and reused.
>From gcc-bugs-return-475982-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Feb 04 14:24:11 2015
Return-Path: <gcc-bugs-return-475982-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 17257 invoked by alias); 4 Feb 2015 14:24:10 -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 17143 invoked by uid 55); 4 Feb 2015 14:24:06 -0000
From: "aoliva at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug debug/64817] [5 Regression] compilation hangs at -O3 with -g enabled on x86_64-linux-gnu
Date: Wed, 04 Feb 2015 14:24:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: debug
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: aoliva at gcc dot gnu.org
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P1
X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-64817-4-I6YlN0o5Rz@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64817-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64817-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: 2015-02/txt/msg00315.txt.bz2
Content-length: 592

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

--- Comment #7 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
Author: aoliva
Date: Wed Feb  4 14:23:33 2015
New Revision: 220404

URL: https://gcc.gnu.org/viewcvs?rev"0404&root=gcc&view=rev
Log:
Avoid allocating memory when trying but failing to simplify XOR of AND.

for  gcc/ChangeLog

    PR debug/64817
    * simplify-rtx.c (simplify_binary_operation_1): Rewrite
    simplification of XOR of AND to not allocate new rtx before
    committing to a simplification.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/simplify-rtx.c


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (3 preceding siblings ...)
  2015-02-04 13:55 ` [Bug rtl-optimization/64905] " ubizjak at gmail dot com
@ 2015-02-04 16:07 ` hjl.tools at gmail dot com
  2015-02-04 19:35 ` hjl at gcc dot gnu.org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hjl.tools at gmail dot com @ 2015-02-04 16:07 UTC (permalink / raw)
  To: gcc-bugs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmakarov at redhat dot com

--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Uroš Bizjak from comment #4)
> It looks the failure is due to:
> 
> emit-rtl.c:  REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) =
> STACK_BOUNDARY;
> 
> The testcase forces the pointer to %rbp (== HARD_FRAME_POINTER_REGNUM in the
> above line), so the predicate thinks that the value in %rbp is aligned,
> since %rbp has its REGNO_POINTER_ALIGN set to STACK_BOUNDARY.
> 
> Looks like generic RTL infrastructure problem to me, the
> REGNO_POINTER_ALIGNMENT of hard_frame_pointer should be cleared when H_F_P
> is omitted and reused.

Like this

diff --git a/gcc/ira.c b/gcc/ira.c
index ea2b69f..a7cf476 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -2313,6 +2313,8 @@ ira_setup_eliminable_regset (void)

   if (frame_pointer_needed)
     df_set_regs_ever_live (HARD_FRAME_POINTER_REGNUM, true);
+  else
+    REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = 0;

   COPY_HARD_REG_SET (ira_no_alloc_regs, no_unit_alloc_regs);
   CLEAR_HARD_REG_SET (eliminable_regset);
>From gcc-bugs-return-475996-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Feb 04 16:39:41 2015
Return-Path: <gcc-bugs-return-475996-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 27401 invoked by alias); 4 Feb 2015 16:39:41 -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 27329 invoked by uid 48); 4 Feb 2015 16:39:36 -0000
From: "trippels at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/64935] [5 Regression] compare debug failure during building of Linux kernel
Date: Wed, 04 Feb 2015 16:39:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: trippels at gcc dot gnu.org
X-Bugzilla-Status: NEW
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: bug_status cf_reconfirmed_on cc target_milestone everconfirmed
Message-ID: <bug-64935-4-dlbnzZqwlp@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64935-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64935-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: 2015-02/txt/msg00329.txt.bz2
Content-length: 695

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-02-04
                 CC|                            |mkuvyrkov at gcc dot gnu.org
   Target Milestone|---                         |5.0
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Started with r220316.
Creduce came up with an invalid testcase. Re-reducing...


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (4 preceding siblings ...)
  2015-02-04 16:07 ` hjl.tools at gmail dot com
@ 2015-02-04 19:35 ` hjl at gcc dot gnu.org
  2015-02-04 19:37 ` hjl.tools at gmail dot com
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hjl at gcc dot gnu.org @ 2015-02-04 19:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Wed Feb  4 19:35:17 2015
New Revision: 220414

URL: https://gcc.gnu.org/viewcvs?rev=220414&root=gcc&view=rev
Log:
Clear hard frame pointer alignment if not needed

When hard frame pointer isn't needed, the register for hard frame pointer
may be reused.  This patch clears alignment on hard frame pointer if hard
frame pointer isn't needed.

gcc/

    PR rtl-optimization/64905
    * lra-eliminations.c (setup_can_eliminate): Clear hard frame
    pointer alignment if it isn't needed.

gcc/testsuite/

    PR rtl-optimization/64905
    * gcc.target/i386/pr64905.c: New file.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (5 preceding siblings ...)
  2015-02-04 19:35 ` hjl at gcc dot gnu.org
@ 2015-02-04 19:37 ` hjl.tools at gmail dot com
  2015-02-04 19:44 ` dominiq at lps dot ens.fr
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hjl.tools at gmail dot com @ 2015-02-04 19:37 UTC (permalink / raw)
  To: gcc-bugs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |5.0
      Known to fail|                            |4.8.5, 4.9.3

--- Comment #7 from H.J. Lu <hjl.tools at gmail dot com> ---
Fixed in 5.0 so far.


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (6 preceding siblings ...)
  2015-02-04 19:37 ` hjl.tools at gmail dot com
@ 2015-02-04 19:44 ` dominiq at lps dot ens.fr
  2015-02-04 20:03 ` hjl.tools at gmail dot com
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: dominiq at lps dot ens.fr @ 2015-02-04 19:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
AFAICT only the ChangeLogs have been committed.


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (7 preceding siblings ...)
  2015-02-04 19:44 ` dominiq at lps dot ens.fr
@ 2015-02-04 20:03 ` hjl.tools at gmail dot com
  2015-02-05 10:04 ` dominiq at lps dot ens.fr
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hjl.tools at gmail dot com @ 2015-02-04 20:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Dominique d'Humieres from comment #8)
> AFAICT only the ChangeLogs have been committed.

Oops.  r220416 has it.


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (8 preceding siblings ...)
  2015-02-04 20:03 ` hjl.tools at gmail dot com
@ 2015-02-05 10:04 ` dominiq at lps dot ens.fr
  2015-02-05 10:08 ` ubizjak at gmail dot com
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: dominiq at lps dot ens.fr @ 2015-02-05 10:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Compiling the test gcc.target/i386/pr64905.c on x86_64-apple-darwin14 gives an
ICE

[Book15] f90/bug% gcc5 /opt/gcc/_clean/gcc/testsuite/gcc.target/i386/pr64905.c
-Os -ffixed-rax -ffixed-rbx -ffixed-rcx -ffixed-rdx -ffixed-rdi -ffixed-rsi
-ffixed-r8 -ffixed-r9 -ffixed-r10 -ffixed-r11 -ffixed-r12 -ffixed-r13
-ffixed-r14 -ffixed-r15
/opt/gcc/_clean/gcc/testsuite/gcc.target/i386/pr64905.c: In function
'function':
/opt/gcc/_clean/gcc/testsuite/gcc.target/i386/pr64905.c:13:1: error: unable to
find a register to spill
 }
 ^
/opt/gcc/_clean/gcc/testsuite/gcc.target/i386/pr64905.c:13:1: error: this is
the insn:
(insn 9 14 12 2 (set (mem/c:HI (reg:DI 92) [2 a_global+0 S2 A16])
        (reg:HI 93 [orig:88 D.1985 ] [88]))
/opt/gcc/_clean/gcc/testsuite/gcc.target/i386/pr64905.c:12 92 {*movhi_internal}
     (expr_list:REG_DEAD (reg:HI 93 [orig:88 D.1985 ] [88])
        (expr_list:REG_DEAD (reg:DI 92)
            (nil))))
/opt/gcc/_clean/gcc/testsuite/gcc.target/i386/pr64905.c:13:1: internal compiler
error: in assign_by_spills, at lra-assigns.c:1383


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (9 preceding siblings ...)
  2015-02-05 10:04 ` dominiq at lps dot ens.fr
@ 2015-02-05 10:08 ` ubizjak at gmail dot com
  2015-02-05 10:37 ` uros at gcc dot gnu.org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ubizjak at gmail dot com @ 2015-02-05 10:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Dominique d'Humieres from comment #10)
> Compiling the test gcc.target/i386/pr64905.c on x86_64-apple-darwin14 gives
> an ICE

I have a patch that disables the test on -fPIC targets.
>From gcc-bugs-return-476103-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Feb 05 10:08:51 2015
Return-Path: <gcc-bugs-return-476103-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 24049 invoked by alias); 5 Feb 2015 10:08:51 -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 23451 invoked by uid 48); 5 Feb 2015 10:08:47 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug preprocessor/60723] Line directives with incorrect system header flag
Date: Thu, 05 Feb 2015 10:08:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: preprocessor
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: dodji at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-60723-4-rURiSaGRdQ@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-60723-4@http.gcc.gnu.org/bugzilla/>
References: <bug-60723-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: 2015-02/txt/msg00436.txt.bz2
Content-length: 251

https://gcc.gnu.org/bugzilla/show_bug.cgi?id`723

--- Comment #28 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
If this is about ccache, I wonder if ccache couldn't preprocess with
-fdirectives-only instead, that way hopefully no info is lost.


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (10 preceding siblings ...)
  2015-02-05 10:08 ` ubizjak at gmail dot com
@ 2015-02-05 10:37 ` uros at gcc dot gnu.org
  2015-04-22 12:02 ` jakub at gcc dot gnu.org
  2015-04-22 13:53 ` r.ayrapetyan at samsung dot com
  13 siblings, 0 replies; 15+ messages in thread
From: uros at gcc dot gnu.org @ 2015-02-05 10:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from uros at gcc dot gnu.org ---
Author: uros
Date: Thu Feb  5 10:37:05 2015
New Revision: 220441

URL: https://gcc.gnu.org/viewcvs?rev=220441&root=gcc&view=rev
Log:
    PR rtl-optimization/64905
    * gcc.target/i386/pr64905.c: Require nonpic target.
    (dg-options): Add -fomit-frame-pointer.
    (main): Remove.


Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/i386/pr64905.c


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (11 preceding siblings ...)
  2015-02-05 10:37 ` uros at gcc dot gnu.org
@ 2015-04-22 12:02 ` jakub at gcc dot gnu.org
  2015-04-22 13:53 ` r.ayrapetyan at samsung dot com
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-04-22 12:02 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

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

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 5.1 has been released.


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

* [Bug rtl-optimization/64905] unsigned short is loaded with 4-byte load (movl)
  2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
                   ` (12 preceding siblings ...)
  2015-04-22 12:02 ` jakub at gcc dot gnu.org
@ 2015-04-22 13:53 ` r.ayrapetyan at samsung dot com
  13 siblings, 0 replies; 15+ messages in thread
From: r.ayrapetyan at samsung dot com @ 2015-04-22 13:53 UTC (permalink / raw)
  To: gcc-bugs

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

Ruben Ayrapetyan <r.ayrapetyan at samsung dot com> changed:

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

--- Comment #14 from Ruben Ayrapetyan <r.ayrapetyan at samsung dot com> ---
Verified on version 5.1.0.


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

end of thread, other threads:[~2015-04-22 13:53 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-02 18:03 [Bug translation/64905] New: unsigned short is loaded with 4-byte load (movl) r.ayrapetyan at samsung dot com
2015-02-02 18:55 ` [Bug target/64905] " hjl.tools at gmail dot com
2015-02-02 18:59 ` hjl.tools at gmail dot com
2015-02-02 21:40 ` hjl.tools at gmail dot com
2015-02-04 13:55 ` [Bug rtl-optimization/64905] " ubizjak at gmail dot com
2015-02-04 16:07 ` hjl.tools at gmail dot com
2015-02-04 19:35 ` hjl at gcc dot gnu.org
2015-02-04 19:37 ` hjl.tools at gmail dot com
2015-02-04 19:44 ` dominiq at lps dot ens.fr
2015-02-04 20:03 ` hjl.tools at gmail dot com
2015-02-05 10:04 ` dominiq at lps dot ens.fr
2015-02-05 10:08 ` ubizjak at gmail dot com
2015-02-05 10:37 ` uros at gcc dot gnu.org
2015-04-22 12:02 ` jakub at gcc dot gnu.org
2015-04-22 13:53 ` r.ayrapetyan at samsung 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).