Lines Matching refs:splat

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