Re: [PATCH] Add missing avx512fintrin.h intrinsics (PR target/89602)

2019-03-08 Thread H.J. Lu
On Thu, Mar 7, 2019 at 4:09 PM Jakub Jelinek wrote: > > On Thu, Mar 07, 2019 at 08:11:53AM +0100, Uros Bizjak wrote: > > > +(define_insn "*avx512f_load_mask" > > > + [(set (match_operand: 0 "register_operand" "=v") > > > + (vec_merge: > > > + (vec_merge: > > > +

Re: [PATCH] Add missing avx512fintrin.h intrinsics (PR target/89602)

2019-03-07 Thread H.J. Lu
Looks good to me. Thanks. On Thu, Mar 7, 2019, 4:15 PM Uros Bizjak wrote: > On Thu, Mar 7, 2019 at 9:09 AM Jakub Jelinek wrote: > > > > On Thu, Mar 07, 2019 at 08:11:53AM +0100, Uros Bizjak wrote: > > > > +(define_insn "*avx512f_load_mask" > > > > + [(set (match_operand: 0 "register_operand"

Re: [PATCH] Add missing avx512fintrin.h intrinsics (PR target/89602)

2019-03-07 Thread Uros Bizjak
On Thu, Mar 7, 2019 at 9:09 AM Jakub Jelinek wrote: > > On Thu, Mar 07, 2019 at 08:11:53AM +0100, Uros Bizjak wrote: > > > +(define_insn "*avx512f_load_mask" > > > + [(set (match_operand: 0 "register_operand" "=v") > > > + (vec_merge: > > > + (vec_merge: > > > +

Re: [PATCH] Add missing avx512fintrin.h intrinsics (PR target/89602)

2019-03-07 Thread Jakub Jelinek
On Thu, Mar 07, 2019 at 08:11:53AM +0100, Uros Bizjak wrote: > > +(define_insn "*avx512f_load_mask" > > + [(set (match_operand: 0 "register_operand" "=v") > > + (vec_merge: > > + (vec_merge: > > + (vec_duplicate: > > + (match_operand:MODEF 1 "memory_operand"

Re: [PATCH] Add missing avx512fintrin.h intrinsics (PR target/89602)

2019-03-06 Thread Uros Bizjak
On Thu, Mar 7, 2019 at 12:49 AM Jakub Jelinek wrote: > > Hi! > > The following patch adds vmovss/vmovsd masked intrinsics. > On > #include > __m128 f1 (__m128 w, __mmask8 u, const float *p) { return _mm_mask_load_ss > (w, u, p); } > __m128 f2 (__mmask8 u, const float *p) { return

[PATCH] Add missing avx512fintrin.h intrinsics (PR target/89602)

2019-03-06 Thread Jakub Jelinek
Hi! The following patch adds vmovss/vmovsd masked intrinsics. On #include __m128 f1 (__m128 w, __mmask8 u, const float *p) { return _mm_mask_load_ss (w, u, p); } __m128 f2 (__mmask8 u, const float *p) { return _mm_maskz_load_ss (u, p); } __m128d f3 (__m128d w, __mmask8 u, const double *p) {