30 "\n\tsetp.gt.u64 cp, %3, 0x73EDA753299D7D48U;"
32 "\n@cp\tsub.u64.cc %0, %0, 0xFFFFFFFF00000001U;"
33 "\n@cp\tsubc.u64.cc %1, %1, 0x53BDA402FFFE5BFEU;"
34 "\n@cp\tsubc.u64.cc %2, %2, 0x3339D80809A1D805U;"
35 "\n@cp\tsubc.u64.cc %3, %3, 0x73EDA753299D7D48U;"
39 "\n\tsub.u64.cc t0, %0, 0xFFFFFFFF00000001U;"
40 "\n\tsubc.u64.cc t1, %1, 0x53BDA402FFFE5BFEU;"
41 "\n\tsubc.u64.cc t2, %2, 0x3339D80809A1D805U;"
42 "\n\tsubc.u64.cc t3, %3, 0x73EDA753299D7D48U;"
43 "\n\tsubc.u64 t4, 0, 0;"
47 "\n\tsetp.eq.u64 cp, t4, 0;"
49 "\n@cp\tmov.u64 %0, t0;"
50 "\n@cp\tmov.u64 %1, t1;"
51 "\n@cp\tmov.u64 %2, t2;"
52 "\n@cp\tmov.u64 %3, t3;"
56 "+l"(z0),
"+l"(z1),
"+l"(z2),
"+l"(z3)
59 z[0] = z0, z[1] = z1, z[2] = z2, z[3] = z3;
uint64_t fr_t[4]
Subgroup element stored as a 256-bit array (a 4-element little-endian array of uint64_t)....
__device__ void fr_reduce4(fr_t &z)
Reduced the value in fr_t to the field modulus.