• Home
  • Raw
  • Download

Lines Matching refs:splat

324             case Op::splat: write(o, V{id}, "=", op, Splat{immA}); break;  in write_one_instruction()
444 case Op::splat: write(o, R{d}, "=", op, Splat{immA}); break; in dump()
692 I32 val = b ? this->splat(1) : this->splat(0); in trace_var()
745 I32 Builder::splat(int n) { return {this, push(Op::splat, NA,NA,NA,NA, n) }; } in splat() function in skvm::Builder
763 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X+Y); } in add()
779 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X-Y); } in sub()
793 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X*Y); } in mul()
800 if (this->isImm(x.id, 0.0f) || this->isImm(y.id, 0.0f)) { return splat(0.0f); } in fast_mul()
805 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(sk_ieee_float_divide(X,Y)); } in div()
811 if (float X; this->allImm(x.id,&X)) { return splat(std::sqrt(X)); } in sqrt()
818 F32 e = mul(to_F32(pun_to_I32(x)), splat(1.0f / (1<<23))); in approx_log2()
974 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(std::min(X,Y)); } in min()
978 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(std::max(X,Y)); } in max()
984 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X+Y); } in add()
991 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X-Y); } in sub()
997 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X*Y); } in mul()
998 if (this->isImm(x.id, 0)) { return splat(0); } in mul()
999 if (this->isImm(y.id, 0)) { return splat(0); } in mul()
1008 if (int X; this->allImm(x.id,&X)) { return splat(X << bits); } in shl()
1013 if (int X; this->allImm(x.id,&X)) { return splat(unsigned(X) >> bits); } in shr()
1018 if (int X; this->allImm(x.id,&X)) { return splat(X >> bits); } in sra()
1023 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X==Y ? ~0 : 0); } in eq()
1027 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X!=Y ? ~0 : 0); } in neq()
1031 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(Y> X ? ~0 : 0); } in lt()
1035 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(Y>=X ? ~0 : 0); } in lte()
1039 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X> Y ? ~0 : 0); } in gt()
1043 if (float X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X>=Y ? ~0 : 0); } in gte()
1048 if (x.id == y.id) { return splat(~0); } in eq()
1049 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X==Y ? ~0 : 0); } in eq()
1053 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X!=Y ? ~0 : 0); } in neq()
1057 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X> Y ? ~0 : 0); } in gt()
1061 if (x.id == y.id) { return splat(~0); } in gte()
1062 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X>=Y ? ~0 : 0); } in gte()
1070 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X&Y); } in bit_and()
1071 if (this->isImm(y.id, 0)) { return splat(0); } // (x & false) == false in bit_and()
1072 if (this->isImm(x.id, 0)) { return splat(0); } // (false & y) == false in bit_and()
1079 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X|Y); } in bit_or()
1082 if (this->isImm(y.id,~0)) { return splat(~0); } // (x | true) == true in bit_or()
1083 if (this->isImm(x.id,~0)) { return splat(~0); } // (true | y) == true in bit_or()
1087 if (x.id == y.id) { return splat(0); } in bit_xor()
1088 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X^Y); } in bit_xor()
1095 if (x.id == y.id) { return splat(0); } in bit_clear()
1096 if (int X,Y; this->allImm(x.id,&X, y.id,&Y)) { return splat(X&~Y); } in bit_clear()
1098 if (this->isImm(y.id,~0)) { return splat(0); } // (x & ~true) == false in bit_clear()
1099 if (this->isImm(x.id, 0)) { return splat(0); } // (false & ~y) == false in bit_clear()
1105 if (int X,Y,Z; this->allImm(x.id,&X, y.id,&Y, z.id,&Z)) { return splat(X?Y:Z); } in select()
1123 if (float X; this->allImm(x.id,&X)) { return splat(ceilf(X)); } in ceil()
1127 if (float X; this->allImm(x.id,&X)) { return splat(floorf(X)); } in floor()
1131 if (int X; this->allImm(x.id,&X)) { return splat((float)X); } in to_F32()
1135 if (float X; this->allImm(x.id,&X)) { return splat((int)X); } in trunc()
1139 if (float X; this->allImm(x.id,&X)) { return splat((int)lrintf(X)); } in round()
1144 if (float X; this->allImm(x.id,&X)) { return splat((int)SkFloatToHalf(X)); } in to_fp16()
1148 if (int X; this->allImm(x.id,&X)) { return splat(SkHalfToFloat(X)); } in from_fp16()
1153 F32 limit = splat(1 / ((1<<bits)-1.0f)); in from_unorm()
1157 F32 limit = splat((1<<bits)-1.0f); in to_unorm()
1218 v->splat(tf->g), in unpack()
1219 v->splat(tf->a), in unpack()
1220 v->splat(tf->b), in unpack()
1221 v->splat(tf->c), in unpack()
1222 v->splat(tf->d), in unpack()
1223 v->splat(tf->e), in unpack()
1224 v->splat(tf->f)); in unpack()
1246 f.r_bits ? unpack_rgb (f.r_bits, f.r_shift) : x->splat(0.0f), in unpack()
1247 f.g_bits ? unpack_rgb (f.g_bits, f.g_shift) : x->splat(0.0f), in unpack()
1248 f.b_bits ? unpack_rgb (f.b_bits, f.b_shift) : x->splat(0.0f), in unpack()
1249 f.a_bits ? unpack_alpha(f.a_bits, f.a_shift) : x->splat(1.0f), in unpack()
1361 v->splat(tf->g), in pack32()
1362 v->splat(tf->a), in pack32()
1363 v->splat(tf->b), in pack32()
1364 v->splat(tf->c), in pack32()
1365 v->splat(tf->d), in pack32()
1366 v->splat(tf->e), in pack32()
1367 v->splat(tf->f))); in pack32()
1370 I32 packed = c->splat(0); in pack32()
1430 inf = pun_to_F32(splat(0x7f800000)); in unpremul()
1475 g_lt_b = select(c.g < c.b, splat(6.0f) in to_hsla()
1476 , splat(0.0f)); in to_hsla()
1605 case SkBlendMode::kClear: return { splat(0.0f), splat(0.0f), splat(0.0f), splat(0.0f) }; in blend()
2714 case Op::splat: vals[i] = llvm::ConstantInt::get(I32, immA); break; in setupLLVM()
3348 if (instructions[v].op == Op::splat) { in jit()
3384 if (instructions[v].op == Op::splat) { in jit()
3426 && instructions[v].op != Op::splat; // No need to spill constants. in jit()
3588 if (instructions[v].op == Op::splat) { in jit()
3603 case Op::splat: in jit()