public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret
@ 2013-12-06 11:05 kirill.yukhin at intel dot com
  2013-12-06 11:17 ` [Bug target/59405] " ubizjak at gmail dot com
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: kirill.yukhin at intel dot com @ 2013-12-06 11:05 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

            Bug ID: 59405
           Summary: Incorrect FP<->MMX transition during call/ret
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: kirill.yukhin at intel dot com

Hello,
Attached test reproduces the error:
  $ gcc -m32 -mmmx 1.c
  $ ./a.out
  Aborted (core dumped)

Disassembly of the foo is:
foo32x2_be:
.LFB0:
        pushl   %ebp    # 22    *pushsi2        [length = 1]
        movl    %esp, %ebp      # 23    *movsi_internal/1       [length = 2]
        subl    $16, %esp       # 24    pro_epilogue_adjust_stack_si_add/1     
[length = 3]
        movq    %mm0, -8(%ebp)  # 3     *movv2sf_internal/9     [length = 4]
        movl    -4(%ebp), %eax  # 7     *movsf_internal/4       [length = 3]
        movl    %eax, -12(%ebp) # 14    *movsf_internal/5       [length = 3]
        flds    -12(%ebp)       # 21    *movsf_internal/1       [length = 3]
        leave   # 27    leave   [length = 1]
        ret     # 28    simple_return_internal  [length = 1]

We're passing v2sf vector using MMX register, which aliased to x87 stack.
Then we're trying to load FP to it, which leds to NaN.

As far as I understand, we need `emms' instruction between last MMX use and
before first x87 use.

Reproduces everywhere, up to 4.7.2 (may be earlier, I have no such).


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
@ 2013-12-06 11:17 ` ubizjak at gmail dot com
  2013-12-06 11:18 ` kirill.yukhin at intel dot com
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ubizjak at gmail dot com @ 2013-12-06 11:17 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
There is no testcase attached, but you need to *manually* insert _mm_empty (==
emms) to switch from MMX to x87 state.

The compiler does not automatically insert emms for you.
>From gcc-bugs-return-436817-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Dec 06 11:17:48 2013
Return-Path: <gcc-bugs-return-436817-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 11086 invoked by alias); 6 Dec 2013 11:17: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 10495 invoked by uid 48); 6 Dec 2013 11:17:42 -0000
From: "aivchenk at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ipa/59226] [4.9 Regression] ICE: in record_target_from_binfo, at ipa-devirt.c:661
Date: Fri, 06 Dec 2013 11:17:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: ipa
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: ice-on-valid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: aivchenk at gmail dot com
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P1
X-Bugzilla-Assigned-To: hubicka at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-59226-4-Tx0S3si2qw@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59226-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59226-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: 2013-12/txt/msg00472.txt.bz2
Content-length: 466

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY226

Alexander Ivchenko <aivchenk at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aivchenk at gmail dot com

--- Comment #4 from Alexander Ivchenko <aivchenk at gmail dot com> ---
This broke Android image build with trunk compiler (in addition to pr58585)..


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
  2013-12-06 11:17 ` [Bug target/59405] " ubizjak at gmail dot com
@ 2013-12-06 11:18 ` kirill.yukhin at intel dot com
  2013-12-06 11:19 ` kirill.yukhin at intel dot com
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: kirill.yukhin at intel dot com @ 2013-12-06 11:18 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #2 from Yukhin Kirill <kirill.yukhin at intel dot com> ---
Created attachment 31389
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31389&action=edit
Testcase


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
  2013-12-06 11:17 ` [Bug target/59405] " ubizjak at gmail dot com
  2013-12-06 11:18 ` kirill.yukhin at intel dot com
@ 2013-12-06 11:19 ` kirill.yukhin at intel dot com
  2013-12-06 11:25 ` ubizjak at gmail dot com
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: kirill.yukhin at intel dot com @ 2013-12-06 11:19 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #3 from Yukhin Kirill <kirill.yukhin at intel dot com> ---
(In reply to Uroš Bizjak from comment #1)
> There is no testcase attached, but you need to *manually* insert _mm_empty
> (== emms) to switch from MMX to x87 state.
> 
> The compiler does not automatically insert emms for you.

Well, then problem is different, test as simple as empty call.
I doubt we should emit wrong code here.
>From gcc-bugs-return-436820-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Dec 06 11:23:18 2013
Return-Path: <gcc-bugs-return-436820-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 17646 invoked by alias); 6 Dec 2013 11:23:18 -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 17597 invoked by uid 48); 6 Dec 2013 11:23:14 -0000
From: "Joost.VandeVondele at mat dot ethz.ch" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug sanitizer/59188] [4.9 Regression] lib64/libtsan.so: undefined reference to `sigsetjmp'
Date: Fri, 06 Dec 2013 11:23: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: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: Joost.VandeVondele at mat dot ethz.ch
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P1
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status resolution
Message-ID: <bug-59188-4-yVB5zLkVIG@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59188-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59188-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: 2013-12/txt/msg00475.txt.bz2
Content-length: 583

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY188

Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> changed:

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

--- Comment #12 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> ---
(In reply to Kostya Serebryany from comment #11)
> planing next merge from llvm to gcc in ~1 week.

Fixed in current trunk. Thanks!


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
                   ` (2 preceding siblings ...)
  2013-12-06 11:19 ` kirill.yukhin at intel dot com
@ 2013-12-06 11:25 ` ubizjak at gmail dot com
  2013-12-06 11:47 ` kirill.yukhin at intel dot com
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ubizjak at gmail dot com @ 2013-12-06 11:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Yukhin Kirill from comment #3)
> (In reply to Uroš Bizjak from comment #1)
> > There is no testcase attached, but you need to *manually* insert _mm_empty
> > (== emms) to switch from MMX to x87 state.
> > 
> > The compiler does not automatically insert emms for you.
> 
> Well, then problem is different, test as simple as empty call.
> I doubt we should emit wrong code here.

You need:

float
foo32x2_be (float32x2_t x)
{
  __builtin_ia32_emms();
  return x[1];
}

This is documented somewhere in Intel's ISA manual, so the testcase is probably
invalid.
>From gcc-bugs-return-436823-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Dec 06 11:26:04 2013
Return-Path: <gcc-bugs-return-436823-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 20633 invoked by alias); 6 Dec 2013 11:26:04 -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 20568 invoked by uid 48); 6 Dec 2013 11:26:00 -0000
From: "hjl.tools at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug sanitizer/59402] [4.9 Regression] bootstrap failure on x32
Date: Fri, 06 Dec 2013 11:26: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: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: hjl.tools at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P2
X-Bugzilla-Assigned-To: kcc at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status cf_reconfirmed_on everconfirmed
Message-ID: <bug-59402-4-3lFMGWvSSM@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59402-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59402-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: 2013-12/txt/msg00478.txt.bz2
Content-length: 821

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY402

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-12-06
     Ever confirmed|0                           |1

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Kostya Serebryany from comment #1)
> Thanks for the report, H.J. I'll try to respond properly on Monday (-ish).

Can I check my patches into trunk to unblock x32 build and revert them
after we find a better fix?

> Long term, everyone would benefit if you could setup a public build bot
> upstream.

Can you find a machine with Ubuntu 13.04 or newer?


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
                   ` (3 preceding siblings ...)
  2013-12-06 11:25 ` ubizjak at gmail dot com
@ 2013-12-06 11:47 ` kirill.yukhin at intel dot com
  2013-12-06 12:00 ` hjl.tools at gmail dot com
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: kirill.yukhin at intel dot com @ 2013-12-06 11:47 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #5 from Yukhin Kirill <kirill.yukhin at intel dot com> ---
I see. So, it seems like a limitation to passing vectors as arguments in 32-bit
mode. We may implement something similar to `vzerroupper' autogeneration or
simply close the bug as `user misunderstanding.'


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
                   ` (4 preceding siblings ...)
  2013-12-06 11:47 ` kirill.yukhin at intel dot com
@ 2013-12-06 12:00 ` hjl.tools at gmail dot com
  2013-12-06 12:30 ` ubizjak at gmail dot com
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: hjl.tools at gmail dot com @ 2013-12-06 12:00 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> ---
I think this is a dup of PR48397.


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
                   ` (5 preceding siblings ...)
  2013-12-06 12:00 ` hjl.tools at gmail dot com
@ 2013-12-06 12:30 ` ubizjak at gmail dot com
  2013-12-06 17:16 ` uros at gcc dot gnu.org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ubizjak at gmail dot com @ 2013-12-06 12:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to H.J. Lu from comment #6)
> I think this is a dup of PR48397.

No, this one happens due to missing interdependencies between x87 and MMX
registers. We could make all MMX instructions dependant on st(0) register, but
this would mean that no MMX instruction whatsoever will be reordered.
>From gcc-bugs-return-436834-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Dec 06 12:36:41 2013
Return-Path: <gcc-bugs-return-436834-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 2787 invoked by alias); 6 Dec 2013 12:36: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 2738 invoked by uid 48); 6 Dec 2013 12:36:35 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/59405] Incorrect FP<->MMX transition during call/ret
Date: Fri, 06 Dec 2013 12:36: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: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-59405-4-nvQ28fQlKe@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59405-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59405-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: 2013-12/txt/msg00489.txt.bz2
Content-length: 551

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #8 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Yukhin Kirill from comment #5)
> I see. So, it seems like a limitation to passing vectors as arguments in
> 32-bit mode. We may implement something similar to `vzerroupper'
> autogeneration or simply close the bug as `user misunderstanding.'

We already tried this. Please see PR19161.

There is however, one problem - gcc warns about SSE vector argument without SSE
on 32bit targets. I will fix type_natural_mode.
>From gcc-bugs-return-436835-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Dec 06 12:39:39 2013
Return-Path: <gcc-bugs-return-436835-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 5613 invoked by alias); 6 Dec 2013 12:39:39 -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 5473 invoked by uid 55); 6 Dec 2013 12:39:35 -0000
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/59288] [4.7/4.8 Regression] ICE in get_initial_def_for_induction
Date: Fri, 06 Dec 2013 12:39: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: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: rguenth at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.7.4
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-59288-4-EmmFU5AuJ7@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59288-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59288-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: 2013-12/txt/msg00490.txt.bz2
Content-length: 1822

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY288

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri Dec  6 12:39:32 2013
New Revision: 205739

URL: http://gcc.gnu.org/viewcvs?rev 5739&root=gcc&view=rev
Log:
2013-12-06  Richard Biener  <rguenther@suse.de>

    Backport from mainline
    2013-11-27  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/59288
    * tree-vect-loop.c (get_initial_def_for_induction): Do not
    re-analyze the PHI but use STMT_VINFO_LOOP_PHI_EVOLUTION_PART.

    * gcc.dg/torture/pr59288.c: New testcase.

    2013-11-19  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/59164
    * tree-vect-loop.c (vect_analyze_loop_operations): Adjust
    check whether we can create an epilogue loop to reflect the
    cases where we create one.

    * gcc.dg/torture/pr59164.c: New testcase.

    2013-09-05  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/58137
    * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
    Do not create vectors of pointers.
    * tree-vect-loop.c (get_initial_def_for_induction): Use proper
    types for the components of the vector initializer.
    * tree-cfg.c (verify_gimple_assign_binary): Remove special-casing
    allowing pointer vectors with PLUS_EXPR/MINUS_EXPR.

    * gcc.target/i386/pr58137.c: New testcase.

Added:
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr59164.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr59288.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.target/i386/pr58137.c
Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_8-branch/gcc/tree-cfg.c
    branches/gcc-4_8-branch/gcc/tree-vect-loop.c
    branches/gcc-4_8-branch/gcc/tree-vect-stmts.c


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
                   ` (6 preceding siblings ...)
  2013-12-06 12:30 ` ubizjak at gmail dot com
@ 2013-12-06 17:16 ` uros at gcc dot gnu.org
  2013-12-06 17:27 ` ubizjak at gmail dot com
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: uros at gcc dot gnu.org @ 2013-12-06 17:16 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #9 from uros at gcc dot gnu.org ---
Author: uros
Date: Fri Dec  6 17:16:52 2013
New Revision: 205753

URL: http://gcc.gnu.org/viewcvs?rev=205753&root=gcc&view=rev
Log:
    PR target/59405
    * config/i386/i386.c (type_natural_mode): Properly handle
    size 8 for !TARGET_64BIT.

testsuite/ChangeLog:

    PR target/59405
    * gcc.target/i386/pr59405.c: New test.


Added:
    trunk/gcc/testsuite/gcc.target/i386/pr59405.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
                   ` (7 preceding siblings ...)
  2013-12-06 17:16 ` uros at gcc dot gnu.org
@ 2013-12-06 17:27 ` ubizjak at gmail dot com
  2013-12-08 14:20 ` uros at gcc dot gnu.org
  2013-12-08 14:22 ` ubizjak at gmail dot com
  10 siblings, 0 replies; 12+ messages in thread
From: ubizjak at gmail dot com @ 2013-12-06 17:27 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID
   Target Milestone|---                         |4.7.4

--- Comment #10 from Uroš Bizjak <ubizjak at gmail dot com> ---
The warning is fixed, the testcase without _mm_empty () is invalid.
>From gcc-bugs-return-436887-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Dec 06 17:36:18 2013
Return-Path: <gcc-bugs-return-436887-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 1093 invoked by alias); 6 Dec 2013 17:36:14 -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 631 invoked by uid 48); 6 Dec 2013 17:36:09 -0000
From: "kcc at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug sanitizer/59410] tsan tests fail with address randomization disabled
Date: Fri, 06 Dec 2013 17:36: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: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: kcc 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: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-59410-4-GGrhH9kru0@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59410-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59410-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: 2013-12/txt/msg00542.txt.bz2
Content-length: 2372

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY410

--- Comment #20 from Kostya Serebryany <kcc at gcc dot gnu.org> ---
> >
> > # readelf -lW a.out
>
> Your address must be sensible.  Otherwise kernel will ignore it.
> Please try "-Ttext-segment 0x855555000000".

How is 0x855555000000 censible if it's beyond the address space?
(Or I miss something?)

Anyway, here is an experiment that proves that on my box
-Ttext-segment is ignored if ASLR is off.

% cat print_main.cc
#include <stdio.h>
int main() {
  printf("main: %p\n", &main);
}
% g++ print_main.cc -fPIE -pie  -Wl,-Ttext-segment=0x6ABC55000000 &&  ./a.out
main: 0x6abc5500072c
% g++ print_main.cc -fPIE -pie  -Wl,-Ttext-segment=0x6ABC55000000 &&  setarch
x86_64 -R ./a.out
main: 0x55555555472c
% readelf -lW ./a.out

Elf file type is DYN (Shared object file)
Entry point 0x6abc55000630
There are 9 program headers, starting at offset 64

Program Headers:
  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz
  Flg Align
  PHDR           0x000040 0x00006abc55000040 0x00006abc55000040 0x0001f8
0x0001f8 R E 0x8
  INTERP         0x000238 0x00006abc55000238 0x00006abc55000238 0x00001c
0x00001c R   0x1
      [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
  LOAD           0x000000 0x00006abc55000000 0x00006abc55000000 0x00091c
0x00091c R E 0x200000
  LOAD           0x000e00 0x00006abc55200e00 0x00006abc55200e00 0x000228
0x000238 RW  0x200000
  DYNAMIC        0x000e28 0x00006abc55200e28 0x00006abc55200e28 0x000190
0x000190 RW  0x8
  NOTE           0x000254 0x00006abc55000254 0x00006abc55000254 0x000044
0x000044 R   0x4
  GNU_EH_FRAME   0x000848 0x00006abc55000848 0x00006abc55000848 0x00002c
0x00002c R   0x4
  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000
0x000000 RW  0x8
  GNU_RELRO      0x000e00 0x00006abc55200e00 0x00006abc55200e00 0x000200
0x000200 R   0x1

 Section to Segment mapping:
  Segment Sections...
   00
   01     .interp
   02     .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr
.gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata
.eh_frame_hdr .eh_frame
   03     .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
   04     .dynamic
   05     .note.ABI-tag .note.gnu.build-id
   06     .eh_frame_hdr
   07
   08     .ctors .dtors .jcr .dynamic .got


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
                   ` (8 preceding siblings ...)
  2013-12-06 17:27 ` ubizjak at gmail dot com
@ 2013-12-08 14:20 ` uros at gcc dot gnu.org
  2013-12-08 14:22 ` ubizjak at gmail dot com
  10 siblings, 0 replies; 12+ messages in thread
From: uros at gcc dot gnu.org @ 2013-12-08 14:20 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

--- Comment #11 from uros at gcc dot gnu.org ---
Author: uros
Date: Sun Dec  8 14:20:42 2013
New Revision: 205790

URL: http://gcc.gnu.org/viewcvs?rev=205790&root=gcc&view=rev
Log:
    Backport from mainline
    2013-12-06  Uros Bizjak  <ubizjak@gmail.com>

    PR target/59405
    * config/i386/i386.c (type_natural_mode): Properly handle
    size 8 for !TARGET_64BIT.

testsuite/ChangeLog

    Backport from mainline
    2013-12-06  Uros Bizjak  <ubizjak@gmail.com>

    PR target/59405
    * gcc.target/i386/pr59405.c: New test.


Added:
    branches/gcc-4_8-branch/gcc/testsuite/gcc.target/i386/pr59405.c
Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/config/i386/i386.c
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


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

* [Bug target/59405] Incorrect FP<->MMX transition during call/ret
  2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
                   ` (9 preceding siblings ...)
  2013-12-08 14:20 ` uros at gcc dot gnu.org
@ 2013-12-08 14:22 ` ubizjak at gmail dot com
  10 siblings, 0 replies; 12+ messages in thread
From: ubizjak at gmail dot com @ 2013-12-08 14:22 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.7.4                       |4.8.3

--- Comment #12 from Uroš Bizjak <ubizjak at gmail dot com> ---
The warning was a regression from 4.7, now fixed on 4.8+.
>From gcc-bugs-return-436989-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sun Dec 08 15:34:14 2013
Return-Path: <gcc-bugs-return-436989-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 21062 invoked by alias); 8 Dec 2013 15:34:13 -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 20978 invoked by uid 48); 8 Dec 2013 15:34:08 -0000
From: "jamborm at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ipa/58253] IPA-SRA creates calls with different arguments that the callee accepts
Date: Sun, 08 Dec 2013 15:34:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: ipa
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: wrong-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jamborm at gcc dot gnu.org
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status resolution
Message-ID: <bug-58253-4-DwXdRFU9PT@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-58253-4@http.gcc.gnu.org/bugzilla/>
References: <bug-58253-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: 2013-12/txt/msg00644.txt.bz2
Content-length: 1125

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX253

Martin Jambor <jamborm at gcc dot gnu.org> changed:

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

--- Comment #10 from Martin Jambor <jamborm at gcc dot gnu.org> ---
(In reply to Jorn Wolfgang Rennecke from comment #8)
> The idea of a function is that there can be multiple callers, using
> different actual arguments, thus you shoud pick one formal argument type
> for each argument, and stick with it for all callers and the callee.
> The formal argument type determines how the argument is passed.

Well, currently that is not the case (and that has nothing to do with
IPA-SRA or any other optimization).  If you think that is a mistake,
feel free to submit a patch fixing the type parameter of the call to
targetm.calls.function_arg in initialize_argument_information (and
possibly elsewhere) in calls.c.

Meanwhile, the reported issue should now be considered fixed.


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

end of thread, other threads:[~2013-12-08 14:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-06 11:05 [Bug target/59405] New: Incorrect FP<->MMX transition during call/ret kirill.yukhin at intel dot com
2013-12-06 11:17 ` [Bug target/59405] " ubizjak at gmail dot com
2013-12-06 11:18 ` kirill.yukhin at intel dot com
2013-12-06 11:19 ` kirill.yukhin at intel dot com
2013-12-06 11:25 ` ubizjak at gmail dot com
2013-12-06 11:47 ` kirill.yukhin at intel dot com
2013-12-06 12:00 ` hjl.tools at gmail dot com
2013-12-06 12:30 ` ubizjak at gmail dot com
2013-12-06 17:16 ` uros at gcc dot gnu.org
2013-12-06 17:27 ` ubizjak at gmail dot com
2013-12-08 14:20 ` uros at gcc dot gnu.org
2013-12-08 14:22 ` 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).