@@ -4466,19 +4466,19 @@ bool InterpretBuiltin(InterpState &S, CodePtr OpPC, const CallExpr *Call,
44664466 case X86::BI__builtin_ia32_vpermi2varpd128:
44674467 return interp__builtin_ia32_shuffle_generic (
44684468 S, OpPC, Call, [](unsigned DstIdx, unsigned ShuffleMask) {
4469- unsigned Offset = ShuffleMask & 0x1 ;
4469+ int Offset = ShuffleMask & 0x1 ;
44704470 unsigned SrcIdx = (ShuffleMask >> 1 ) & 0x1 ? 1 : 0 ;
4471- return std::pair<unsigned , unsigned >{SrcIdx, Offset};
4471+ return std::pair<unsigned , int >{SrcIdx, Offset};
44724472 });
44734473 case X86::BI__builtin_ia32_vpermi2vard128:
44744474 case X86::BI__builtin_ia32_vpermi2varps128:
44754475 case X86::BI__builtin_ia32_vpermi2varq256:
44764476 case X86::BI__builtin_ia32_vpermi2varpd256:
44774477 return interp__builtin_ia32_shuffle_generic (
44784478 S, OpPC, Call, [](unsigned DstIdx, unsigned ShuffleMask) {
4479- unsigned Offset = ShuffleMask & 0x3 ;
4479+ int Offset = ShuffleMask & 0x3 ;
44804480 unsigned SrcIdx = (ShuffleMask >> 2 ) & 0x1 ? 1 : 0 ;
4481- return std::pair<unsigned , unsigned >{SrcIdx, Offset};
4481+ return std::pair<unsigned , int >{SrcIdx, Offset};
44824482 });
44834483 case X86::BI__builtin_ia32_vpermi2varhi128:
44844484 case X86::BI__builtin_ia32_vpermi2vard256:
@@ -4487,34 +4487,34 @@ bool InterpretBuiltin(InterpState &S, CodePtr OpPC, const CallExpr *Call,
44874487 case X86::BI__builtin_ia32_vpermi2varpd512:
44884488 return interp__builtin_ia32_shuffle_generic (
44894489 S, OpPC, Call, [](unsigned DstIdx, unsigned ShuffleMask) {
4490- unsigned Offset = ShuffleMask & 0x7 ;
4490+ int Offset = ShuffleMask & 0x7 ;
44914491 unsigned SrcIdx = (ShuffleMask >> 3 ) & 0x1 ? 1 : 0 ;
4492- return std::pair<unsigned , unsigned >{SrcIdx, Offset};
4492+ return std::pair<unsigned , int >{SrcIdx, Offset};
44934493 });
44944494 case X86::BI__builtin_ia32_vpermi2varqi128:
44954495 case X86::BI__builtin_ia32_vpermi2varhi256:
44964496 case X86::BI__builtin_ia32_vpermi2vard512:
44974497 case X86::BI__builtin_ia32_vpermi2varps512:
44984498 return interp__builtin_ia32_shuffle_generic (
44994499 S, OpPC, Call, [](unsigned DstIdx, unsigned ShuffleMask) {
4500- unsigned Offset = ShuffleMask & 0xF ;
4500+ int Offset = ShuffleMask & 0xF ;
45014501 unsigned SrcIdx = (ShuffleMask >> 4 ) & 0x1 ? 1 : 0 ;
4502- return std::pair<unsigned , unsigned >{SrcIdx, Offset};
4502+ return std::pair<unsigned , int >{SrcIdx, Offset};
45034503 });
45044504 case X86::BI__builtin_ia32_vpermi2varqi256:
45054505 case X86::BI__builtin_ia32_vpermi2varhi512:
45064506 return interp__builtin_ia32_shuffle_generic (
45074507 S, OpPC, Call, [](unsigned DstIdx, unsigned ShuffleMask) {
4508- unsigned Offset = ShuffleMask & 0x1F ;
4508+ int Offset = ShuffleMask & 0x1F ;
45094509 unsigned SrcIdx = (ShuffleMask >> 5 ) & 0x1 ? 1 : 0 ;
4510- return std::pair<unsigned , unsigned >{SrcIdx, Offset};
4510+ return std::pair<unsigned , int >{SrcIdx, Offset};
45114511 });
45124512 case X86::BI__builtin_ia32_vpermi2varqi512:
45134513 return interp__builtin_ia32_shuffle_generic (
45144514 S, OpPC, Call, [](unsigned DstIdx, unsigned ShuffleMask) {
4515- unsigned Offset = ShuffleMask & 0x3F ;
4515+ int Offset = ShuffleMask & 0x3F ;
45164516 unsigned SrcIdx = (ShuffleMask >> 6 ) & 0x1 ? 1 : 0 ;
4517- return std::pair<unsigned , unsigned >{SrcIdx, Offset};
4517+ return std::pair<unsigned , int >{SrcIdx, Offset};
45184518 });
45194519 case X86::BI__builtin_ia32_pshufb128:
45204520 case X86::BI__builtin_ia32_pshufb256:
0 commit comments