w3
stxrh w3, w0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxrh w3, w0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxr w3, w2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxr w3, w2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxr w3, w0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again? */ ;\
stxr w3, w0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again? */ ;\
stxr w3, x2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxr w3, x2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxr w3, x0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again? */ ;\
stxr w3, x0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again? */ ;\
stxrb w3, w2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxrb w3, w2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxrb w3, w0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxrb w3, w0, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxrh w3, w2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
stxrh w3, w2, [x4] /* try to store */ ;\
cbnz w3, 1b /* succeed? no, try again */ ;\
w3 = 7.93650793650793650791708939493907380e-04L,
w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*(w6+y*(w7+y*(w8+
w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*(w6+y*(w7+y*w8)))))));
w3 = 7.93650558643019558500e-04, /* 0x3F4A019F, 0x98CF38B6 */
w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6)))));
w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6)))));
w3 = 7.9365057172e-04, /* 0x3a500cfd */
mp_int w0, w1, w2, w3, w4, tmp1, tmp2, a0, a1, a2, b0, b1, b2;
if ((res = mp_init_multi(&w0, &w1, &w2, &w3, &w4,
if ((res = signed_multiply(&tmp1, &tmp2, &w3)) != MP_OKAY) {
if ((res = signed_subtract(&w3, &w0, &w3)) != MP_OKAY) {
if ((res = half(&w3, &w3)) != MP_OKAY) {
if ((res = signed_subtract(&w3, &w2, &w3)) != MP_OKAY) {
if ((res = signed_subtract(&w3, &tmp1, &w3)) != MP_OKAY) {
if ((res = signed_subtract(&w2, &w3, &w2)) != MP_OKAY) {
if ((res = signed_subtract(&w3, &w2, &w3)) != MP_OKAY) {
if ((res = third(&w3, &w3, NULL)) != MP_OKAY) {
if ((res = lshift_digits(&w3, 3*B)) != MP_OKAY) {
if ((res = signed_add(&w2, &w3, &tmp1)) != MP_OKAY) {
mp_clear_multi(&w0, &w1, &w2, &w3, &w4,
mp_int w0, w1, w2, w3, w4, tmp1, a0, a1, a2;
if ((res = mp_init_multi(&w0, &w1, &w2, &w3, &w4, &a0, &a1, &a2, &tmp1, NULL)) != MP_OKAY) {
if ((res = square(&tmp1, &w3)) != MP_OKAY) {
if ((res = signed_subtract(&w3, &w0, &w3)) != MP_OKAY) {
if ((res = half(&w3, &w3)) != MP_OKAY) {
if ((res = signed_subtract(&w3, &w2, &w3)) != MP_OKAY) {
if ((res = signed_subtract(&w3, &tmp1, &w3)) != MP_OKAY) {
if ((res = signed_subtract(&w2, &w3, &w2)) != MP_OKAY) {
if ((res = signed_subtract(&w3, &w2, &w3)) != MP_OKAY) {
if ((res = third(&w3, &w3, NULL)) != MP_OKAY) {
if ((res = lshift_digits(&w3, 3*B)) != MP_OKAY) {
if ((res = signed_add(&w2, &w3, &tmp1)) != MP_OKAY) {
mp_clear_multi(&w0, &w1, &w2, &w3, &w4, &a0, &a1, &a2, &tmp1, NULL);
uint32_t cs, tc, w0, w1, w2, w3, w4;
w3 = __SHIFTIN(width - 1, VIU_OSD_BLK_CFG_W3_H_END) |
VPU_WRITE(sc, VIU_OSD2_BLK0_CFG_W3_REG, w3);
int w1, w2, w3;
w3 = v1 - v2;
if (w1 >= w3)
if (w2 >= w3)
pthread_create(&w3, NULL, worker, NULL);
pthread_join(w3, NULL);
pthread_t pt, w1, w2, w3, w4;