From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27090 invoked by alias); 17 Jan 2014 18:52:04 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 27040 invoked by uid 55); 17 Jan 2014 18:52:00 -0000 From: "hjl at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/59794] [4.7/4.8 Regression] i386 backend fails to detect MMX/SSE/AVX ABI changes Date: Fri, 17 Jan 2014 18:52: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.7.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hjl 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: 4.7.4 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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-01/txt/msg01897.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59794 --- Comment #11 from hjl at gcc dot gnu.org --- Author: hjl Date: Fri Jan 17 18:51:27 2014 New Revision: 206727 URL: http://gcc.gnu.org/viewcvs?rev=206727&root=gcc&view=rev Log: Consolidate ABI warning into type_natural_mode gcc/ Backport from mainline PR target/59794 * config/i386/i386.c (type_natural_mode): Add a bool parameter to indicate if type is used for function return value. Warn ABI change if the vector mode isn't available for function return value. (ix86_function_arg_advance): Pass false to type_natural_mode. (ix86_function_arg): Likewise. (ix86_gimplify_va_arg): Likewise. (function_arg_32): Don't warn ABI change. (ix86_function_value): Pass true to type_natural_mode. (ix86_return_in_memory): Likewise. (ix86_struct_value_rtx): Removed. (TARGET_STRUCT_VALUE_RTX): Likewise. gcc/testsuite/ Backport from mainline PR target/59794 * gcc.target/i386/pr39162.c (y): New __m256i variable. (bar): Change return type to void. Set y to x. * gcc.target/i386/pr59794-1.c: New testcase. * gcc.target/i386/pr59794-2.c: Likewise. * gcc.target/i386/pr59794-3.c: Likewise. * gcc.target/i386/pr59794-4.c: Likewise. * gcc.target/i386/pr59794-5.c: Likewise. * gcc.target/i386/pr59794-6.c: Likewise. * gcc.target/i386/pr59794-7.c: Likewise. 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 branches/gcc-4_8-branch/gcc/testsuite/gcc.target/i386/pr39162.c