From owner-svn-src-projects@freebsd.org Sat Sep 24 20:53:06 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A987FBE8D20 for ; Sat, 24 Sep 2016 20:53:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7C757978; Sat, 24 Sep 2016 20:53:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8OKr5A0063386; Sat, 24 Sep 2016 20:53:05 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8OKr5ww063385; Sat, 24 Sep 2016 20:53:05 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201609242053.u8OKr5ww063385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 24 Sep 2016 20:53:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r306302 - projects/clang390-import/contrib/llvm/lib/Target/X86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Sep 2016 20:53:06 -0000 Author: dim Date: Sat Sep 24 20:53:05 2016 New Revision: 306302 URL: https://svnweb.freebsd.org/changeset/base/306302 Log: Pull in r282336 from upstream llvm trunk (by Sanjay Patel): [x86] don't try to create a vector integer inst for an SSE1 target (PR30512) This bug was introduced with: http://reviews.llvm.org/rL272511 We need to restrict the lowering to v4f32 comparisons because that's all SSE1 can handle. This should fix: https://llvm.org/bugs/show_bug.cgi?id=28044 This avoids a "Do not know how to custom type legalize this operation" error when building the multimedia/ffmpeg port on i386 with SSE enabled. Modified: projects/clang390-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Modified: projects/clang390-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp ============================================================================== --- projects/clang390-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Sat Sep 24 19:03:05 2016 (r306301) +++ projects/clang390-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Sat Sep 24 20:53:05 2016 (r306302) @@ -30358,9 +30358,10 @@ static SDValue combineSetCC(SDNode *N, S } } - // For an SSE1-only target, lower to X86ISD::CMPP early to avoid scalarization - // via legalization because v4i32 is not a legal type. - if (Subtarget.hasSSE1() && !Subtarget.hasSSE2() && VT == MVT::v4i32) + // For an SSE1-only target, lower a comparison of v4f32 to X86ISD::CMPP early + // to avoid scalarization via legalization because v4i32 is not a legal type. + if (Subtarget.hasSSE1() && !Subtarget.hasSSE2() && VT == MVT::v4i32 && + LHS.getValueType() == MVT::v4f32) return LowerVSETCC(SDValue(N, 0), Subtarget, DAG); return SDValue();