Skip to content

Commit 3e9d70f

Browse files
authored
Merge branch 'main' into fix-format-unused-args-invalid-spec
2 parents fa8e5a1 + 44061d1 commit 3e9d70f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1513
-231
lines changed

clang/include/clang/Basic/BuiltinsX86.td

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -312,9 +312,6 @@ let Features = "ssse3", Attributes = [NoThrow, Const, RequiredVectorWidth<128>]
312312

313313
let Features = "sse4.1", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in {
314314
def insertps128 : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant char)">;
315-
def pblendw128 : X86Builtin<"_Vector<8, short>(_Vector<8, short>, _Vector<8, short>, _Constant int)">;
316-
def blendpd : X86Builtin<"_Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)">;
317-
def blendps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant int)">;
318315
def packusdw128 : X86Builtin<"_Vector<8, short>(_Vector<4, int>, _Vector<4, int>)">;
319316
def roundps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Constant int)">;
320317
def roundss : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant int)">;
@@ -333,6 +330,9 @@ let Features = "sse4.1", Attributes = [NoThrow, Const, RequiredVectorWidth<128>]
333330
}
334331

335332
let Features = "sse4.1", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128>] in {
333+
def pblendw128 : X86Builtin<"_Vector<8, short>(_Vector<8, short>, _Vector<8, short>, _Constant int)">;
334+
def blendpd : X86Builtin<"_Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)">;
335+
def blendps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant int)">;
336336
def blendvpd : X86Builtin<"_Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Vector<2, double>)">;
337337
def blendvps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Vector<4, float>)">;
338338
def pblendvb128 : X86Builtin<"_Vector<16, char>(_Vector<16, char>, _Vector<16, char>, _Vector<16, char>)">;
@@ -469,8 +469,6 @@ let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in
469469
def vpermilvarps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, int>)">;
470470
def vpermilvarpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, long long int>)">;
471471
def vpermilvarps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, int>)">;
472-
def blendpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
473-
def blendps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
474472
def shufpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
475473
def shufps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
476474
def dpps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant char)">;
@@ -495,6 +493,8 @@ let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in
495493
}
496494

497495
let Features = "avx", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256>] in {
496+
def blendpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)">;
497+
def blendps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)">;
498498
def blendvpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>)">;
499499
def blendvps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>)">;
500500
}
@@ -575,7 +575,6 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
575575
def packuswb256 : X86Builtin<"_Vector<32, char>(_Vector<16, short>, _Vector<16, short>)">;
576576
def packusdw256 : X86Builtin<"_Vector<16, short>(_Vector<8, int>, _Vector<8, int>)">;
577577
def palignr256 : X86Builtin<"_Vector<32, char>(_Vector<32, char>, _Vector<32, char>, _Constant int)">;
578-
def pblendw256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, _Vector<16, short>, _Constant int)">;
579578
def phaddw256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, _Vector<16, short>)">;
580579
def phaddd256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<8, int>)">;
581580
def phaddsw256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, _Vector<16, short>)">;
@@ -604,8 +603,6 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
604603
def psrlw256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, _Vector<8, short>)">;
605604
def psrld256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<4, int>)">;
606605
def psrlq256 : X86Builtin<"_Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>)">;
607-
def pblendd128 : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Vector<4, int>, _Constant int)">;
608-
def pblendd256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<8, int>, _Constant int)">;
609606
def permvarsi256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<8, int>)">;
610607
def permdf256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Constant int)">;
611608
def permvarsf256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Vector<8, int>)">;
@@ -619,6 +616,10 @@ let Features = "avx2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
619616
def pavgb256 : X86Builtin<"_Vector<32, unsigned char>(_Vector<32, unsigned char>, _Vector<32, unsigned char>)">;
620617
def pavgw256 : X86Builtin<"_Vector<16, unsigned short>(_Vector<16, unsigned short>, _Vector<16, unsigned short>)">;
621618

619+
def pblendd128 : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Vector<4, int>, _Constant int)">;
620+
def pblendd256 : X86Builtin<"_Vector<8, int>(_Vector<8, int>, _Vector<8, int>, _Constant int)">;
621+
def pblendw256 : X86Builtin<"_Vector<16, short>(_Vector<16, short>, _Vector<16, short>, _Constant int)">;
622+
622623
def pblendvb256 : X86Builtin<"_Vector<32, char>(_Vector<32, char>, _Vector<32, char>, _Vector<32, char>)">;
623624

624625
def pmuldq256 : X86Builtin<"_Vector<4, long long int>(_Vector<8, int>, _Vector<8, int>)">;

clang/lib/AST/ByteCode/InterpBuiltin.cpp

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2837,6 +2837,40 @@ static bool interp__builtin_select(InterpState &S, CodePtr OpPC,
28372837
return true;
28382838
}
28392839

2840+
static bool interp__builtin_blend(InterpState &S, CodePtr OpPC,
2841+
const CallExpr *Call) {
2842+
PrimType MaskT = *S.getContext().classify(Call->getArg(2));
2843+
APSInt Mask = popToAPSInt(S.Stk, MaskT);
2844+
const Pointer &TrueVec = S.Stk.pop<Pointer>();
2845+
const Pointer &FalseVec = S.Stk.pop<Pointer>();
2846+
const Pointer &Dst = S.Stk.peek<Pointer>();
2847+
2848+
assert(FalseVec.getNumElems() == TrueVec.getNumElems());
2849+
assert(FalseVec.getNumElems() == Dst.getNumElems());
2850+
unsigned NumElems = FalseVec.getNumElems();
2851+
PrimType ElemT = FalseVec.getFieldDesc()->getPrimType();
2852+
PrimType DstElemT = Dst.getFieldDesc()->getPrimType();
2853+
2854+
for (unsigned I = 0; I != NumElems; ++I) {
2855+
bool MaskBit = Mask[I % 8];
2856+
if (ElemT == PT_Float) {
2857+
assert(DstElemT == PT_Float);
2858+
Dst.elem<Floating>(I) =
2859+
MaskBit ? TrueVec.elem<Floating>(I) : FalseVec.elem<Floating>(I);
2860+
} else {
2861+
assert(DstElemT == ElemT);
2862+
INT_TYPE_SWITCH_NO_BOOL(DstElemT, {
2863+
Dst.elem<T>(I) =
2864+
static_cast<T>(MaskBit ? TrueVec.elem<T>(I).toAPSInt()
2865+
: FalseVec.elem<T>(I).toAPSInt());
2866+
});
2867+
}
2868+
}
2869+
Dst.initializeAllElements();
2870+
2871+
return true;
2872+
}
2873+
28402874
static bool interp__builtin_elementwise_triop(
28412875
InterpState &S, CodePtr OpPC, const CallExpr *Call,
28422876
llvm::function_ref<APInt(const APSInt &, const APSInt &, const APSInt &)>
@@ -3502,6 +3536,16 @@ bool InterpretBuiltin(InterpState &S, CodePtr OpPC, const CallExpr *Call,
35023536
return llvm::APIntOps::fshr(Hi, Lo, Amt);
35033537
});
35043538

3539+
case clang::X86::BI__builtin_ia32_blendpd:
3540+
case clang::X86::BI__builtin_ia32_blendpd256:
3541+
case clang::X86::BI__builtin_ia32_blendps:
3542+
case clang::X86::BI__builtin_ia32_blendps256:
3543+
case clang::X86::BI__builtin_ia32_pblendw128:
3544+
case clang::X86::BI__builtin_ia32_pblendw256:
3545+
case clang::X86::BI__builtin_ia32_pblendd128:
3546+
case clang::X86::BI__builtin_ia32_pblendd256:
3547+
return interp__builtin_blend(S, OpPC, Call);
3548+
35053549
case clang::X86::BI__builtin_ia32_blendvpd:
35063550
case clang::X86::BI__builtin_ia32_blendvpd256:
35073551
case clang::X86::BI__builtin_ia32_blendvps:

clang/lib/AST/ByteCode/Pointer.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ enum class Storage { Block, Int, Fn, Typeid };
7575
/// data the pointer decribes can be found at
7676
/// Pointee->rawData() + Pointer.Offset.
7777
///
78-
///
78+
/// \verbatim
7979
/// Pointee Offset
8080
/// │ │
8181
/// │ │
@@ -87,6 +87,7 @@ enum class Storage { Block, Int, Fn, Typeid };
8787
/// │
8888
/// │
8989
/// Base
90+
/// \endverbatim
9091
class Pointer {
9192
private:
9293
static constexpr unsigned PastEndMark = ~0u;

clang/lib/AST/ExprConstant.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11926,6 +11926,33 @@ bool VectorExprEvaluator::VisitCallExpr(const CallExpr *E) {
1192611926

1192711927
return Success(APValue(ResultElements.data(), ResultElements.size()), E);
1192811928
}
11929+
case X86::BI__builtin_ia32_blendpd:
11930+
case X86::BI__builtin_ia32_blendpd256:
11931+
case X86::BI__builtin_ia32_blendps:
11932+
case X86::BI__builtin_ia32_blendps256:
11933+
case X86::BI__builtin_ia32_pblendw128:
11934+
case X86::BI__builtin_ia32_pblendw256:
11935+
case X86::BI__builtin_ia32_pblendd128:
11936+
case X86::BI__builtin_ia32_pblendd256: {
11937+
APValue SourceF, SourceT, SourceC;
11938+
if (!EvaluateAsRValue(Info, E->getArg(0), SourceF) ||
11939+
!EvaluateAsRValue(Info, E->getArg(1), SourceT) ||
11940+
!EvaluateAsRValue(Info, E->getArg(2), SourceC))
11941+
return false;
11942+
11943+
const APInt &C = SourceC.getInt();
11944+
unsigned SourceLen = SourceF.getVectorLength();
11945+
SmallVector<APValue, 32> ResultElements;
11946+
ResultElements.reserve(SourceLen);
11947+
for (unsigned EltNum = 0; EltNum != SourceLen; ++EltNum) {
11948+
const APValue &F = SourceF.getVectorElt(EltNum);
11949+
const APValue &T = SourceT.getVectorElt(EltNum);
11950+
ResultElements.push_back(C[EltNum % 8] ? T : F);
11951+
}
11952+
11953+
return Success(APValue(ResultElements.data(), ResultElements.size()), E);
11954+
}
11955+
1192911956
case X86::BI__builtin_ia32_blendvpd:
1193011957
case X86::BI__builtin_ia32_blendvpd256:
1193111958
case X86::BI__builtin_ia32_blendvps:

clang/lib/Headers/avx512bwintrin.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -464,17 +464,15 @@ _mm512_maskz_mullo_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
464464
(__v32hi)_mm512_setzero_si512());
465465
}
466466

467-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
468-
_mm512_mask_blend_epi8 (__mmask64 __U, __m512i __A, __m512i __W)
469-
{
467+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
468+
_mm512_mask_blend_epi8(__mmask64 __U, __m512i __A, __m512i __W) {
470469
return (__m512i) __builtin_ia32_selectb_512 ((__mmask64) __U,
471470
(__v64qi) __W,
472471
(__v64qi) __A);
473472
}
474473

475-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
476-
_mm512_mask_blend_epi16 (__mmask32 __U, __m512i __A, __m512i __W)
477-
{
474+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
475+
_mm512_mask_blend_epi16(__mmask32 __U, __m512i __A, __m512i __W) {
478476
return (__m512i) __builtin_ia32_selectw_512 ((__mmask32) __U,
479477
(__v32hi) __W,
480478
(__v32hi) __A);

clang/lib/Headers/avx512fintrin.h

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3209,33 +3209,29 @@ _mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
32093209

32103210
/* Vector Blend */
32113211

3212-
static __inline __m512d __DEFAULT_FN_ATTRS512
3213-
_mm512_mask_blend_pd(__mmask8 __U, __m512d __A, __m512d __W)
3214-
{
3212+
static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3213+
_mm512_mask_blend_pd(__mmask8 __U, __m512d __A, __m512d __W) {
32153214
return (__m512d) __builtin_ia32_selectpd_512 ((__mmask8) __U,
32163215
(__v8df) __W,
32173216
(__v8df) __A);
32183217
}
32193218

3220-
static __inline __m512 __DEFAULT_FN_ATTRS512
3221-
_mm512_mask_blend_ps(__mmask16 __U, __m512 __A, __m512 __W)
3222-
{
3219+
static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3220+
_mm512_mask_blend_ps(__mmask16 __U, __m512 __A, __m512 __W) {
32233221
return (__m512) __builtin_ia32_selectps_512 ((__mmask16) __U,
32243222
(__v16sf) __W,
32253223
(__v16sf) __A);
32263224
}
32273225

3228-
static __inline __m512i __DEFAULT_FN_ATTRS512
3229-
_mm512_mask_blend_epi64(__mmask8 __U, __m512i __A, __m512i __W)
3230-
{
3226+
static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3227+
_mm512_mask_blend_epi64(__mmask8 __U, __m512i __A, __m512i __W) {
32313228
return (__m512i) __builtin_ia32_selectq_512 ((__mmask8) __U,
32323229
(__v8di) __W,
32333230
(__v8di) __A);
32343231
}
32353232

3236-
static __inline __m512i __DEFAULT_FN_ATTRS512
3237-
_mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W)
3238-
{
3233+
static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3234+
_mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W) {
32393235
return (__m512i) __builtin_ia32_selectd_512 ((__mmask16) __U,
32403236
(__v16si) __W,
32413237
(__v16si) __A);

clang/lib/Headers/avx512fp16intrin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3309,7 +3309,7 @@ _mm512_reduce_min_ph(__m512h __V) {
33093309
return __builtin_ia32_reduce_fmin_ph512(__V);
33103310
}
33113311

3312-
static __inline__ __m512h __DEFAULT_FN_ATTRS512
3312+
static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
33133313
_mm512_mask_blend_ph(__mmask32 __U, __m512h __A, __m512h __W) {
33143314
return (__m512h)__builtin_ia32_selectph_512((__mmask32)__U, (__v32hf)__W,
33153315
(__v32hf)__A);

clang/lib/Headers/avx512vlbwintrin.h

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -452,33 +452,29 @@ _mm_maskz_mullo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
452452
(__v8hi)_mm_setzero_si128());
453453
}
454454

455-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
456-
_mm_mask_blend_epi8 (__mmask16 __U, __m128i __A, __m128i __W)
457-
{
455+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
456+
_mm_mask_blend_epi8(__mmask16 __U, __m128i __A, __m128i __W) {
458457
return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
459458
(__v16qi) __W,
460459
(__v16qi) __A);
461460
}
462461

463-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
464-
_mm256_mask_blend_epi8 (__mmask32 __U, __m256i __A, __m256i __W)
465-
{
462+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
463+
_mm256_mask_blend_epi8(__mmask32 __U, __m256i __A, __m256i __W) {
466464
return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
467465
(__v32qi) __W,
468466
(__v32qi) __A);
469467
}
470468

471-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
472-
_mm_mask_blend_epi16 (__mmask8 __U, __m128i __A, __m128i __W)
473-
{
469+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
470+
_mm_mask_blend_epi16(__mmask8 __U, __m128i __A, __m128i __W) {
474471
return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
475472
(__v8hi) __W,
476473
(__v8hi) __A);
477474
}
478475

479-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
480-
_mm256_mask_blend_epi16 (__mmask16 __U, __m256i __A, __m256i __W)
481-
{
476+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
477+
_mm256_mask_blend_epi16(__mmask16 __U, __m256i __A, __m256i __W) {
482478
return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
483479
(__v16hi) __W,
484480
(__v16hi) __A);

clang/lib/Headers/avx512vlfp16intrin.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1995,14 +1995,13 @@ _mm256_maskz_fmadd_pch(__mmask8 __U, __m256h __A, __m256h __B, __m256h __C) {
19951995
(__v8sf)__C, (__mmask8)__U);
19961996
}
19971997

1998-
static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_blend_ph(__mmask8 __U,
1999-
__m128h __A,
2000-
__m128h __W) {
1998+
static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
1999+
_mm_mask_blend_ph(__mmask8 __U, __m128h __A, __m128h __W) {
20012000
return (__m128h)__builtin_ia32_selectph_128((__mmask8)__U, (__v8hf)__W,
20022001
(__v8hf)__A);
20032002
}
20042003

2005-
static __inline__ __m256h __DEFAULT_FN_ATTRS256
2004+
static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
20062005
_mm256_mask_blend_ph(__mmask16 __U, __m256h __A, __m256h __W) {
20072006
return (__m256h)__builtin_ia32_selectph_256((__mmask16)__U, (__v16hf)__W,
20082007
(__v16hf)__A);

clang/lib/Headers/avx512vlintrin.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1498,57 +1498,57 @@ _mm256_maskz_add_ps(__mmask8 __U, __m256 __A, __m256 __B) {
14981498
(__v8sf)_mm256_setzero_ps());
14991499
}
15001500

1501-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
1502-
_mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) {
1501+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1502+
_mm_mask_blend_epi32(__mmask8 __U, __m128i __A, __m128i __W) {
15031503
return (__m128i) __builtin_ia32_selectd_128 ((__mmask8) __U,
15041504
(__v4si) __W,
15051505
(__v4si) __A);
15061506
}
15071507

1508-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
1509-
_mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) {
1508+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1509+
_mm256_mask_blend_epi32(__mmask8 __U, __m256i __A, __m256i __W) {
15101510
return (__m256i) __builtin_ia32_selectd_256 ((__mmask8) __U,
15111511
(__v8si) __W,
15121512
(__v8si) __A);
15131513
}
15141514

1515-
static __inline__ __m128d __DEFAULT_FN_ATTRS128
1516-
_mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) {
1515+
static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1516+
_mm_mask_blend_pd(__mmask8 __U, __m128d __A, __m128d __W) {
15171517
return (__m128d) __builtin_ia32_selectpd_128 ((__mmask8) __U,
15181518
(__v2df) __W,
15191519
(__v2df) __A);
15201520
}
15211521

1522-
static __inline__ __m256d __DEFAULT_FN_ATTRS256
1523-
_mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) {
1522+
static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
1523+
_mm256_mask_blend_pd(__mmask8 __U, __m256d __A, __m256d __W) {
15241524
return (__m256d) __builtin_ia32_selectpd_256 ((__mmask8) __U,
15251525
(__v4df) __W,
15261526
(__v4df) __A);
15271527
}
15281528

1529-
static __inline__ __m128 __DEFAULT_FN_ATTRS128
1530-
_mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) {
1529+
static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1530+
_mm_mask_blend_ps(__mmask8 __U, __m128 __A, __m128 __W) {
15311531
return (__m128) __builtin_ia32_selectps_128 ((__mmask8) __U,
15321532
(__v4sf) __W,
15331533
(__v4sf) __A);
15341534
}
15351535

1536-
static __inline__ __m256 __DEFAULT_FN_ATTRS256
1537-
_mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) {
1536+
static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1537+
_mm256_mask_blend_ps(__mmask8 __U, __m256 __A, __m256 __W) {
15381538
return (__m256) __builtin_ia32_selectps_256 ((__mmask8) __U,
15391539
(__v8sf) __W,
15401540
(__v8sf) __A);
15411541
}
15421542

1543-
static __inline__ __m128i __DEFAULT_FN_ATTRS128
1544-
_mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) {
1543+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1544+
_mm_mask_blend_epi64(__mmask8 __U, __m128i __A, __m128i __W) {
15451545
return (__m128i) __builtin_ia32_selectq_128 ((__mmask8) __U,
15461546
(__v2di) __W,
15471547
(__v2di) __A);
15481548
}
15491549

1550-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
1551-
_mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) {
1550+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1551+
_mm256_mask_blend_epi64(__mmask8 __U, __m256i __A, __m256i __W) {
15521552
return (__m256i) __builtin_ia32_selectq_256 ((__mmask8) __U,
15531553
(__v4di) __W,
15541554
(__v4di) __A);

0 commit comments

Comments
 (0)