UDItype
: "=r" ((UDItype)(wh)), \
"=&r" ((UDItype)(wl)) \
: "r" ((UDItype)(u)), \
"r" ((UDItype)(v)))
: "r" ((UDItype)(ah)), \
"r" ((UDItype)(bh)), \
"r" ((UDItype)(al)), \
"r" ((UDItype)(bl)) \
: "r" ((UDItype)(ah)), \
"r" ((UDItype)(bh)), \
"r" ((UDItype)(al)), \
"r" ((UDItype)(bl)) \
UDItype tmp1, tmp2, tmp3, tmp4; \
: "r" ((UDItype)(u)), \
"r" ((UDItype)(v)) \
union { double d; UDItype i; } _l240, _m240, _n240, _o240, \
UDItype _t240, _u240, _v240, _w240, _x240, _y240 = 0; \
union {UDItype __ll; \
UDItype __m0 = (m0), __m1 = (m1); \
do { UDItype __r; \
extern UDItype __udiv_qrnnd(UDItype *, UDItype, UDItype, UDItype);
({union {UDItype __ll; \
({UDItype __w; \
union {UDItype __ll; \
union {UDItype __ll; \
({union {UDItype __ll; \
({UDItype __w; \
union {UDItype __ll; \
union {UDItype __ll; \
union {UDItype __ll; \
({union {UDItype __ll; \
UDItype __ll = (UDItype)(u) * (v); \
: "=d" ((UDItype)(w0)) \
: "d" ((UDItype)(u)), \
"d" ((UDItype)(v))); \
: "=d" ((UDItype)(w1)) \
: "d" ((UDItype)(u)), \
"d" ((UDItype)(v))); \
({union {UDItype __ll; \
({UDItype __w; \
({union {UDItype __ll; \
({union {UDItype __ll; \