comparison gcc/config/i386/avx512vlbwintrin.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Copyright (C) 2014-2017 Free Software Foundation, Inc. 1 /* Copyright (C) 2014-2018 Free Software Foundation, Inc.
2 2
3 This file is part of GCC. 3 This file is part of GCC.
4 4
5 GCC is free software; you can redistribute it and/or modify 5 GCC is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
1465 (__mmask16) -1); 1465 (__mmask16) -1);
1466 } 1466 }
1467 1467
1468 extern __inline __mmask16 1468 extern __inline __mmask16
1469 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1469 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1470 _mm_mask_cmp_epi8_mask (__mmask8 __U, __m128i __X, __m128i __Y, 1470 _mm_mask_cmp_epi8_mask (__mmask16 __U, __m128i __X, __m128i __Y,
1471 const int __P) 1471 const int __P)
1472 { 1472 {
1473 return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, 1473 return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
1474 (__v16qi) __Y, __P, 1474 (__v16qi) __Y, __P,
1475 (__mmask16) __U); 1475 (__mmask16) __U);
1484 (__mmask16) -1); 1484 (__mmask16) -1);
1485 } 1485 }
1486 1486
1487 extern __inline __mmask32 1487 extern __inline __mmask32
1488 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1488 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1489 _mm256_mask_cmp_epi8_mask (__mmask16 __U, __m256i __X, __m256i __Y, 1489 _mm256_mask_cmp_epi8_mask (__mmask32 __U, __m256i __X, __m256i __Y,
1490 const int __P) 1490 const int __P)
1491 { 1491 {
1492 return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, 1492 return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
1493 (__v32qi) __Y, __P, 1493 (__v32qi) __Y, __P,
1494 (__mmask32) __U); 1494 (__mmask32) __U);
1495 } 1495 }
1496 1496
1497 extern __inline __mmask16 1497 extern __inline __mmask32
1498 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1498 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1499 _mm256_cmp_epi8_mask (__m256i __X, __m256i __Y, const int __P) 1499 _mm256_cmp_epi8_mask (__m256i __X, __m256i __Y, const int __P)
1500 { 1500 {
1501 return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, 1501 return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
1502 (__v32qi) __Y, __P, 1502 (__v32qi) __Y, __P,
1541 (__mmask16) -1); 1541 (__mmask16) -1);
1542 } 1542 }
1543 1543
1544 extern __inline __mmask16 1544 extern __inline __mmask16
1545 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1545 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1546 _mm_mask_cmp_epu8_mask (__mmask8 __U, __m128i __X, __m128i __Y, 1546 _mm_mask_cmp_epu8_mask (__mmask16 __U, __m128i __X, __m128i __Y,
1547 const int __P) 1547 const int __P)
1548 { 1548 {
1549 return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, 1549 return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
1550 (__v16qi) __Y, __P, 1550 (__v16qi) __Y, __P,
1551 (__mmask16) __U); 1551 (__mmask16) __U);
1560 (__mmask16) -1); 1560 (__mmask16) -1);
1561 } 1561 }
1562 1562
1563 extern __inline __mmask32 1563 extern __inline __mmask32
1564 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1564 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1565 _mm256_mask_cmp_epu8_mask (__mmask16 __U, __m256i __X, __m256i __Y, 1565 _mm256_mask_cmp_epu8_mask (__mmask32 __U, __m256i __X, __m256i __Y,
1566 const int __P) 1566 const int __P)
1567 { 1567 {
1568 return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, 1568 return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
1569 (__v32qi) __Y, __P, 1569 (__v32qi) __Y, __P,
1570 (__mmask32) __U); 1570 (__mmask32) __U);
1571 } 1571 }
1572 1572
1573 extern __inline __mmask16 1573 extern __inline __mmask32
1574 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1574 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1575 _mm256_cmp_epu8_mask (__m256i __X, __m256i __Y, const int __P) 1575 _mm256_cmp_epu8_mask (__m256i __X, __m256i __Y, const int __P)
1576 { 1576 {
1577 return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, 1577 return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
1578 (__v32qi) __Y, __P, 1578 (__v32qi) __Y, __P,
1996 (__mmask32)-1)) 1996 (__mmask32)-1))
1997 1997
1998 #define _mm_mask_cmp_epi16_mask(M, X, Y, P) \ 1998 #define _mm_mask_cmp_epi16_mask(M, X, Y, P) \
1999 ((__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi)(__m128i)(X), \ 1999 ((__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi)(__m128i)(X), \
2000 (__v8hi)(__m128i)(Y), (int)(P),\ 2000 (__v8hi)(__m128i)(Y), (int)(P),\
2001 (__mmask16)(M))) 2001 (__mmask8)(M)))
2002 2002
2003 #define _mm_mask_cmp_epi8_mask(M, X, Y, P) \ 2003 #define _mm_mask_cmp_epi8_mask(M, X, Y, P) \
2004 ((__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi)(__m128i)(X), \ 2004 ((__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi)(__m128i)(X), \
2005 (__v16qi)(__m128i)(Y), (int)(P),\ 2005 (__v16qi)(__m128i)(Y), (int)(P),\
2006 (__mmask16)(M))) 2006 (__mmask16)(M)))
2428 (__mmask8) __U); 2428 (__mmask8) __U);
2429 } 2429 }
2430 2430
2431 extern __inline __m256i 2431 extern __inline __m256i
2432 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2432 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2433 _mm256_mask_cvtepi8_epi16 (__m256i __W, __mmask32 __U, __m128i __A) 2433 _mm256_mask_cvtepi8_epi16 (__m256i __W, __mmask16 __U, __m128i __A)
2434 { 2434 {
2435 return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A, 2435 return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A,
2436 (__v16hi) __W, 2436 (__v16hi) __W,
2437 (__mmask16) __U); 2437 (__mmask16) __U);
2438 } 2438 }
2447 (__mmask16) __U); 2447 (__mmask16) __U);
2448 } 2448 }
2449 2449
2450 extern __inline __m128i 2450 extern __inline __m128i
2451 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2451 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2452 _mm_mask_cvtepi8_epi16 (__m128i __W, __mmask32 __U, __m128i __A) 2452 _mm_mask_cvtepi8_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
2453 { 2453 {
2454 return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A, 2454 return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A,
2455 (__v8hi) __W, 2455 (__v8hi) __W,
2456 (__mmask8) __U); 2456 (__mmask8) __U);
2457 } 2457 }
2466 (__mmask8) __U); 2466 (__mmask8) __U);
2467 } 2467 }
2468 2468
2469 extern __inline __m256i 2469 extern __inline __m256i
2470 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2470 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2471 _mm256_mask_cvtepu8_epi16 (__m256i __W, __mmask32 __U, __m128i __A) 2471 _mm256_mask_cvtepu8_epi16 (__m256i __W, __mmask16 __U, __m128i __A)
2472 { 2472 {
2473 return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A, 2473 return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A,
2474 (__v16hi) __W, 2474 (__v16hi) __W,
2475 (__mmask16) __U); 2475 (__mmask16) __U);
2476 } 2476 }
2485 (__mmask16) __U); 2485 (__mmask16) __U);
2486 } 2486 }
2487 2487
2488 extern __inline __m128i 2488 extern __inline __m128i
2489 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2489 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2490 _mm_mask_cvtepu8_epi16 (__m128i __W, __mmask32 __U, __m128i __A) 2490 _mm_mask_cvtepu8_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
2491 { 2491 {
2492 return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A, 2492 return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A,
2493 (__v8hi) __W, 2493 (__v8hi) __W,
2494 (__mmask8) __U); 2494 (__mmask8) __U);
2495 } 2495 }
4344 __M); 4344 __M);
4345 } 4345 }
4346 4346
4347 extern __inline __m128i 4347 extern __inline __m128i
4348 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4348 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4349 _mm_mask_packus_epi32 (__m128i __W, __mmask16 __M, __m128i __A, 4349 _mm_mask_packus_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
4350 __m128i __B) 4350 __m128i __B)
4351 { 4351 {
4352 return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A, 4352 return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
4353 (__v4si) __B, 4353 (__v4si) __B,
4354 (__v8hi) __W, __M); 4354 (__v8hi) __W, __M);
4387 __M); 4387 __M);
4388 } 4388 }
4389 4389
4390 extern __inline __m128i 4390 extern __inline __m128i
4391 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4391 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4392 _mm_mask_packs_epi32 (__m128i __W, __mmask16 __M, __m128i __A, 4392 _mm_mask_packs_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
4393 __m128i __B) 4393 __m128i __B)
4394 { 4394 {
4395 return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A, 4395 return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
4396 (__v4si) __B, 4396 (__v4si) __B,
4397 (__v8hi) __W, __M); 4397 (__v8hi) __W, __M);
4539 return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, 4539 return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
4540 (__v8hi) __Y, 2, 4540 (__v8hi) __Y, 2,
4541 (__mmask8) __M); 4541 (__mmask8) __M);
4542 } 4542 }
4543 4543
4544 extern __inline __mmask8 4544 extern __inline __mmask32
4545 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4545 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4546 _mm256_mask_cmpneq_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y) 4546 _mm256_mask_cmpneq_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
4547 { 4547 {
4548 return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, 4548 return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
4549 (__v32qi) __Y, 4,
4550 (__mmask32) __M);
4551 }
4552
4553 extern __inline __mmask32
4554 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4555 _mm256_mask_cmplt_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
4556 {
4557 return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
4558 (__v32qi) __Y, 1,
4559 (__mmask32) __M);
4560 }
4561
4562 extern __inline __mmask32
4563 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4564 _mm256_mask_cmpge_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
4565 {
4566 return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
4567 (__v32qi) __Y, 5,
4568 (__mmask32) __M);
4569 }
4570
4571 extern __inline __mmask32
4572 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4573 _mm256_mask_cmple_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
4574 {
4575 return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
4576 (__v32qi) __Y, 2,
4577 (__mmask32) __M);
4578 }
4579
4580 extern __inline __mmask16
4581 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4582 _mm256_mask_cmpneq_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
4583 {
4584 return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
4585 (__v16hi) __Y, 4,
4586 (__mmask16) __M);
4587 }
4588
4589 extern __inline __mmask16
4590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4591 _mm256_mask_cmplt_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
4592 {
4593 return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
4594 (__v16hi) __Y, 1,
4595 (__mmask16) __M);
4596 }
4597
4598 extern __inline __mmask16
4599 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4600 _mm256_mask_cmpge_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
4601 {
4602 return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
4603 (__v16hi) __Y, 5,
4604 (__mmask16) __M);
4605 }
4606
4607 extern __inline __mmask16
4608 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4609 _mm256_mask_cmple_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
4610 {
4611 return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
4612 (__v16hi) __Y, 2,
4613 (__mmask16) __M);
4614 }
4615
4616 extern __inline __mmask32
4617 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4618 _mm256_mask_cmpneq_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
4619 {
4620 return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
4549 (__v32qi) __Y, 4, 4621 (__v32qi) __Y, 4,
4550 (__mmask8) __M); 4622 (__mmask32) __M);
4551 } 4623 }
4552 4624
4553 extern __inline __mmask8 4625 extern __inline __mmask32
4554 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4626 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4555 _mm256_mask_cmplt_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y) 4627 _mm256_mask_cmplt_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
4556 { 4628 {
4557 return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, 4629 return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
4558 (__v32qi) __Y, 1, 4630 (__v32qi) __Y, 1,
4559 (__mmask8) __M); 4631 (__mmask32) __M);
4560 } 4632 }
4561 4633
4562 extern __inline __mmask8 4634 extern __inline __mmask32
4563 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4635 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4564 _mm256_mask_cmpge_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y) 4636 _mm256_mask_cmpge_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
4565 { 4637 {
4566 return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, 4638 return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
4567 (__v32qi) __Y, 5, 4639 (__v32qi) __Y, 5,
4568 (__mmask8) __M); 4640 (__mmask32) __M);
4569 } 4641 }
4570 4642
4571 extern __inline __mmask8 4643 extern __inline __mmask32
4572 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4644 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4573 _mm256_mask_cmple_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y) 4645 _mm256_mask_cmple_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
4574 { 4646 {
4575 return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, 4647 return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
4576 (__v32qi) __Y, 2, 4648 (__v32qi) __Y, 2,
4577 (__mmask8) __M); 4649 (__mmask32) __M);
4578 } 4650 }
4579 4651
4580 extern __inline __mmask8 4652 extern __inline __mmask16
4581 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4653 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4582 _mm256_mask_cmpneq_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y) 4654 _mm256_mask_cmpneq_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
4583 { 4655 {
4584 return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, 4656 return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
4585 (__v16hi) __Y, 4, 4657 (__v16hi) __Y, 4,
4586 (__mmask8) __M); 4658 (__mmask16) __M);
4587 } 4659 }
4588 4660
4589 extern __inline __mmask8 4661 extern __inline __mmask16
4590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4662 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4591 _mm256_mask_cmplt_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y) 4663 _mm256_mask_cmplt_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
4592 { 4664 {
4593 return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, 4665 return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
4594 (__v16hi) __Y, 1, 4666 (__v16hi) __Y, 1,
4595 (__mmask8) __M); 4667 (__mmask16) __M);
4596 } 4668 }
4597 4669
4598 extern __inline __mmask8 4670 extern __inline __mmask16
4599 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4671 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4600 _mm256_mask_cmpge_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y) 4672 _mm256_mask_cmpge_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
4601 { 4673 {
4602 return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, 4674 return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
4603 (__v16hi) __Y, 5, 4675 (__v16hi) __Y, 5,
4604 (__mmask8) __M); 4676 (__mmask16) __M);
4605 } 4677 }
4606 4678
4607 extern __inline __mmask8 4679 extern __inline __mmask16
4608 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4680 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4609 _mm256_mask_cmple_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y) 4681 _mm256_mask_cmple_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
4610 { 4682 {
4611 return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, 4683 return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
4612 (__v16hi) __Y, 2, 4684 (__v16hi) __Y, 2,
4613 (__mmask8) __M); 4685 (__mmask16) __M);
4614 }
4615
4616 extern __inline __mmask8
4617 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4618 _mm256_mask_cmpneq_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
4619 {
4620 return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
4621 (__v32qi) __Y, 4,
4622 (__mmask8) __M);
4623 }
4624
4625 extern __inline __mmask8
4626 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4627 _mm256_mask_cmplt_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
4628 {
4629 return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
4630 (__v32qi) __Y, 1,
4631 (__mmask8) __M);
4632 }
4633
4634 extern __inline __mmask8
4635 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4636 _mm256_mask_cmpge_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
4637 {
4638 return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
4639 (__v32qi) __Y, 5,
4640 (__mmask8) __M);
4641 }
4642
4643 extern __inline __mmask8
4644 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4645 _mm256_mask_cmple_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
4646 {
4647 return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
4648 (__v32qi) __Y, 2,
4649 (__mmask8) __M);
4650 }
4651
4652 extern __inline __mmask8
4653 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4654 _mm256_mask_cmpneq_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
4655 {
4656 return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
4657 (__v16hi) __Y, 4,
4658 (__mmask8) __M);
4659 }
4660
4661 extern __inline __mmask8
4662 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4663 _mm256_mask_cmplt_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
4664 {
4665 return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
4666 (__v16hi) __Y, 1,
4667 (__mmask8) __M);
4668 }
4669
4670 extern __inline __mmask8
4671 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4672 _mm256_mask_cmpge_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
4673 {
4674 return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
4675 (__v16hi) __Y, 5,
4676 (__mmask8) __M);
4677 }
4678
4679 extern __inline __mmask8
4680 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4681 _mm256_mask_cmple_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
4682 {
4683 return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
4684 (__v16hi) __Y, 2,
4685 (__mmask8) __M);
4686 } 4686 }
4687 4687
4688 #ifdef __DISABLE_AVX512VLBW__ 4688 #ifdef __DISABLE_AVX512VLBW__
4689 #undef __DISABLE_AVX512VLBW__ 4689 #undef __DISABLE_AVX512VLBW__
4690 #pragma GCC pop_options 4690 #pragma GCC pop_options