From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23122 invoked by alias); 23 Feb 2008 15:25:22 -0000 Received: (qmail 22206 invoked by alias); 23 Feb 2008 15:24:42 -0000 Date: Sat, 23 Feb 2008 15:25:00 -0000 Message-ID: <20080223152442.22204.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/22076] Strange code for MMX register moves In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "uros at gcc dot gnu dot org" 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 X-SW-Source: 2008-02/txt/msg02422.txt.bz2 ------- Comment #9 from uros at gcc dot gnu dot org 2008-02-23 15:24 ------- Subject: Bug 22076 Author: uros Date: Sat Feb 23 15:24:02 2008 New Revision: 132572 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132572 Log: PR target/22076 PR target/34256 * config/i386/mmx.md (*mov_internal_rex64): Use "!y" to prevent reload from using MMX registers. (*mov_internal): Ditto. (*movv2sf_internal_rex64): Ditto. (*movv2sf_internal): Ditto. testsuite/ChangeLog: PR target/22076 PR target/34256 * gcc.target/i386/pr22076.c: New test. * gcc.target/i386/pr34256.c: New test. * gcc.target/i386/vecinit-5.c: New test. * gcc.target/i386/vecinit-6.c: New test. * gcc.target/i386/vecinit-[1-4].c: Check that no MMX register is used. * g++.dg/compat/struct-layout-1.h: Do not include and , define __m64 and __m128 directly. * g++.dg/compat/struct-layout-1_generate.c: Add -mno-mmx for x86. Added: trunk/gcc/testsuite/gcc.target/i386/pr22076.c trunk/gcc/testsuite/gcc.target/i386/pr34256.c trunk/gcc/testsuite/gcc.target/i386/vecinit-5.c trunk/gcc/testsuite/gcc.target/i386/vecinit-6.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/mmx.md trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/compat/struct-layout-1.h trunk/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c trunk/gcc/testsuite/gcc.target/i386/vecinit-1.c trunk/gcc/testsuite/gcc.target/i386/vecinit-2.c trunk/gcc/testsuite/gcc.target/i386/vecinit-3.c trunk/gcc/testsuite/gcc.target/i386/vecinit-4.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22076