Lines Matching refs:U32

120     using U32 = uint32_t;
134 SI U32 round (F v, F scale) { return (uint32_t)(v*scale + 0.5f); }
135 SI U16 pack(U32 v) { return (U16)v; }
141 SI T gather(const T* p, U32 ix) { return p[ix]; }
196 using U32 = V<uint32_t>;
208 SI U16 pack(U32 v) { return __builtin_convertvector(v, U16); }
211 SI F if_then_else(I32 c, F t, F e) { return vbslq_f32((U32)c,t,e); }
217 SI U32 round(F v, F scale) { return vcvtnq_u32_f32(v*scale); }
232 SI U32 round(F v, F scale) {
239 SI V<T> gather(const T* p, U32 ix) {
351 using U32 = V<uint32_t>;
380 SI U32 round (F v, F scale) { return _mm256_cvtps_epi32(v*scale); }
381 SI U16 pack(U32 v) {
393 SI V<T> gather(const T* p, U32 ix) {
398 SI F gather(const float* p, U32 ix) { return _mm256_i32gather_ps (p, ix, 4); }
399 SI U32 gather(const uint32_t* p, U32 ix) { return _mm256_i32gather_epi32(p, ix, 4); }
400 SI U64 gather(const uint64_t* p, U32 ix) {
698 using U32 = V<uint32_t>;
711 SI U32 round(F v, F scale) { return _mm_cvtps_epi32(v*scale); }
713 SI U16 pack(U32 v) {
743 SI V<T> gather(const T* p, U32 ix) {
772 U32 rg = _mm_unpacklo_epi16(widen_cast<__m128i>(r), widen_cast<__m128i>(g));
931 SI F cast (U32 v) { return (F)v; }
933 SI U32 trunc_(F v) { return (U32)v; }
934 SI U32 expand(U16 v) { return (U32)v; }
935 SI U32 expand(U8 v) { return (U32)v; }
937 SI F cast (U32 v) { return __builtin_convertvector((I32)v, F); }
939 SI U32 trunc_(F v) { return (U32)__builtin_convertvector( v, I32); }
940 SI U32 expand(U16 v) { return __builtin_convertvector( v, U32); }
941 SI U32 expand(U8 v) { return __builtin_convertvector( v, U32); }
966 F e = cast(sk_bit_cast<U32>(x)) * (1.0f / (1<<23));
969 F m = sk_bit_cast<F>((sk_bit_cast<U32>(x) & 0x007fffff) | 0x3f000000);
1009 U32 sem = expand(h),
1030 U32 sem = sk_bit_cast<U32>(f),
1036 return pack(if_then_else(denorm, U32(0)
1201 U32 wide = expand(_565);
1207 U32 wide = expand(_4444);
1213 SI void from_8888(U32 _8888, F* r, F* g, F* b, F* a) {
1220 U32 wide = expand(_88);
1224 SI void from_1010102(U32 rgba, F* r, F* g, F* b, F* a) {
1230 SI void from_1616(U32 _1616, F* r, F* g) {
1249 F inclusive = sk_bit_cast<F>( sk_bit_cast<U32>(limit) - 1 ); // Exclusive -> inclusive.
1255 SI U32 ix_and_ptr(T** ptr, const SkRasterPipeline_GatherCtx* ctx, F x, F y) {
1270 SI U32 to_unorm(F v, F scale, F bias = 1.0f) {
1297 U32 X = dx + sk_unaligned_load<U32>(iota),
1308 U32 M = (Y & 1) << 5 | (X & 1) << 4
1584 U32 dst = load<U32>(ptr, tail);
1846 SI F strip_sign(F x, U32* sign) {
1847 U32 bits = sk_bit_cast<U32>(x);
1852 SI F apply_sign(F x, U32 sign) {
1853 return sk_bit_cast<F>(sign | sk_bit_cast<U32>(x));
1858 U32 sign;
1872 U32 sign;
1883 U32 sign;
1899 U32 sign;
1918 U32 sign;
1950 U32 ix = ix_and_ptr(&ptr, ctx, r,g);
1975 U32 ix = ix_and_ptr(&ptr, ctx, r,g);
1998 U32 ix = ix_and_ptr(&ptr, ctx, r,g);
2012 from_8888(load<U32>(ptr, tail), &r,&g,&b,&a);
2016 from_8888(load<U32>(ptr, tail), &dr,&dg,&db,&da);
2020 U32 ix = ix_and_ptr(&ptr, ctx, r,g);
2026 U32 px = to_unorm(r, 255)
2047 U32 ix = ix_and_ptr(&ptr, ctx, r, g);
2070 U32 ix = ix_and_ptr(&ptr, ctx, r, g);
2084 from_1616(load<U32>(ptr, tail), &r,&g);
2088 from_1616(load<U32>(ptr, tail), &dr, &dg);
2094 U32 ix = ix_and_ptr(&ptr, ctx, r, g);
2102 U32 px = to_unorm(r, 65535)
2117 U32 ix = ix_and_ptr(&ptr, ctx, r, g);
2134 from_1010102(load<U32>(ptr, tail), &r,&g,&b,&a);
2138 from_1010102(load<U32>(ptr, tail), &dr,&dg,&db,&da);
2142 U32 ix = ix_and_ptr(&ptr, ctx, r,g);
2148 U32 px = to_unorm(r, 1023)
2177 U32 ix = ix_and_ptr(&ptr, ctx, r,g);
2224 U32 ix = ix_and_ptr(&ptr, ctx, r, g);
2255 U32 ix = ix_and_ptr(&ptr, ctx, r, g);
2281 U32 ix = ix_and_ptr(&ptr, ctx, r,g);
2344 auto mask = sk_unaligned_load<U32>(ctx->mask);
2345 r = sk_bit_cast<F>(sk_bit_cast<U32>(r) & mask);
2346 g = sk_bit_cast<F>(sk_bit_cast<U32>(g) & mask);
2347 b = sk_bit_cast<F>(sk_bit_cast<U32>(b) & mask);
2348 a = sk_bit_cast<F>(sk_bit_cast<U32>(a) & mask);
2425 SI void gradient_lookup(const SkRasterPipeline_GradientCtx* c, U32 idx, F t,
2465 U32 idx = 0;
2469 idx += if_then_else(t >= c->ts[i], U32(1), U32(0));
2572 const U32 mask = sk_unaligned_load<U32>(ctx);
2573 r = sk_bit_cast<F>(sk_bit_cast<U32>(r) & mask);
2574 g = sk_bit_cast<F>(sk_bit_cast<U32>(g) & mask);
2575 b = sk_bit_cast<F>(sk_bit_cast<U32>(b) & mask);
2576 a = sk_bit_cast<F>(sk_bit_cast<U32>(a) & mask);
2732 U32 ix = ix_and_ptr(&ptr, ctx, x,y);
2804 U32 ix = ix_and_ptr(&ptr, ctx, x,y);
2855 U32 ix = ix_and_ptr(&ptr, ctx, sample_x, sample_y);
2911 using U32 = uint32_t __attribute__((ext_vector_type(16)));
2920 using U32 = uint32_t __attribute__((ext_vector_type(8)));
3125 SI U32 if_then_else(I32 c, U32 t, U32 e) { return (t & c) | (e & ~c); }
3167 SI U32 trunc_(F x) { return (U32)cast<I32>(x); }
3456 SI U32 ix_and_ptr(T** ptr, const SkRasterPipeline_GatherCtx* ctx, F x, F y) {
3469 SI U32 ix_and_ptr(T** ptr, const SkRasterPipeline_GatherCtx* ctx, I32 x, I32 y) {
3474 U32 ax = cast<U32>(min(max(0, x), w)),
3475 ay = cast<U32>(min(max(0, y), h));
3532 SI V gather(const T* ptr, U32 ix) {
3540 F gather(const float* ptr, U32 ix) {
3549 U32 gather(const uint32_t* ptr, U32 ix) {
3553 return join<U32>(_mm256_i32gather_epi32(ptr, lo, 4),
3558 SI V gather(const T* ptr, U32 ix) {
3567 SI void from_8888(U32 rgba, U16* r, U16* g, U16* b, U16* a) {
3574 rgba = join<U32>(_02, _13);
3576 auto cast_U16 = [](U32 v) -> U16 {
3582 auto cast_U16 = [](U32 v) -> U16 {
3610 from_8888(load<U32>(ptr, tail), r,g,b,a);
3632 store(ptr, tail, cast<U32>(r | (g<<8)) << 0
3633 | cast<U32>(b | (a<<8)) << 16);
3648 U32 ix = ix_and_ptr(&ptr, ctx, x,y);
3649 from_8888(gather<U32>(ptr, ix), &r, &g, &b, &a);
3694 U32 ix = ix_and_ptr(&ptr, ctx, x,y);
3739 U32 ix = ix_and_ptr(&ptr, ctx, x,y);
3804 U32 ix = ix_and_ptr(&ptr, ctx, x, y);
3832 U32 ix = ix_and_ptr(&ptr, ctx, x,y);
4014 SI void gradient_lookup(const SkRasterPipeline_GradientCtx* c, U32 idx, F t,
4061 U32 idx = 0;
4065 idx += if_then_else(t >= c->ts[i], U32(1), U32(0));
4087 SI F cast (U32 v) { return __builtin_convertvector((I32)v, F); }
4144 U32 ix = ix_and_ptr(&ptr, ctx, sx, sy);
4146 from_8888(gather<U32>(ptr, ix), &leftR,&leftG,&leftB,&leftA);
4150 from_8888(gather<U32>(ptr, ix), &rightR,&rightG,&rightB,&rightA);
4158 from_8888(gather<U32>(ptr, ix), &leftR,&leftG,&leftB,&leftA);
4161 from_8888(gather<U32>(ptr, ix), &rightR,&rightG,&rightB,&rightA);