| Index: src/IceTargetLoweringX86Base.h
|
| diff --git a/src/IceTargetLoweringX86Base.h b/src/IceTargetLoweringX86Base.h
|
| index 71b824f7ad3e4bcdbdb2fa0f70c69647d389edb3..d465423b95796cf14a7134560cdccd4131a6fa48 100644
|
| --- a/src/IceTargetLoweringX86Base.h
|
| +++ b/src/IceTargetLoweringX86Base.h
|
| @@ -805,6 +805,10 @@ protected:
|
| AutoMemorySandboxer<> _(this, &Dest, &Src0);
|
| Context.insert<typename Traits::Insts::Punpckl>(Dest, Src0);
|
| }
|
| + void _pshufb(Variable *Dest, Operand *Src0) {
|
| + AutoMemorySandboxer<> _(this, &Dest, &Src0);
|
| + Context.insert<typename Traits::Insts::Pshufb>(Dest, Src0);
|
| + }
|
| void _pshufd(Variable *Dest, Operand *Src0, Operand *Src1) {
|
| AutoMemorySandboxer<> _(this, &Dest, &Src0, &Src1);
|
| Context.insert<typename Traits::Insts::Pshufd>(Dest, Src0, Src1);
|
| @@ -1101,6 +1105,21 @@ private:
|
| SizeT Index0,
|
| Variable *Src1,
|
| SizeT Index1);
|
| + static constexpr SizeT CLEAR_ALL_BITS = 0x80;
|
| + SizeT PshufbMaskCount = 0;
|
| + GlobalString lowerShuffleVector_NewMaskName();
|
| + ConstantRelocatable *lowerShuffleVector_CreatePshufbMask(
|
| + int8_t Idx0, int8_t Idx1, int8_t Idx2, int8_t Idx3, int8_t Idx4,
|
| + int8_t Idx5, int8_t Idx6, int8_t Idx7, int8_t Idx8, int8_t Idx9,
|
| + int8_t Idx10, int8_t Idx11, int8_t Idx12, int8_t Idx13, int8_t Idx14,
|
| + int8_t Idx15);
|
| + void lowerShuffleVector_UsingPshufb(Variable *Dest, Operand *Src0,
|
| + Operand *Src1, int8_t Idx0, int8_t Idx1,
|
| + int8_t Idx2, int8_t Idx3, int8_t Idx4,
|
| + int8_t Idx5, int8_t Idx6, int8_t Idx7,
|
| + int8_t Idx8, int8_t Idx9, int8_t Idx10,
|
| + int8_t Idx11, int8_t Idx12, int8_t Idx13,
|
| + int8_t Idx14, int8_t Idx15);
|
| /// @}
|
|
|
| static FixupKind PcRelFixup;
|
|
|