From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15689 invoked by alias); 12 May 2008 20:00:10 -0000 Received: (qmail 15272 invoked by uid 48); 12 May 2008 19:59:27 -0000 Date: Mon, 12 May 2008 20:00:00 -0000 Subject: [Bug target/36224] New: vec_widen_smult_{hi,lo}_v4si generates pmuludq instruction X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "gnu at the-meissners 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-05/txt/msg00959.txt.bz2 The vec_widen_smult_{hi,lo}_v4si functions are incorrect, in that they generate the pmuludq instruction, which does a 32x32->64 unsigned multiply. For example, multiplying -13 * 15 = gives 64424509245 with the current code, when it should give -195. The sse5 instructions pmacsdqh and pmacsdql could do this instruction, but not anything in the standard sse2 set. -- Summary: vec_widen_smult_{hi,lo}_v4si generates pmuludq instruction Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gnu at the-meissners dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36224