From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19981 invoked by alias); 10 Apr 2008 00:39:07 -0000 Received: (qmail 19911 invoked by uid 48); 10 Apr 2008 00:38:24 -0000 Date: Thu, 10 Apr 2008 00:39:00 -0000 Subject: [Bug middle-end/35897] New: DSE doesn't support targets with wide registers X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "hjl dot tools at gmail dot com" 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-04/txt/msg00772.txt.bz2 dse.c has struct store_info { ... /* An bitmask as wide as the number of bytes in the word that contains a 1 if the byte may be needed. The store is unused if all of the bits are 0. */ long positions_needed; }; ... record_store () { ... gcc_assert ((unsigned) width < sizeof (store_info->positions_needed) * CHAR_BIT); ... } AVX register is 32byte wide. On ia32, since width is 32 and long is 4 byte, assert fails. This scheme doesn't work. How should it be fixed? -- Summary: DSE doesn't support targets with wide registers Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35897