From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28859 invoked by alias); 11 Mar 2014 17:16:28 -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 28816 invoked by uid 48); 11 Mar 2014 17:16:23 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/60502] [4.8/4.9 Regression] ICE reassociation and vector types. Date: Tue, 11 Mar 2014 17:16: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: jakub 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.8.3 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-03/txt/msg00906.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60502 --- Comment #3 from Jakub Jelinek --- (In reply to Marc Glisse from comment #2) > Indeed. Probably should call build_all_ones_cst instead of > build_low_bits_mask in eliminate_not_pairs. Agreed. Are you going to prepare a patch, or should I? Guess we don't want to use v16i8 in fn return type or argument, it needs to be typedef signed char v16i8 __attribute__ ((vector_size (16))); typedef unsigned char v16u8 __attribute__ ((vector_size (16))); void foo (v16i8 *x) { v16i8 op0 = *x; v16i8 m1 = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; *x = (op0 ^ m1) | (op0 & m1); } void bar (v16u8 *x) { v16u8 op0 = *x; v16u8 m1 = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; *x = (op0 ^ m1) | (op0 & m1); } instead.