Bug 98521 - [x86] _mm256_cmov_si256 XOP function is missing
Summary: [x86] _mm256_cmov_si256 XOP function is missing
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 10.2.1
: P3 normal
Target Milestone: 10.3
Assignee: Uroš Bizjak
Depends on:
Reported: 2021-01-05 00:46 UTC by Evan Nemerson
Modified: 2021-01-06 09:47 UTC (History)
3 users (show)

See Also:
Target: x86_64-*-* i?86-*-*
Known to work:
Known to fail:
Last reconfirmed: 2021-01-05 00:00:00

Proposed patch (293 bytes, patch)
2021-01-05 10:44 UTC, Uroš Bizjak
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Evan Nemerson 2021-01-05 00:46:00 UTC
_mm256_cmov_si256 is missing from xopintrin.h.  It is present on clang and Visual Studio, and mentioned in AMD's documentation at https://developer.amd.com/wordpress/media/2012/10/New-Bulldozer-and-Piledriver-Instructions.pdf

Additionally, _mm_frcz_ss and _mm_frcz_sd take two arguments in GCC's header but should only take one (as they do in clang and VS).
Comment 1 Evan Nemerson 2021-01-05 02:53:57 UTC
Sorry, VS has two parametrs for _mm_frcz_ss and _mm_frcz_sd; clang is the outlier.

So just the missing _mm256_cmov_si256.
Comment 2 Uroš Bizjak 2021-01-05 10:44:11 UTC
Created attachment 49882 [details]
Proposed patch
Comment 3 Uroš Bizjak 2021-01-06 09:47:17 UTC
Fixed for gcc-10.3.