soft-fp: add missing FP_INIT_EXCEPTIONS and FP_INIT_ROUNDMODE calls.

This commit is contained in:
Joseph Myers 2013-10-12 12:21:04 +00:00
parent 8edc4a11cf
commit 98998e9f51
40 changed files with 79 additions and 0 deletions

View File

@ -1,5 +1,45 @@
2013-10-12 Joseph Myers <joseph@codesourcery.com> 2013-10-12 Joseph Myers <joseph@codesourcery.com>
* soft-fp/eqdf2.c (__eqdf2): Use FP_INIT_EXCEPTIONS.
* soft-fp/eqsf2.c (__eqsf2): Likewise.
* soft-fp/eqtf2.c (__eqtf2): Likewise.
* soft-fp/fixdfdi.c (__fixdfdi): Likewise.
* soft-fp/fixdfsi.c (__fixdfsi): Likewise.
* soft-fp/fixdfti.c (__fixdfti): Likewise.
* soft-fp/fixsfdi.c (__fixsfdi): Likewise.
* soft-fp/fixsfsi.c (__fixsfsi): Likewise.
* soft-fp/fixsfti.c (__fixsfti): Likewise.
* soft-fp/fixtfdi.c (__fixtfdi): Likewise.
* soft-fp/fixtfsi.c (__fixtfsi): Likewise.
* soft-fp/fixtfti.c (__fixtfti): Likewise.
* soft-fp/fixunsdfdi.c (__fixunsdfdi): Likewise.
* soft-fp/fixunsdfsi.c (__fixunsdfsi): Likewise.
* soft-fp/fixunsdfti.c (__fixunsdfti): Likewise.
* soft-fp/fixunssfdi.c (__fixunssfdi): Likewise.
* soft-fp/fixunssfsi.c (__fixunssfsi): Likewise.
* soft-fp/fixunssfti.c (__fixunssfti): Likewise.
* soft-fp/fixunstfdi.c (__fixunstfdi): Likewise.
* soft-fp/fixunstfsi.c (__fixunstfsi): Likewise.
* soft-fp/fixunstfti.c (__fixunstfti): Likewise.
* soft-fp/floatdidf.c (__floatdidf): Use FP_INIT_ROUNDMODE.
* soft-fp/floatdisf.c (__floatdisf): Likewise.
* soft-fp/floatsisf.c (__floatsisf): Likewise.
* soft-fp/floattidf.c (__floattidf): Likewise.
* soft-fp/floattisf.c (__floattisf): Likewise.
* soft-fp/floattitf.c (__floattitf): Likewise.
* soft-fp/floatundidf.c (__floatundidf): Likewise.
* soft-fp/floatundisf.c (__floatundisf): Likewise.
* soft-fp/floatunsisf.c (__floatunsisf): Likewise.
* soft-fp/floatuntidf.c (__floatuntidf): Likewise.
* soft-fp/floatuntisf.c (__floatuntisf): Likewise.
* soft-fp/floatuntitf.c (__floatuntitf): Likewise.
* soft-fp/gedf2.c (__gedf2): Use FP_INIT_EXCEPTIONS.
* soft-fp/gesf2.c (__gesf2): Likewise.
* soft-fp/getf2.c (__getf2): Likewise.
* soft-fp/ledf2.c (__ledf2): Likewise.
* soft-fp/lesf2.c (__lesf2): Likewise.
* soft-fp/letf2.c (__letf2): Likewise.
* soft-fp/soft-fp.h [FP_NO_EXCEPTIONS] (FP_SET_EXCEPTION): * soft-fp/soft-fp.h [FP_NO_EXCEPTIONS] (FP_SET_EXCEPTION):
Undefine and redefine. Undefine and redefine.
[FP_NO_EXCEPTIONS] (FP_CUR_EXCEPTIONS): Likewise. [FP_NO_EXCEPTIONS] (FP_CUR_EXCEPTIONS): Likewise.

View File

@ -37,6 +37,7 @@ CMPtype __eqdf2(DFtype a, DFtype b)
FP_DECL_D(A); FP_DECL_D(B); FP_DECL_D(A); FP_DECL_D(B);
CMPtype r; CMPtype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
FP_UNPACK_RAW_D(B, b); FP_UNPACK_RAW_D(B, b);
FP_CMP_EQ_D(r, A, B); FP_CMP_EQ_D(r, A, B);

View File

@ -37,6 +37,7 @@ CMPtype __eqsf2(SFtype a, SFtype b)
FP_DECL_S(A); FP_DECL_S(B); FP_DECL_S(A); FP_DECL_S(B);
CMPtype r; CMPtype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
FP_UNPACK_RAW_S(B, b); FP_UNPACK_RAW_S(B, b);
FP_CMP_EQ_S(r, A, B); FP_CMP_EQ_S(r, A, B);

View File

@ -37,6 +37,7 @@ CMPtype __eqtf2(TFtype a, TFtype b)
FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(A); FP_DECL_Q(B);
CMPtype r; CMPtype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b); FP_UNPACK_RAW_Q(B, b);
FP_CMP_EQ_Q(r, A, B); FP_CMP_EQ_Q(r, A, B);

View File

@ -37,6 +37,7 @@ DItype __fixdfdi(DFtype a)
FP_DECL_D(A); FP_DECL_D(A);
UDItype r; UDItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
FP_TO_INT_D(r, A, DI_BITS, 1); FP_TO_INT_D(r, A, DI_BITS, 1);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ SItype __fixdfsi(DFtype a)
FP_DECL_D(A); FP_DECL_D(A);
USItype r; USItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
FP_TO_INT_D(r, A, SI_BITS, 1); FP_TO_INT_D(r, A, SI_BITS, 1);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ TItype __fixdfti(DFtype a)
FP_DECL_D(A); FP_DECL_D(A);
UTItype r; UTItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
FP_TO_INT_D(r, A, TI_BITS, 1); FP_TO_INT_D(r, A, TI_BITS, 1);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ DItype __fixsfdi(SFtype a)
FP_DECL_S(A); FP_DECL_S(A);
UDItype r; UDItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
FP_TO_INT_S(r, A, DI_BITS, 1); FP_TO_INT_S(r, A, DI_BITS, 1);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ SItype __fixsfsi(SFtype a)
FP_DECL_S(A); FP_DECL_S(A);
USItype r; USItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
FP_TO_INT_S(r, A, SI_BITS, 1); FP_TO_INT_S(r, A, SI_BITS, 1);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ TItype __fixsfti(SFtype a)
FP_DECL_S(A); FP_DECL_S(A);
UTItype r; UTItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
FP_TO_INT_S(r, A, TI_BITS, 1); FP_TO_INT_S(r, A, TI_BITS, 1);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ DItype __fixtfdi(TFtype a)
FP_DECL_Q(A); FP_DECL_Q(A);
UDItype r; UDItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(A, a);
FP_TO_INT_Q(r, A, DI_BITS, 1); FP_TO_INT_Q(r, A, DI_BITS, 1);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ SItype __fixtfsi(TFtype a)
FP_DECL_Q(A); FP_DECL_Q(A);
USItype r; USItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(A, a);
FP_TO_INT_Q(r, A, SI_BITS, 1); FP_TO_INT_Q(r, A, SI_BITS, 1);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ TItype __fixtfti(TFtype a)
FP_DECL_Q(A); FP_DECL_Q(A);
UTItype r; UTItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(A, a);
FP_TO_INT_Q(r, A, TI_BITS, 1); FP_TO_INT_Q(r, A, TI_BITS, 1);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ UDItype __fixunsdfdi(DFtype a)
FP_DECL_D(A); FP_DECL_D(A);
UDItype r; UDItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
FP_TO_INT_D(r, A, DI_BITS, 0); FP_TO_INT_D(r, A, DI_BITS, 0);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ USItype __fixunsdfsi(DFtype a)
FP_DECL_D(A); FP_DECL_D(A);
USItype r; USItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
FP_TO_INT_D(r, A, SI_BITS, 0); FP_TO_INT_D(r, A, SI_BITS, 0);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ UTItype __fixunsdfti(DFtype a)
FP_DECL_D(A); FP_DECL_D(A);
UTItype r; UTItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
FP_TO_INT_D(r, A, TI_BITS, 0); FP_TO_INT_D(r, A, TI_BITS, 0);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ UDItype __fixunssfdi(SFtype a)
FP_DECL_S(A); FP_DECL_S(A);
UDItype r; UDItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
FP_TO_INT_S(r, A, DI_BITS, 0); FP_TO_INT_S(r, A, DI_BITS, 0);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ USItype __fixunssfsi(SFtype a)
FP_DECL_S(A); FP_DECL_S(A);
USItype r; USItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
FP_TO_INT_S(r, A, SI_BITS, 0); FP_TO_INT_S(r, A, SI_BITS, 0);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ UTItype __fixunssfti(SFtype a)
FP_DECL_S(A); FP_DECL_S(A);
UTItype r; UTItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
FP_TO_INT_S(r, A, TI_BITS, 0); FP_TO_INT_S(r, A, TI_BITS, 0);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ UDItype __fixunstfdi(TFtype a)
FP_DECL_Q(A); FP_DECL_Q(A);
UDItype r; UDItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(A, a);
FP_TO_INT_Q(r, A, DI_BITS, 0); FP_TO_INT_Q(r, A, DI_BITS, 0);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ USItype __fixunstfsi(TFtype a)
FP_DECL_Q(A); FP_DECL_Q(A);
USItype r; USItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(A, a);
FP_TO_INT_Q(r, A, SI_BITS, 0); FP_TO_INT_Q(r, A, SI_BITS, 0);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ UTItype __fixunstfti(TFtype a)
FP_DECL_Q(A); FP_DECL_Q(A);
UTItype r; UTItype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(A, a);
FP_TO_INT_Q(r, A, TI_BITS, 0); FP_TO_INT_Q(r, A, TI_BITS, 0);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ DFtype __floatdidf(DItype i)
FP_DECL_D(A); FP_DECL_D(A);
DFtype a; DFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_D(A, i, DI_BITS, UDItype); FP_FROM_INT_D(A, i, DI_BITS, UDItype);
FP_PACK_RAW_D(a, A); FP_PACK_RAW_D(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ SFtype __floatdisf(DItype i)
FP_DECL_S(A); FP_DECL_S(A);
SFtype a; SFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_S(A, i, DI_BITS, UDItype); FP_FROM_INT_S(A, i, DI_BITS, UDItype);
FP_PACK_RAW_S(a, A); FP_PACK_RAW_S(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ SFtype __floatsisf(SItype i)
FP_DECL_S(A); FP_DECL_S(A);
SFtype a; SFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_S(A, i, SI_BITS, USItype); FP_FROM_INT_S(A, i, SI_BITS, USItype);
FP_PACK_RAW_S(a, A); FP_PACK_RAW_S(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ DFtype __floattidf(TItype i)
FP_DECL_D(A); FP_DECL_D(A);
DFtype a; DFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_D(A, i, TI_BITS, UTItype); FP_FROM_INT_D(A, i, TI_BITS, UTItype);
FP_PACK_RAW_D(a, A); FP_PACK_RAW_D(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ SFtype __floattisf(TItype i)
FP_DECL_S(A); FP_DECL_S(A);
SFtype a; SFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_S(A, i, TI_BITS, UTItype); FP_FROM_INT_S(A, i, TI_BITS, UTItype);
FP_PACK_RAW_S(a, A); FP_PACK_RAW_S(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ TFtype __floattitf(TItype i)
FP_DECL_Q(A); FP_DECL_Q(A);
TFtype a; TFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_Q(A, i, TI_BITS, UTItype); FP_FROM_INT_Q(A, i, TI_BITS, UTItype);
FP_PACK_RAW_Q(a, A); FP_PACK_RAW_Q(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ DFtype __floatundidf(UDItype i)
FP_DECL_D(A); FP_DECL_D(A);
DFtype a; DFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_D(A, i, DI_BITS, UDItype); FP_FROM_INT_D(A, i, DI_BITS, UDItype);
FP_PACK_RAW_D(a, A); FP_PACK_RAW_D(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ SFtype __floatundisf(UDItype i)
FP_DECL_S(A); FP_DECL_S(A);
SFtype a; SFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_S(A, i, DI_BITS, UDItype); FP_FROM_INT_S(A, i, DI_BITS, UDItype);
FP_PACK_RAW_S(a, A); FP_PACK_RAW_S(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ SFtype __floatunsisf(USItype i)
FP_DECL_S(A); FP_DECL_S(A);
SFtype a; SFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_S(A, i, SI_BITS, USItype); FP_FROM_INT_S(A, i, SI_BITS, USItype);
FP_PACK_RAW_S(a, A); FP_PACK_RAW_S(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ DFtype __floatuntidf(UTItype i)
FP_DECL_D(A); FP_DECL_D(A);
DFtype a; DFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_D(A, i, TI_BITS, UTItype); FP_FROM_INT_D(A, i, TI_BITS, UTItype);
FP_PACK_RAW_D(a, A); FP_PACK_RAW_D(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ SFtype __floatuntisf(UTItype i)
FP_DECL_S(A); FP_DECL_S(A);
SFtype a; SFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_S(A, i, TI_BITS, UTItype); FP_FROM_INT_S(A, i, TI_BITS, UTItype);
FP_PACK_RAW_S(a, A); FP_PACK_RAW_S(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -36,6 +36,7 @@ TFtype __floatuntitf(UTItype i)
FP_DECL_Q(A); FP_DECL_Q(A);
TFtype a; TFtype a;
FP_INIT_ROUNDMODE;
FP_FROM_INT_Q(A, i, TI_BITS, UTItype); FP_FROM_INT_Q(A, i, TI_BITS, UTItype);
FP_PACK_RAW_Q(a, A); FP_PACK_RAW_Q(a, A);
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;

View File

@ -37,6 +37,7 @@ CMPtype __gedf2(DFtype a, DFtype b)
FP_DECL_D(A); FP_DECL_D(B); FP_DECL_D(A); FP_DECL_D(B);
CMPtype r; CMPtype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
FP_UNPACK_RAW_D(B, b); FP_UNPACK_RAW_D(B, b);
FP_CMP_D(r, A, B, -2); FP_CMP_D(r, A, B, -2);

View File

@ -37,6 +37,7 @@ CMPtype __gesf2(SFtype a, SFtype b)
FP_DECL_S(A); FP_DECL_S(B); FP_DECL_S(A); FP_DECL_S(B);
CMPtype r; CMPtype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
FP_UNPACK_RAW_S(B, b); FP_UNPACK_RAW_S(B, b);
FP_CMP_S(r, A, B, -2); FP_CMP_S(r, A, B, -2);

View File

@ -37,6 +37,7 @@ CMPtype __getf2(TFtype a, TFtype b)
FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(A); FP_DECL_Q(B);
CMPtype r; CMPtype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b); FP_UNPACK_RAW_Q(B, b);
FP_CMP_Q(r, A, B, -2); FP_CMP_Q(r, A, B, -2);

View File

@ -37,6 +37,7 @@ CMPtype __ledf2(DFtype a, DFtype b)
FP_DECL_D(A); FP_DECL_D(B); FP_DECL_D(A); FP_DECL_D(B);
CMPtype r; CMPtype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(A, a);
FP_UNPACK_RAW_D(B, b); FP_UNPACK_RAW_D(B, b);
FP_CMP_D(r, A, B, 2); FP_CMP_D(r, A, B, 2);

View File

@ -37,6 +37,7 @@ CMPtype __lesf2(SFtype a, SFtype b)
FP_DECL_S(A); FP_DECL_S(B); FP_DECL_S(A); FP_DECL_S(B);
CMPtype r; CMPtype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(A, a);
FP_UNPACK_RAW_S(B, b); FP_UNPACK_RAW_S(B, b);
FP_CMP_S(r, A, B, 2); FP_CMP_S(r, A, B, 2);

View File

@ -37,6 +37,7 @@ CMPtype __letf2(TFtype a, TFtype b)
FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(A); FP_DECL_Q(B);
CMPtype r; CMPtype r;
FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b); FP_UNPACK_RAW_Q(B, b);
FP_CMP_Q(r, A, B, 2); FP_CMP_Q(r, A, B, 2);