Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(359)

Unified Diff: src/IceTargetLoweringX86Base.h

Issue 1909013002: Subzero. X86. Lowers shufflevector using xmm instructions. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addresses comments. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/IceTargetLoweringX86Base.h
diff --git a/src/IceTargetLoweringX86Base.h b/src/IceTargetLoweringX86Base.h
index f84c6df1d492b72c4230c6b26a26662e9ad5b915..71b824f7ad3e4bcdbdb2fa0f70c69647d389edb3 100644
--- a/src/IceTargetLoweringX86Base.h
+++ b/src/IceTargetLoweringX86Base.h
@@ -801,6 +801,10 @@ protected:
AutoMemorySandboxer<> _(this, &Dest, &Src0);
Context.insert<typename Traits::Insts::Por>(Dest, Src0);
}
+ void _punpckl(Variable *Dest, Operand *Src0) {
+ AutoMemorySandboxer<> _(this, &Dest, &Src0);
+ Context.insert<typename Traits::Insts::Punpckl>(Dest, Src0);
+ }
void _pshufd(Variable *Dest, Operand *Src0, Operand *Src1) {
AutoMemorySandboxer<> _(this, &Dest, &Src0, &Src1);
Context.insert<typename Traits::Insts::Pshufd>(Dest, Src0, Src1);
@@ -1082,6 +1086,23 @@ private:
BoolFolding<Traits> FoldingInfo;
+ /// Helpers for lowering ShuffleVector
+ /// @{
+ Variable *lowerShuffleVector_AllFromSameSrc(Variable *Src, SizeT Index0,
+ SizeT Index1, SizeT Index2,
+ SizeT Index3);
+ static constexpr SizeT IGNORE_INDEX = 0x80000000u;
+ Variable *lowerShuffleVector_TwoFromSameSrc(Variable *Src0, SizeT Index0,
+ SizeT Index1, Variable *Src1,
+ SizeT Index2, SizeT Index3);
+ static constexpr SizeT UNIFIED_INDEX_0 = 0;
+ static constexpr SizeT UNIFIED_INDEX_1 = 2;
+ Variable *lowerShuffleVector_UnifyFromDifferentSrcs(Variable *Src0,
+ SizeT Index0,
+ Variable *Src1,
+ SizeT Index1);
+ /// @}
+
static FixupKind PcRelFixup;
static FixupKind AbsFixup;
};

Powered by Google App Engine
This is Rietveld 408576698