public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/95483] New: [i386] Missing SIMD functions
@ 2020-06-02 17:21 evan@coeus-group.com
2020-06-03 4:46 ` [Bug target/95483] " marxin at gcc dot gnu.org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: evan@coeus-group.com @ 2020-06-02 17:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95483
Bug ID: 95483
Summary: [i386] Missing SIMD functions
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: evan@coeus-group.com
Target Milestone: ---
Created attachment 48663
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48663&action=edit
Script to generate the list
I noticed the _mm_loadu_epi* functions were missing, so I threw together a
trivial script to look for missing functions based on the XML data backing the
Intel Intrinsics Guide
<https://software.intel.com/sites/landingpage/IntrinsicsGuide/>. After
filtering out the the SVML and Other functions it came up with 122 results.
I attached the script in case anyone wants to reproduce. It's ugly and slow
(it was really meant to be a throw-away), but it seems to work. Just run it in
gcc/config/i386, and pass it the location of the IIG XML.
Here is the list:
AVX _mm256_cvtsi256_si32
AVX2 _mm_broadcastsd_pd
AVX2 _mm_broadcastsi128_si256
AVX-512 _mm512_storeu_epi16
AVX-512 _mm512_storeu_epi8
AVX-512 _mm256_storeu_epi16
AVX-512 _mm256_storeu_epi8
AVX-512 _mm_storeu_epi16
AVX-512 _mm_storeu_epi8
AVX-512 _mm512_loadu_epi16
AVX-512 _mm512_loadu_epi8
AVX-512 _mm256_loadu_epi16
AVX-512 _mm256_loadu_epi8
AVX-512 _mm_loadu_epi16
AVX-512 _mm_loadu_epi8
AVX-512 _mm512_mask_reduce_round_pd
AVX-512 _mm512_maskz_reduce_round_pd
AVX-512 _mm512_reduce_round_pd
AVX-512 _mm512_mask_reduce_round_ps
AVX-512 _mm512_maskz_reduce_round_ps
AVX-512 _mm512_reduce_round_ps
AVX-512 _mm_mask_reduce_round_sd
AVX-512 _mm_maskz_reduce_round_sd
AVX-512 _mm_reduce_round_sd
AVX-512 _mm_mask_reduce_round_ss
AVX-512 _mm_maskz_reduce_round_ss
AVX-512 _mm_reduce_round_ss
AVX-512 _mm_mask_rcp28_round_sd
AVX-512 _mm_mask_rcp28_sd
AVX-512 _mm_maskz_rcp28_round_sd
AVX-512 _mm_maskz_rcp28_sd
AVX-512 _mm_mask_rcp28_round_ss
AVX-512 _mm_mask_rcp28_ss
AVX-512 _mm_maskz_rcp28_round_ss
AVX-512 _mm_maskz_rcp28_ss
AVX-512 _mm_mask_rsqrt28_round_sd
AVX-512 _mm_mask_rsqrt28_sd
AVX-512 _mm_maskz_rsqrt28_round_sd
AVX-512 _mm_maskz_rsqrt28_sd
AVX-512 _mm_mask_rsqrt28_round_ss
AVX-512 _mm_mask_rsqrt28_ss
AVX-512 _mm_maskz_rsqrt28_round_ss
AVX-512 _mm_maskz_rsqrt28_ss
AVX-512 _mm256_mask_cvt_roundps_ph
AVX-512 _mm256_maskz_cvt_roundps_ph
AVX-512 _mm_mask_cvt_roundps_ph
AVX-512 _mm_maskz_cvt_roundps_ph
AVX-512 _mm256_store_epi32
AVX-512 _mm_store_epi32
AVX-512 _mm256_loadu_epi64
AVX-512 _mm256_loadu_epi32
AVX-512 _mm_loadu_epi64
AVX-512 _mm_loadu_epi32
AVX-512 _mm256_load_epi64
AVX-512 _mm256_load_epi32
AVX-512 _mm_load_epi64
AVX-512 _mm_load_epi32
AVX-512 _mm_cvtsd_i32
AVX-512 _mm_cvtsd_i64
AVX-512 _mm_mask_cvt_roundsd_ss
AVX-512 _mm_mask_cvtsd_ss
AVX-512 _mm_maskz_cvt_roundsd_ss
AVX-512 _mm_maskz_cvtsd_ss
AVX-512 _mm_cvti32_sd
AVX-512 _mm_cvti64_sd
AVX-512 _mm_cvti32_ss
AVX-512 _mm_cvti64_ss
AVX-512 _mm_mask_cvt_roundss_sd
AVX-512 _mm_mask_cvtss_sd
AVX-512 _mm_maskz_cvt_roundss_sd
AVX-512 _mm_maskz_cvtss_sd
AVX-512 _mm_cvtss_i32
AVX-512 _mm_cvtss_i64
AVX-512 _mm_mask_scalef_sd
AVX-512 _mm_maskz_scalef_sd
AVX-512 _mm_mask_scalef_ss
AVX-512 _mm_maskz_scalef_ss
AVX-512 _mm_mask_sqrt_sd
AVX-512 _mm_maskz_sqrt_sd
AVX-512 _mm_mask_sqrt_ss
AVX-512 _mm_maskz_sqrt_ss
AVX-512 _mm512_cvtsi512_si32
AVX-512/KNC _mm512_mask_permutevar_epi32
AVX-512/KNC _mm512_permutevar_epi32
AVX-512/KNC _mm512_cvtpslo_pd
AVX-512/KNC _mm512_mask_cvtpslo_pd
AVX-512/KNC _mm512_cvtepi32lo_pd
AVX-512/KNC _mm512_mask_cvtepi32lo_pd
AVX-512/KNC _mm512_cvtepu32lo_pd
AVX-512/KNC _mm512_mask_cvtepu32lo_pd
AVX-512/KNC _mm512_i32extgather_epi32
AVX-512/KNC _mm512_mask_i32extgather_epi32
AVX-512/KNC _mm512_i32loextgather_epi64
AVX-512/KNC _mm512_mask_i32loextgather_epi64
AVX-512/KNC _mm512_i32extgather_ps
AVX-512/KNC _mm512_mask_i32extgather_ps
AVX-512/KNC _mm512_i32loextgather_pd
AVX-512/KNC _mm512_mask_i32loextgather_pd
AVX-512/KNC _mm512_i32extscatter_ps
AVX-512/KNC _mm512_mask_i32extscatter_ps
AVX-512/KNC _mm512_i32loextscatter_pd
AVX-512/KNC _mm512_mask_i32loextscatter_pd
AVX-512/KNC _mm512_i32loextscatter_epi64
AVX-512/KNC _mm512_mask_i32loextscatter_epi64
AVX-512/KNC _mm512_cvtpd_pslo
AVX-512/KNC _mm512_mask_cvtpd_pslo
AVX-512/KNC _mm512_i32logather_epi64
AVX-512/KNC _mm512_mask_i32logather_epi64
AVX-512/KNC _mm512_i32logather_pd
AVX-512/KNC _mm512_mask_i32logather_pd
AVX-512/KNC _mm512_i32loscatter_pd
AVX-512/KNC _mm512_mask_i32loscatter_pd
AVX-512/KNC _mm512_i32extscatter_epi32
AVX-512/KNC _mm512_mask_i32extscatter_epi32
AVX-512/KNC _mm512_prefetch_i32extgather_ps
AVX-512/KNC _mm512_mask_prefetch_i32extgather_ps
AVX-512/KNC _mm512_prefetch_i32extscatter_ps
AVX-512/KNC _mm512_mask_prefetch_i32extscatter_ps
SSE _mm_storeu_si16
SSE _mm_loadu_si16
SSE2 _mm_loadu_si32
SSE2 _mm_storeu_si32
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/95483] [i386] Missing SIMD functions
2020-06-02 17:21 [Bug target/95483] New: [i386] Missing SIMD functions evan@coeus-group.com
@ 2020-06-03 4:46 ` marxin at gcc dot gnu.org
2020-08-05 0:25 ` thiago at kde dot org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-06-03 4:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95483
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hjl.tools at gmail dot com,
| |jakub at gcc dot gnu.org,
| |marxin at gcc dot gnu.org,
| |uros at gcc dot gnu.org
Last reconfirmed| |2020-06-03
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Thank you very much for the report. I'm adding target maintainers to CC.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/95483] [i386] Missing SIMD functions
2020-06-02 17:21 [Bug target/95483] New: [i386] Missing SIMD functions evan@coeus-group.com
2020-06-03 4:46 ` [Bug target/95483] " marxin at gcc dot gnu.org
@ 2020-08-05 0:25 ` thiago at kde dot org
2020-10-14 18:39 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: thiago at kde dot org @ 2020-08-05 0:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95483
--- Comment #2 from Thiago Macieira <thiago at kde dot org> ---
Hello Evan
I was about to report that _mm_loadu_epi16 is missing, but I'm glad you've got
a more complete listing. FYI, here's a Godbolt link showing ICC and Clang with
this intrinsic: https://gcc.godbolt.org/z/8nMcPE. I'll only have to report to
Microsoft and will reference this bug report so they check their own
implementation.
FYI, for anyone stumbling upon this report when their code failed: most of the
missing intrinsics can be worked around by combining one or more and will
result in the same code.
(In reply to Evan Nemerson from comment #0)
> Here is the list:
>
> AVX _mm256_cvtsi256_si32
> AVX-512 _mm512_cvtsi512_si32
_mm256_extract_epi32
or
_mm_cvtsi128_si32(mm256_castsi256_si128(x))
Ditto for 512-bit.
> AVX2 _mm_broadcastsd_pd
If using AVX2 is acceptable, one can use _mm_broadcastq_epi64 with suitable
casting between __m128i and __m128d.
> AVX2 _mm_broadcastsi128_si256
Looks like a typo; this one exists as _mm256 and so it should be.
> AVX-512 _mm512_storeu_epi16
> AVX-512 _mm512_storeu_epi8
> AVX-512 _mm256_storeu_epi16
> AVX-512 _mm256_storeu_epi8
> AVX-512 _mm_storeu_epi16
> AVX-512 _mm_storeu_epi8
> AVX-512 _mm512_loadu_epi16
> AVX-512 _mm512_loadu_epi8
> AVX-512 _mm256_loadu_epi16
> AVX-512 _mm256_loadu_epi8
> AVX-512 _mm_loadu_epi16
> AVX-512 _mm_loadu_epi8
> AVX-512 _mm256_store_epi32
> AVX-512 _mm_store_epi32
> AVX-512 _mm256_loadu_epi64
> AVX-512 _mm256_loadu_epi32
> AVX-512 _mm_loadu_epi64
> AVX-512 _mm_loadu_epi32
> AVX-512 _mm256_load_epi64
> AVX-512 _mm256_load_epi32
> AVX-512 _mm_load_epi64
> AVX-512 _mm_load_epi32
All of these can be implemented as the mask (for storing) or maskz (for
loading) equivalents with a mask of ~0 (UINT64_MAX for the epi8 ones). For
example
_mm256_loadu_epi16(ptr)
becomes
_mm256_maskz_loadu_epi16(~0, ptr)
> AVX-512 _mm_cvtsd_i32
> AVX-512 _mm_cvtsd_i64
> AVX-512 _mm_cvtss_i32
> AVX-512 _mm_cvtss_i64
> AVX-512 _mm_cvti32_sd
> AVX-512 _mm_cvti64_sd
> AVX-512 _mm_cvti32_ss
> AVX-512 _mm_cvti64_ss
Not sure why those are needed; they generate the same instruction as
_mm_cvtsX_siYY. Clang's header is even:
#define _mm_cvtss_i32 _mm_cvtss_si32
#define _mm_cvtsd_i32 _mm_cvtsd_si32
#define _mm_cvti32_sd _mm_cvtsi32_sd
#define _mm_cvti32_ss _mm_cvtsi32_ss
#ifdef __x86_64__
#define _mm_cvtss_i64 _mm_cvtss_si64
#define _mm_cvtsd_i64 _mm_cvtsd_si64
#define _mm_cvti64_sd _mm_cvtsi64_sd
#define _mm_cvti64_ss _mm_cvtsi64_ss
#endif
ICC does the same.
> SSE _mm_storeu_si16
> SSE2 _mm_storeu_si32
With casting of the pointer:
*dest = _mm_cvtsi128_si16(mm)
If the casting is too scary or triggers aliasing warnings, then:
uintXX_t val = _mm_cvtsi128_siXX(mm);
memcpy(dest, &val, sizeof(val));
GCC optimises the memcpy and reg-reg MOVD into a single MOVD into memory.
> SSE _mm_loadu_si16
> SSE2 _mm_loadu_si32
Ditto for the _mm_cvtsiXX_si128.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/95483] [i386] Missing SIMD functions
2020-06-02 17:21 [Bug target/95483] New: [i386] Missing SIMD functions evan@coeus-group.com
2020-06-03 4:46 ` [Bug target/95483] " marxin at gcc dot gnu.org
2020-08-05 0:25 ` thiago at kde dot org
@ 2020-10-14 18:39 ` cvs-commit at gcc dot gnu.org
2020-10-14 18:41 ` hjl.tools at gmail dot com
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-10-14 18:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95483
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <hjl@gcc.gnu.org>:
https://gcc.gnu.org/g:93103603fd66a9fcf3ea2d8b52657e4b2496f544
commit r11-3891-g93103603fd66a9fcf3ea2d8b52657e4b2496f544
Author: Sunil K Pandey <skpgkp2@gmail.com>
Date: Wed Oct 14 11:36:39 2020 -0700
x86: Add missing intrinsics [PR95483]
Tested on x86-64.
gcc/ChangeLog:
PR target/95483
* config/i386/avx2intrin.h (_mm_broadcastsi128_si256): New
intrinsics.
(_mm_broadcastsd_pd): Ditto.
* config/i386/avx512bwintrin.h (_mm512_loadu_epi16): New
intrinsics.
(_mm512_storeu_epi16): Ditto.
(_mm512_loadu_epi8): Ditto.
(_mm512_storeu_epi8): Ditto.
* config/i386/avx512dqintrin.h (_mm_reduce_round_sd): New
intrinsics.
(_mm_mask_reduce_round_sd): Ditto.
(_mm_maskz_reduce_round_sd): Ditto.
(_mm_reduce_round_ss): Ditto.
(_mm_mask_reduce_round_ss): Ditto.
(_mm_maskz_reduce_round_ss): Ditto.
(_mm512_reduce_round_pd): Ditto.
(_mm512_mask_reduce_round_pd): Ditto.
(_mm512_maskz_reduce_round_pd): Ditto.
(_mm512_reduce_round_ps): Ditto.
(_mm512_mask_reduce_round_ps): Ditto.
(_mm512_maskz_reduce_round_ps): Ditto.
* config/i386/avx512erintrin.h
(_mm_mask_rcp28_round_sd): New intrinsics.
(_mm_maskz_rcp28_round_sd): Ditto.
(_mm_mask_rcp28_round_ss): Ditto.
(_mm_maskz_rcp28_round_ss): Ditto.
(_mm_mask_rsqrt28_round_sd): Ditto.
(_mm_maskz_rsqrt28_round_sd): Ditto.
(_mm_mask_rsqrt28_round_ss): Ditto.
(_mm_maskz_rsqrt28_round_ss): Ditto.
(_mm_mask_rcp28_sd): Ditto.
(_mm_maskz_rcp28_sd): Ditto.
(_mm_mask_rcp28_ss): Ditto.
(_mm_maskz_rcp28_ss): Ditto.
(_mm_mask_rsqrt28_sd): Ditto.
(_mm_maskz_rsqrt28_sd): Ditto.
(_mm_mask_rsqrt28_ss): Ditto.
(_mm_maskz_rsqrt28_ss): Ditto.
* config/i386/avx512fintrin.h (_mm_mask_sqrt_sd): New intrinsics.
(_mm_maskz_sqrt_sd): Ditto.
(_mm_mask_sqrt_ss): Ditto.
(_mm_maskz_sqrt_ss): Ditto.
(_mm_mask_scalef_sd): Ditto.
(_mm_maskz_scalef_sd): Ditto.
(_mm_mask_scalef_ss): Ditto.
(_mm_maskz_scalef_ss): Ditto.
(_mm_mask_cvt_roundsd_ss): Ditto.
(_mm_maskz_cvt_roundsd_ss): Ditto.
(_mm_mask_cvt_roundss_sd): Ditto.
(_mm_maskz_cvt_roundss_sd): Ditto.
(_mm_mask_cvtss_sd): Ditto.
(_mm_maskz_cvtss_sd): Ditto.
(_mm_mask_cvtsd_ss): Ditto.
(_mm_maskz_cvtsd_ss): Ditto.
(_mm512_cvtsi512_si32): Ditto.
(_mm_cvtsd_i32): Ditto.
(_mm_cvtss_i32): Ditto.
(_mm_cvti32_sd): Ditto.
(_mm_cvti32_ss): Ditto.
(_mm_cvtsd_i64): Ditto.
(_mm_cvtss_i64): Ditto.
(_mm_cvti64_sd): Ditto.
(_mm_cvti64_ss): Ditto.
* config/i386/avx512vlbwintrin.h (_mm256_storeu_epi8): New
intrinsics.
(_mm_storeu_epi8): Ditto.
(_mm256_loadu_epi16): Ditto.
(_mm_loadu_epi16): Ditto.
(_mm256_loadu_epi8): Ditto.
(_mm_loadu_epi8): Ditto.
(_mm256_storeu_epi16): Ditto.
(_mm_storeu_epi16): Ditto.
* config/i386/avx512vlintrin.h (_mm256_load_epi64): New intrinsics.
(_mm_load_epi64): Ditto.
(_mm256_load_epi32): Ditto.
(_mm_load_epi32): Ditto.
(_mm256_store_epi32): Ditto.
(_mm_store_epi32): Ditto.
(_mm256_loadu_epi64): Ditto.
(_mm_loadu_epi64): Ditto.
(_mm256_loadu_epi32): Ditto.
(_mm_loadu_epi32): Ditto.
(_mm256_mask_cvt_roundps_ph): Ditto.
(_mm256_maskz_cvt_roundps_ph): Ditto.
(_mm_mask_cvt_roundps_ph): Ditto.
(_mm_maskz_cvt_roundps_ph): Ditto.
* config/i386/avxintrin.h (_mm256_cvtsi256_si32): New intrinsics.
* config/i386/emmintrin.h (_mm_loadu_si32): New intrinsics.
(_mm_loadu_si16): Ditto.
(_mm_storeu_si32): Ditto.
(_mm_storeu_si16): Ditto.
* config/i386/i386-builtin-types.def
(V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT): Add new type.
(V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT): Ditto.
(V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT): Ditto.
(V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT): Ditto.
* config/i386/i386-builtin.def
(__builtin_ia32_cvtsd2ss_mask_round): New builtin.
(__builtin_ia32_cvtss2sd_mask_round): Ditto.
(__builtin_ia32_rcp28sd_mask_round): Ditto.
(__builtin_ia32_rcp28ss_mask_round): Ditto.
(__builtin_ia32_rsqrt28sd_mask_round): Ditto.
(__builtin_ia32_rsqrt28ss_mask_round): Ditto.
(__builtin_ia32_reducepd512_mask_round): Ditto.
(__builtin_ia32_reduceps512_mask_round): Ditto.
(__builtin_ia32_reducesd_mask_round): Ditto.
(__builtin_ia32_reducess_mask_round): Ditto.
* config/i386/i386-expand.c
(ix86_expand_round_builtin): Expand round builtin for new type.
(V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT)
(V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT)
(V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT)
(V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT)
* config/i386/mmintrin.h ()
Define datatype __m32 and __m16.
Define datatype __m32_u and __m16_u.
* config/i386/sse.md: Adjust pattern.
(<mask_codefor>reducep<mode><mask_name><round_saeonly_name>):
Adjust.
(reduces<mode><mask_scalar_name><round_saeonly_scalar_name>):
Ditto.
(sse2_cvtsd2ss<mask_name><round_name>): Ditto.
(sse2_cvtss2sd<mask_name><round_saeonly_name>): Ditto.
(avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Ditto.
(avx512er_vmrsqrt28<mode><mask_name><round_saeonly_name>): Ditto.
gcc/testsuite/ChangeLog:
PR target/95483
* gcc.target/i386/avx-1.c: Add test.
* gcc.target/i386/avx2-vbroadcastsi128-1.c: Ditto.
* gcc.target/i386/avx2-vbroadcastsi128-2.c: Ditto.
* gcc.target/i386/avx512bw-vmovdqu16-1.c: Ditto.
* gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto.
* gcc.target/i386/avx512dq-vreducesd-1.c: Ditto.
* gcc.target/i386/avx512dq-vreducesd-2.c: Ditto.
* gcc.target/i386/avx512dq-vreducess-1.c: Ditto.
* gcc.target/i386/avx512dq-vreducess-2.c: Ditto.
* gcc.target/i386/avx512er-vrcp28sd-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto.
* gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto.
* gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto.
* gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
* gcc.target/i386/avx512f-vcvtsd2si-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsd2si64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsi2ss-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2sd-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2si-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefsd-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefsd-2.c: Ditto.
* gcc.target/i386/avx512f-vscalefss-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefss-2.c: Ditto.
* gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtsd-2.c: Ditto.
* gcc.target/i386/avx512f-vsqrtss-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtss-2.c: Ditto.
* gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto.
* gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* gcc.target/i386/avx512dq-vreducepd-3.c: New test.
* gcc.target/i386/avx512dq-vreducepd-4.c: New test.
* gcc.target/i386/avx512dq-vreduceps-3.c: New test.
* gcc.target/i386/avx512dq-vreduceps-4.c: New test.
* gcc.target/i386/avx512f-vcvtsi2sd-1.c: New test.
* gcc.target/i386/pr95483-1.c: New test.
* gcc.target/i386/pr95483-2.c: New test.
* gcc.target/i386/pr95483-3.c: New test.
* gcc.target/i386/pr95483-4.c: New test.
* gcc.target/i386/pr95483-5.c: New test.
* gcc.target/i386/pr95483-6.c: New test.
* gcc.target/i386/pr95483-7.c: New test.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/95483] [i386] Missing SIMD functions
2020-06-02 17:21 [Bug target/95483] New: [i386] Missing SIMD functions evan@coeus-group.com
` (2 preceding siblings ...)
2020-10-14 18:39 ` cvs-commit at gcc dot gnu.org
@ 2020-10-14 18:41 ` hjl.tools at gmail dot com
2021-07-21 20:07 ` hjl.tools at gmail dot com
2021-08-03 3:30 ` pinskia at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2020-10-14 18:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95483
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Target Milestone|--- |11.0
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
Fixed for GCC 11.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/95483] [i386] Missing SIMD functions
2020-06-02 17:21 [Bug target/95483] New: [i386] Missing SIMD functions evan@coeus-group.com
` (3 preceding siblings ...)
2020-10-14 18:41 ` hjl.tools at gmail dot com
@ 2021-07-21 20:07 ` hjl.tools at gmail dot com
2021-08-03 3:30 ` pinskia at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2021-07-21 20:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95483
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jbeulich at suse dot com
--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> ---
*** Bug 88035 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/95483] [i386] Missing SIMD functions
2020-06-02 17:21 [Bug target/95483] New: [i386] Missing SIMD functions evan@coeus-group.com
` (4 preceding siblings ...)
2021-07-21 20:07 ` hjl.tools at gmail dot com
@ 2021-08-03 3:30 ` pinskia at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-03 3:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95483
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |DrTroll at gmx dot de
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 92013 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-08-03 3:30 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-02 17:21 [Bug target/95483] New: [i386] Missing SIMD functions evan@coeus-group.com
2020-06-03 4:46 ` [Bug target/95483] " marxin at gcc dot gnu.org
2020-08-05 0:25 ` thiago at kde dot org
2020-10-14 18:39 ` cvs-commit at gcc dot gnu.org
2020-10-14 18:41 ` hjl.tools at gmail dot com
2021-07-21 20:07 ` hjl.tools at gmail dot com
2021-08-03 3:30 ` pinskia at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).