Lines Matching refs:this
4 * Use of this source code is governed by a BSD-style license that can be
176 void vcmpeqps (Ymm dst, Ymm x, Operand y) { this->vcmpps(dst,x,y,0); }
177 void vcmpltps (Ymm dst, Ymm x, Operand y) { this->vcmpps(dst,x,y,1); }
178 void vcmpleps (Ymm dst, Ymm x, Operand y) { this->vcmpps(dst,x,y,2); }
179 void vcmpneqps(Ymm dst, Ymm x, Operand y) { this->vcmpps(dst,x,y,4); }
268 void add (GP64 dst, GP64 x) { this->add (Operand(dst), x); }
269 void sub (GP64 dst, GP64 x) { this->sub (Operand(dst), x); }
270 void cmp (GP64 dst, GP64 x) { this->cmp (Operand(dst), x); }
271 void mov (GP64 dst, GP64 x) { this->mov (Operand(dst), x); }
272 void movb(GP64 dst, GP64 x) { this->movb(Operand(dst), x); }
320 uxtlb2h, // u8 -> u16 (TODO: this is a special case of ushll.8h)
321 uxtlh2s, // u16 -> u32 (TODO: this is a special case of ushll.4s)
334 // but this one encoded as b.al is simple to implement and should be fine.
335 void b (Label* l) { this->b(Condition::al, l); }
336 void bne(Label* l) { this->b(Condition::ne, l); }
337 void blt(Label* l) { this->b(Condition::lt, l); }
340 void cmp(X n, int imm12) { this->subs(xzr, n, imm12); }
394 enum L { L128, L256 }; // Is this a 128- or 256-bit operation? Intel Vol 2A 2.3.6.2
421 void op(uint32_t op22, X n, V d, int imm=0) { this->op(op22,(V)n, d,imm); }
422 void op(uint32_t op22, V n, X d, int imm=0) { this->op(op22, n,(V)d,imm); }
423 void op(uint32_t op22, X n, X d, int imm=0) { this->op(op22,(V)n,(V)d,imm); }
424 void op(uint32_t op22, int imm=0) { this->op(op22,(V)0,(V)0,imm); }
551 return this->push(bits);
565 return this->pushPtr(a);
569 return this->pushPtr(a);
582 Op op; // v* = op(x,y,z,w,immA,immB), where * == index of this Instruction.
621 Ptr varying() { return this->arg(sizeof(T)); }
622 Ptr varying(int stride) { SkASSERT(stride > 0); return this->arg(stride); }
623 UPtr uniform() { Ptr p = this->arg(0); return UPtr{p.ix}; }
672 // Push and load this color as a uniform.
684 I32 uniform32(Uniform u) { return this->uniform32(u.ptr, u.offset); }
685 F32 uniformF (Uniform u) { return this->uniformF (u.ptr, u.offset); }
686 I32 gather8 (Uniform u, I32 index) { return this->gather8 (u.ptr, u.offset, index); }
687 I32 gather16 (Uniform u, I32 index) { return this->gather16 (u.ptr, u.offset, index); }
688 I32 gather32 (Uniform u, I32 index) { return this->gather32 (u.ptr, u.offset, index); }
689 F32 gatherF (Uniform u, I32 index) { return this->gatherF (u.ptr, u.offset, index); }
693 I32 array32 (Uniform a, int index) { return this->array32 (a.ptr, a.offset, index); }
694 F32 arrayF (Uniform a, int index) { return this->arrayF (a.ptr, a.offset, index); }
937 Color premul(Color c) { this->premul(&c.r, &c.g, &c.b, c.a); return c; }
938 Color unpremul(Color c) { this->unpremul(&c.r, &c.g, &c.b, c.a); return c; }
963 return this->allImm(rest...);
975 return this->allUniform(rest...);
986 return this->push(Instruction{op, x,y,z,w, immA,immB,immC});
992 return this->allImm(id, &imm) && imm == want;
1034 SkASSERT(sizeof...(arg) == this->nargs());
1037 this->eval(n, args);
1046 bool hasJIT() const; // Has this Program been JITted?