Lines Matching defs:arg

501                 for (Val arg : {inst.x, inst.y, inst.z, inst.w}) {
502 if (arg != NA) { live[arg] = true; }
537 for (Val* arg : {&inst.x, &inst.y, &inst.z, &inst.w}) {
538 if (*arg != NA) {
539 *arg = new_id[*arg];
540 SkASSERT(*arg != NA);
569 for (Val arg : {inst.x, inst.y, inst.z, inst.w}) {
571 if (arg != NA) { optimized[arg].death = id; }
584 for (Val arg : {inst.x, inst.y, inst.z, inst.w}) {
585 if (arg != NA) { inst.can_hoist &= optimized[arg].can_hoist; }
593 for (Val arg : {inst.x, inst.y, inst.z, inst.w}) {
594 if (arg != NA && optimized[arg].can_hoist) {
595 optimized[arg].death = (Val)program.size();
664 Ptr Builder::arg(int stride) {
957 F32 arg = y/x;
959 I32 neg = (arg < 0.0f);
960 arg = select(neg, -arg, arg);
962 F32 r = approx_atan_unit(arg);
1859 bool B, // Same as REX B. Pass y>>3 for 3-arg ops, x>>3 for 2-arg.
1861 int vvvv, // 4-bit second operand register. Pass our x for 3-arg ops.
2868 llvm::Argument* arg = fn->arg_begin();
2869 (void)arg++; // Leave n as nullptr... it'd be a bug to use n in a hoisted instruction.
2871 args.push_back(b.CreatePHI(arg->getType(), 1));
2872 args.back()->addIncoming(arg++, enter);
2890 llvm::Argument* arg = fn->arg_begin();
2892 n = b.CreatePHI(arg->getType(), 2);
2893 n->addIncoming(arg++, hoistK);
2896 args[i] = b.CreatePHI(arg->getType(), 2);
2897 args[i]->addIncoming(arg++, hoistK);
2916 // Each arg ptr += K
2970 // Each arg ptr += 1
3250 arg[] = { A::rdx, A::r8, A::r9, A::r10, A::rdi, A::rsi };
3261 // Load caller-saved r10 from rsp+40 if there's a fourth arg.
3265 // Load callee-saved rdi from rsp+48 if there's a fifth arg,
3271 // Load callee-saved rsi from rsp+56 if there's a sixth arg,
3325 arg[] = { A::rsi, A::rdx, A::rcx, A::r8, A::r9, A::r10 };
3334 // Load caller-saved r10 from rsp+8 if there's a sixth arg.
3369 arg[] = { A::x1, A::x2, A::x3, A::x4, A::x5, A::x6, A::x7 };
3404 if (SK_ARRAY_COUNT(arg) < fImpl->strides.size()) {
3624 a->vpextrb(A::Mem{arg[immA]}, (A::Xmm)r(x), 0);
3629 a->vmovq (A::Mem{arg[immA]}, (A::Xmm)dst());
3634 a->vpextrw(A::Mem{arg[immA]}, (A::Xmm)r(x), 0);
3638 a->vmovups (A::Mem{arg[immA]}, (A::Xmm)dst());
3641 case Op::store32: if (scalar) { a->vmovd (A::Mem{arg[immA]}, (A::Xmm)r(x)); }
3642 else { a->vmovups(A::Mem{arg[immA]}, r(x)); }
3646 a->vmovd(A::Mem{arg[immA],0}, (A::Xmm)r(x));
3647 a->vmovd(A::Mem{arg[immA],4}, (A::Xmm)r(y));
3657 a->vmovups(A::Mem{arg[immA], 0}, dst());
3659 a->vmovups(A::Mem{arg[immA],32}, dst());
3666 a->vmovd (A::Mem{arg[immA], 0*16 + 0}, (A::Xmm)r(x) );
3667 a->vmovd (A::Mem{arg[immA], 0*16 + 4}, (A::Xmm)r(y) );
3668 a->vmovd (A::Mem{arg[immA], 0*16 + 8}, (A::Xmm)r(z) );
3669 a->vmovd (A::Mem{arg[immA], 0*16 + 12}, (A::Xmm)r(w) );
3672 a->vpextrd(A::Mem{arg[immA], 1*16 + 0}, (A::Xmm)r(x), 1);
3673 a->vpextrd(A::Mem{arg[immA], 1*16 + 4}, (A::Xmm)r(y), 1);
3674 a->vpextrd(A::Mem{arg[immA], 1*16 + 8}, (A::Xmm)r(z), 1);
3675 a->vpextrd(A::Mem{arg[immA], 1*16 + 12}, (A::Xmm)r(w), 1);
3677 a->vpextrd(A::Mem{arg[immA], 2*16 + 0}, (A::Xmm)r(x), 2);
3678 a->vpextrd(A::Mem{arg[immA], 2*16 + 4}, (A::Xmm)r(y), 2);
3679 a->vpextrd(A::Mem{arg[immA], 2*16 + 8}, (A::Xmm)r(z), 2);
3680 a->vpextrd(A::Mem{arg[immA], 2*16 + 12}, (A::Xmm)r(w), 2);
3682 a->vpextrd(A::Mem{arg[immA], 3*16 + 0}, (A::Xmm)r(x), 3);
3683 a->vpextrd(A::Mem{arg[immA], 3*16 + 4}, (A::Xmm)r(y), 3);
3684 a->vpextrd(A::Mem{arg[immA], 3*16 + 8}, (A::Xmm)r(z), 3);
3685 a->vpextrd(A::Mem{arg[immA], 3*16 + 12}, (A::Xmm)r(w), 3);
3689 a->vmovd (A::Mem{arg[immA], 4*16 + 0}, (A::Xmm)dst() );
3690 a->vpextrd(A::Mem{arg[immA], 5*16 + 0}, (A::Xmm)dst(), 1);
3691 a->vpextrd(A::Mem{arg[immA], 6*16 + 0}, (A::Xmm)dst(), 2);
3692 a->vpextrd(A::Mem{arg[immA], 7*16 + 0}, (A::Xmm)dst(), 3);
3695 a->vmovd (A::Mem{arg[immA], 4*16 + 4}, (A::Xmm)dst() );
3696 a->vpextrd(A::Mem{arg[immA], 5*16 + 4}, (A::Xmm)dst(), 1);
3697 a->vpextrd(A::Mem{arg[immA], 6*16 + 4}, (A::Xmm)dst(), 2);
3698 a->vpextrd(A::Mem{arg[immA], 7*16 + 4}, (A::Xmm)dst(), 3);
3701 a->vmovd (A::Mem{arg[immA], 4*16 + 8}, (A::Xmm)dst() );
3702 a->vpextrd(A::Mem{arg[immA], 5*16 + 8}, (A::Xmm)dst(), 1);
3703 a->vpextrd(A::Mem{arg[immA], 6*16 + 8}, (A::Xmm)dst(), 2);
3704 a->vpextrd(A::Mem{arg[immA], 7*16 + 8}, (A::Xmm)dst(), 3);
3707 a->vmovd (A::Mem{arg[immA], 4*16 + 12}, (A::Xmm)dst() );
3708 a->vpextrd(A::Mem{arg[immA], 5*16 + 12}, (A::Xmm)dst(), 1);
3709 a->vpextrd(A::Mem{arg[immA], 6*16 + 12}, (A::Xmm)dst(), 2);
3710 a->vpextrd(A::Mem{arg[immA], 7*16 + 12}, (A::Xmm)dst(), 3);
3715 a->vpinsrb((A::Xmm)dst(), (A::Xmm)dst(), A::Mem{arg[immA]}, 0);
3717 a->vpmovzxbd(dst(), A::Mem{arg[immA]});
3722 a->vpinsrw((A::Xmm)dst(), (A::Xmm)dst(), A::Mem{arg[immA]}, 0);
3724 a->vpmovzxwd(dst(), A::Mem{arg[immA]});
3727 case Op::load32: if (scalar) { a->vmovd ((A::Xmm)dst(), A::Mem{arg[immA]}); }
3728 else { a->vmovups( dst(), A::Mem{arg[immA]}); }
3732 a->vmovd((A::Xmm)dst(), A::Mem{arg[immA], 4*immB});
3736 a->vpermps(dst(), tmp, A::Mem{arg[immA], 0});
3737 a->vpermps( tmp, tmp, A::Mem{arg[immA], 32});
3744 a->vmovd((A::Xmm)dst(), A::Mem{arg[immA], 4*immB});
3749 a->vmovd (t, A::Mem{arg[immA], 0*16 + 4*immB} );
3750 a->vpinsrd(t,t, A::Mem{arg[immA], 1*16 + 4*immB}, 1);
3751 a->vpinsrd(t,t, A::Mem{arg[immA], 2*16 + 4*immB}, 2);
3752 a->vpinsrd(t,t, A::Mem{arg[immA], 3*16 + 4*immB}, 3);
3756 a->vmovd (d, A::Mem{arg[immA], 4*16 + 4*immB} );
3757 a->vpinsrd(d,d, A::Mem{arg[immA], 5*16 + 4*immB}, 1);
3758 a->vpinsrd(d,d, A::Mem{arg[immA], 6*16 + 4*immB}, 2);
3759 a->vpinsrd(d,d, A::Mem{arg[immA], 7*16 + 4*immB}, 3);
3768 a->mov(GP0, A::Mem{arg[immA], immB});
3788 a->mov(GP0, A::Mem{arg[immA], immB});
3807 a->mov(GP0, A::Mem{arg[immA], immB});
3815 a->mov(GP0, A::Mem{arg[immA], immB});
3825 case Op::uniform32: a->vbroadcastss(dst(), A::Mem{arg[immA], immB});
3828 case Op::array32: a->mov(GP0, A::Mem{arg[immA], immB});
4002 if (scalar) { a->strb (dst(), arg[immA]); }
4003 else { a->strs (dst(), arg[immA]); }
4007 if (scalar) { a->strh (dst(), arg[immA]); }
4008 else { a->strd (dst(), arg[immA]); }
4011 case Op::store32: if (scalar) { a->strs(r(x), arg[immA]); }
4012 else { a->strq(r(x), arg[immA]); }
4016 a->strs(r(x), arg[immA], 0);
4017 a->strs(r(y), arg[immA], 1);
4019 a->st24s(r(x), arg[immA]);
4025 a-> st24s(tmp0, arg[immA]);
4032 a->strs(r(x), arg[immA], 0);
4033 a->strs(r(y), arg[immA], 1);
4034 a->strs(r(z), arg[immA], 2);
4035 a->strs(r(w), arg[immA], 3);
4039 a->st44s(r(x), arg[immA]);
4049 a-> st44s(tmp0, arg[immA]);
4057 case Op::load8: if (scalar) { a->ldrb(dst(), arg[immA]); }
4058 else { a->ldrs(dst(), arg[immA]); }
4063 case Op::load16: if (scalar) { a->ldrh(dst(), arg[immA]); }
4064 else { a->ldrd(dst(), arg[immA]); }
4068 case Op::load32: if (scalar) { a->ldrs(dst(), arg[immA]); }
4069 else { a->ldrq(dst(), arg[immA]); }
4073 a->ldrs(dst(), arg[immA], immB);
4077 a->ld24s(tmp0, arg[immA]);
4086 a->ldrs(dst(), arg[immA], immB);
4092 a->ld44s(tmp0, arg[immA]);
4106 case Op::uniform32: a->add(GP0, arg[immA], immB);
4110 case Op::array32: a->add(GP0, arg[immA], immB);
4118 a->add (GP0, arg[immA], immB); // GP0 = &(gather base pointer)
4131 a->add (GP0, arg[immA], immB);
4143 a->add (GP0, arg[immA], immB);
4302 add(arg[i], K*fImpl->strides[i]);
4321 add(arg[i], 1*fImpl->strides[i]);