RE: r270047 - [Clang][AVX512][intrinsics] continue completing missing set intrinsics
No problem, I will look at it. Regards Michael Zuckerman -Original Message- From: steve...@apple.com [mailto:steve...@apple.com] Sent: Thursday, May 19, 2016 23:27 To: Zuckerman, Michael Cc: cfe-commits@lists.llvm.org Subject: Re: r270047 - [Clang][AVX512][intrinsics] continue completing missing set intrinsics Hi Michael This commit seems break darwin LTO bootstrap bot. http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/7916/ Also breaks the Asan Ubsan bot: http://lab.llvm.org:8080/green/job/clang-stage2-cmake-RgSan_check/1742/ Can you talk a look? I don't why the failure doesn't show up in other configuration. Let me know if you need any help. Thanks Steven > On May 19, 2016, at 5:07 AM, Michael Zuckerman via cfe-commits > wrote: > > Author: mzuckerm > Date: Thu May 19 07:07:49 2016 > New Revision: 270047 > > URL: http://llvm.org/viewvc/llvm-project?rev=270047&view=rev > Log: > [Clang][AVX512][intrinsics] continue completing missing set intrinsics > > Differential Revision: http://reviews.llvm.org/D20160 > > > Modified: >cfe/trunk/lib/Headers/avx512fintrin.h >cfe/trunk/test/CodeGen/avx512f-builtins.c > > Modified: cfe/trunk/lib/Headers/avx512fintrin.h > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/avx512fintri > n.h?rev=270047&r1=270046&r2=270047&view=diff > == > > --- cfe/trunk/lib/Headers/avx512fintrin.h (original) > +++ cfe/trunk/lib/Headers/avx512fintrin.h Thu May 19 07:07:49 2016 > @@ -8983,6 +8983,21 @@ _mm512_mask_set1_epi64 (__m512i __O, __m > __M); > } > > +static __inline __m512i __DEFAULT_FN_ATTRS > +_mm512_set_epi32 (int __A, int __B, int __C, int __D, > + int __E, int __F, int __G, int __H, > + int __I, int __J, int __K, int __L, > + int __M, int __N, int __O, int __P) { > + return __extension__ (__m512i)(__v16si) > + { __P, __O, __N, __M, __L, __K, __J, __I, > +__H, __G, __F, __E, __D, __C, __B, __A }; } > + > +#define _mm512_setr_epi32(e0,e1,e2,e3,e4,e5,e6,e7, \ > + e8,e9,e10,e11,e12,e13,e14,e15) \ > + > +_mm512_set_epi32(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e > +0) > + > static __inline__ __m512i __DEFAULT_FN_ATTRS > _mm512_set_epi64 (long long __A, long long __B, long long __C, > long long __D, long long __E, long long __F, @@ -8992,6 +9007,9 > @@ _mm512_set_epi64 (long long __A, long lo > { __H, __G, __F, __E, __D, __C, __B, __A }; } > > +#define _mm512_setr_epi64(e0,e1,e2,e3,e4,e5,e6,e7) \ > + _mm512_set_epi64(e7,e6,e5,e4,e3,e2,e1,e0) > + > static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_set_pd (double > __A, double __B, double __C, double __D, > double __E, double __F, double __G, double __H) @@ -9000,6 > +9018,9 @@ _mm512_set_pd (double __A, double __B, d > { __H, __G, __F, __E, __D, __C, __B, __A }; } > > +#define _mm512_setr_pd(e0,e1,e2,e3,e4,e5,e6,e7) \ > + _mm512_set_pd(e7,e6,e5,e4,e3,e2,e1,e0) > + > static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_set_ps (float __A, > float __B, float __C, float __D, > float __E, float __F, float __G, float __H, @@ -9011,6 +9032,9 > @@ _mm512_set_ps (float __A, float __B, flo > __H, __G, __F, __E, __D, __C, __B, __A }; } > > +#define > +_mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) > +\ > + > +_mm512_set_ps(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0) > + > #undef __DEFAULT_FN_ATTRS > > #endif // __AVX512FINTRIN_H > > Modified: cfe/trunk/test/CodeGen/avx512f-builtins.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512f-bui > ltins.c?rev=270047&r1=270046&r2=270047&view=diff > == > > --- cfe/trunk/test/CodeGen/avx512f-builtins.c (original) > +++ cfe/trunk/test/CodeGen/avx512f-builtins.c Thu May 19 07:07:49 2016 > @@ -6521,6 +6521,74 @@ __m512i test_mm512_mask_set1_epi32 (__m5 > return _mm512_mask_set1_epi32 ( __O, __M, __A); } > > +__m512i test_mm512_set_epi32 (int __A, int __B, int __C, int __D, > + int __E, int __F, int __G, int __H, > + int __I, int __J, int __K, int __L, > + int __M, int __N, int __O, int __P) { > + //CHECK-LABLE: @test_mm512_set_epi32 > + //CHECK: insertelement{{.*}}i32 0 > +//CHECK: insertelement{{.*}}i32 1 > +//CHECK: insertelement{{.*}}i32 2 > +//CHECK: insertelement{{.*}}i32 3 > +//CHECK: insertelement{{.*}}i32 4 > +//CHECK: insertelement{{.*}}i32 5 > +//CHECK: i
Re: r270047 - [Clang][AVX512][intrinsics] continue completing missing set intrinsics
Hi Michael This commit seems break darwin LTO bootstrap bot. http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/7916/ Also breaks the Asan Ubsan bot: http://lab.llvm.org:8080/green/job/clang-stage2-cmake-RgSan_check/1742/ Can you talk a look? I don't why the failure doesn't show up in other configuration. Let me know if you need any help. Thanks Steven > On May 19, 2016, at 5:07 AM, Michael Zuckerman via cfe-commits > wrote: > > Author: mzuckerm > Date: Thu May 19 07:07:49 2016 > New Revision: 270047 > > URL: http://llvm.org/viewvc/llvm-project?rev=270047&view=rev > Log: > [Clang][AVX512][intrinsics] continue completing missing set intrinsics > > Differential Revision: http://reviews.llvm.org/D20160 > > > Modified: >cfe/trunk/lib/Headers/avx512fintrin.h >cfe/trunk/test/CodeGen/avx512f-builtins.c > > Modified: cfe/trunk/lib/Headers/avx512fintrin.h > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/avx512fintrin.h?rev=270047&r1=270046&r2=270047&view=diff > == > --- cfe/trunk/lib/Headers/avx512fintrin.h (original) > +++ cfe/trunk/lib/Headers/avx512fintrin.h Thu May 19 07:07:49 2016 > @@ -8983,6 +8983,21 @@ _mm512_mask_set1_epi64 (__m512i __O, __m > __M); > } > > +static __inline __m512i __DEFAULT_FN_ATTRS > +_mm512_set_epi32 (int __A, int __B, int __C, int __D, > + int __E, int __F, int __G, int __H, > + int __I, int __J, int __K, int __L, > + int __M, int __N, int __O, int __P) > +{ > + return __extension__ (__m512i)(__v16si) > + { __P, __O, __N, __M, __L, __K, __J, __I, > +__H, __G, __F, __E, __D, __C, __B, __A }; > +} > + > +#define _mm512_setr_epi32(e0,e1,e2,e3,e4,e5,e6,e7, \ > + e8,e9,e10,e11,e12,e13,e14,e15) \ > + _mm512_set_epi32(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0) > + > static __inline__ __m512i __DEFAULT_FN_ATTRS > _mm512_set_epi64 (long long __A, long long __B, long long __C, > long long __D, long long __E, long long __F, > @@ -8992,6 +9007,9 @@ _mm512_set_epi64 (long long __A, long lo > { __H, __G, __F, __E, __D, __C, __B, __A }; > } > > +#define _mm512_setr_epi64(e0,e1,e2,e3,e4,e5,e6,e7) \ > + _mm512_set_epi64(e7,e6,e5,e4,e3,e2,e1,e0) > + > static __inline__ __m512d __DEFAULT_FN_ATTRS > _mm512_set_pd (double __A, double __B, double __C, double __D, > double __E, double __F, double __G, double __H) > @@ -9000,6 +9018,9 @@ _mm512_set_pd (double __A, double __B, d > { __H, __G, __F, __E, __D, __C, __B, __A }; > } > > +#define _mm512_setr_pd(e0,e1,e2,e3,e4,e5,e6,e7) \ > + _mm512_set_pd(e7,e6,e5,e4,e3,e2,e1,e0) > + > static __inline__ __m512 __DEFAULT_FN_ATTRS > _mm512_set_ps (float __A, float __B, float __C, float __D, > float __E, float __F, float __G, float __H, > @@ -9011,6 +9032,9 @@ _mm512_set_ps (float __A, float __B, flo > __H, __G, __F, __E, __D, __C, __B, __A }; > } > > +#define > _mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) \ > + _mm512_set_ps(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0) > + > #undef __DEFAULT_FN_ATTRS > > #endif // __AVX512FINTRIN_H > > Modified: cfe/trunk/test/CodeGen/avx512f-builtins.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512f-builtins.c?rev=270047&r1=270046&r2=270047&view=diff > == > --- cfe/trunk/test/CodeGen/avx512f-builtins.c (original) > +++ cfe/trunk/test/CodeGen/avx512f-builtins.c Thu May 19 07:07:49 2016 > @@ -6521,6 +6521,74 @@ __m512i test_mm512_mask_set1_epi32 (__m5 > return _mm512_mask_set1_epi32 ( __O, __M, __A); > } > > +__m512i test_mm512_set_epi32 (int __A, int __B, int __C, int __D, > + int __E, int __F, int __G, int __H, > + int __I, int __J, int __K, int __L, > + int __M, int __N, int __O, int __P) > +{ > + //CHECK-LABLE: @test_mm512_set_epi32 > + //CHECK: insertelement{{.*}}i32 0 > +//CHECK: insertelement{{.*}}i32 1 > +//CHECK: insertelement{{.*}}i32 2 > +//CHECK: insertelement{{.*}}i32 3 > +//CHECK: insertelement{{.*}}i32 4 > +//CHECK: insertelement{{.*}}i32 5 > +//CHECK: insertelement{{.*}}i32 6 > +//CHECK: insertelement{{.*}}i32 7 > +//CHECK: insertelement{{.*}}i32 8 > +//CHECK: insertelement{{.*}}i32 9 > +//CHECK: insertelement{{.*}}i32 10 > +//CHECK: insertelement{{.*}}i32 11 > +//CHECK: insertelement{{.*}}i32 12 > +//CHECK: insertelement{{.*}}i32 13 > +//CHECK: insertelement{{.*}}i32 14 > +//CHECK: insertelement{{.*}}i32 15 > + return _mm512_set_epi32( __A, __B, __C, __D,__E, __F, __G, __H, > + __I, __J, __K, __L,__M, __N, __O, __P); > +} > + > +__m512i test_mm512_setr_epi32 (int __A, int __B, int __C, int __D, > + int __E, int __F, int __G, int __H, > + int __I, int __J, int __K, int _
r270047 - [Clang][AVX512][intrinsics] continue completing missing set intrinsics
Author: mzuckerm Date: Thu May 19 07:07:49 2016 New Revision: 270047 URL: http://llvm.org/viewvc/llvm-project?rev=270047&view=rev Log: [Clang][AVX512][intrinsics] continue completing missing set intrinsics Differential Revision: http://reviews.llvm.org/D20160 Modified: cfe/trunk/lib/Headers/avx512fintrin.h cfe/trunk/test/CodeGen/avx512f-builtins.c Modified: cfe/trunk/lib/Headers/avx512fintrin.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/avx512fintrin.h?rev=270047&r1=270046&r2=270047&view=diff == --- cfe/trunk/lib/Headers/avx512fintrin.h (original) +++ cfe/trunk/lib/Headers/avx512fintrin.h Thu May 19 07:07:49 2016 @@ -8983,6 +8983,21 @@ _mm512_mask_set1_epi64 (__m512i __O, __m __M); } +static __inline __m512i __DEFAULT_FN_ATTRS +_mm512_set_epi32 (int __A, int __B, int __C, int __D, + int __E, int __F, int __G, int __H, + int __I, int __J, int __K, int __L, + int __M, int __N, int __O, int __P) +{ + return __extension__ (__m512i)(__v16si) + { __P, __O, __N, __M, __L, __K, __J, __I, +__H, __G, __F, __E, __D, __C, __B, __A }; +} + +#define _mm512_setr_epi32(e0,e1,e2,e3,e4,e5,e6,e7, \ + e8,e9,e10,e11,e12,e13,e14,e15) \ + _mm512_set_epi32(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0) + static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_set_epi64 (long long __A, long long __B, long long __C, long long __D, long long __E, long long __F, @@ -8992,6 +9007,9 @@ _mm512_set_epi64 (long long __A, long lo { __H, __G, __F, __E, __D, __C, __B, __A }; } +#define _mm512_setr_epi64(e0,e1,e2,e3,e4,e5,e6,e7) \ + _mm512_set_epi64(e7,e6,e5,e4,e3,e2,e1,e0) + static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_set_pd (double __A, double __B, double __C, double __D, double __E, double __F, double __G, double __H) @@ -9000,6 +9018,9 @@ _mm512_set_pd (double __A, double __B, d { __H, __G, __F, __E, __D, __C, __B, __A }; } +#define _mm512_setr_pd(e0,e1,e2,e3,e4,e5,e6,e7) \ + _mm512_set_pd(e7,e6,e5,e4,e3,e2,e1,e0) + static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_set_ps (float __A, float __B, float __C, float __D, float __E, float __F, float __G, float __H, @@ -9011,6 +9032,9 @@ _mm512_set_ps (float __A, float __B, flo __H, __G, __F, __E, __D, __C, __B, __A }; } +#define _mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) \ + _mm512_set_ps(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0) + #undef __DEFAULT_FN_ATTRS #endif // __AVX512FINTRIN_H Modified: cfe/trunk/test/CodeGen/avx512f-builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512f-builtins.c?rev=270047&r1=270046&r2=270047&view=diff == --- cfe/trunk/test/CodeGen/avx512f-builtins.c (original) +++ cfe/trunk/test/CodeGen/avx512f-builtins.c Thu May 19 07:07:49 2016 @@ -6521,6 +6521,74 @@ __m512i test_mm512_mask_set1_epi32 (__m5 return _mm512_mask_set1_epi32 ( __O, __M, __A); } +__m512i test_mm512_set_epi32 (int __A, int __B, int __C, int __D, + int __E, int __F, int __G, int __H, + int __I, int __J, int __K, int __L, + int __M, int __N, int __O, int __P) +{ + //CHECK-LABLE: @test_mm512_set_epi32 + //CHECK: insertelement{{.*}}i32 0 +//CHECK: insertelement{{.*}}i32 1 +//CHECK: insertelement{{.*}}i32 2 +//CHECK: insertelement{{.*}}i32 3 +//CHECK: insertelement{{.*}}i32 4 +//CHECK: insertelement{{.*}}i32 5 +//CHECK: insertelement{{.*}}i32 6 +//CHECK: insertelement{{.*}}i32 7 +//CHECK: insertelement{{.*}}i32 8 +//CHECK: insertelement{{.*}}i32 9 +//CHECK: insertelement{{.*}}i32 10 +//CHECK: insertelement{{.*}}i32 11 +//CHECK: insertelement{{.*}}i32 12 +//CHECK: insertelement{{.*}}i32 13 +//CHECK: insertelement{{.*}}i32 14 +//CHECK: insertelement{{.*}}i32 15 + return _mm512_set_epi32( __A, __B, __C, __D,__E, __F, __G, __H, + __I, __J, __K, __L,__M, __N, __O, __P); +} + +__m512i test_mm512_setr_epi32 (int __A, int __B, int __C, int __D, + int __E, int __F, int __G, int __H, + int __I, int __J, int __K, int __L, + int __M, int __N, int __O, int __P) +{ +//CHECK-LABLE: @test_mm512_setr_epi32 + //CHECK: %0 = load{{.*}}%__P.addr, align 4 + //CHECK: %1 = load{{.*}}%__O.addr, align 4 + //CHECK: %2 = load{{.*}}%__N.addr, align 4 + //CHECK: %3 = load{{.*}}%__M.addr, align 4 + //CHECK: %4 = load{{.*}}%__L.addr, align 4 + //CHECK: %5 = load{{.*}}%__K.addr, align 4 + //CHECK: %6 = load{{.*}}%__J.addr, align 4 + //CHECK: %7 = load{{.*}}%__I.addr, align 4 + //CHECK: %8 = load{{.*}}%__H.addr, align 4 + //CHECK: %9 = load{{.*}}%__G.addr, align 4 + //CHECK: %10 = load{{.*}}%__F.addr, align 4 + //CHECK: %11 = load{{.*}}%__E.addr, align 4 + //CHECK: %12 =