From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 07D7D393D033; Sat, 19 Dec 2020 06:10:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 07D7D393D033 From: "danielhanchen at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/98387] GCC >= 6 cannot inline _mm_cmp_ps on SSE targets Date: Sat, 19 Dec 2020 06:10:15 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 10.2.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: danielhanchen at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Dec 2020 06:10:16 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D98387 --- Comment #1 from Daniel Han-Chen --- Oh I just noticed _mm_cmp_ps isn't actually supported for SSE targets even = in Intel's Intrinsics Guide: [_mm_cmp_ps first was supported in AVX] https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=3D5236= ,827,33,5224,447,456,4085,3864,5224,4179,4118,4115,4115,4121,3864,3870,5579= ,2030,3319,2809,4127,5156,4179,4201,3536,3539,3533,2184,3505,3533,3542,3505= ,3533,1606,4174,2809,5576,5578,2063,3895,3893,2484,3864,4076,3864,687,689,6= 89,3544,771,1648,1647,5878,5903,743&techs=3DSSE,SSE2,SSE3,SSSE3,SSE4_1,SSE4= _2&text=3Dcmpps error: inlining failed in call to always_inline '__m128 _mm_cmp_ps(__m128, __m128, int)': target specific option mismatch 390 | _mm_cmp_ps (__m128 __X, __m128 __Y, const int __P) _mm_cmp[*]_ps ie _mm_cmpeq_ps and derivatives successfully inline.=