+# if __WORDSIZE == 32
+# define fmar_f(r0, r1, r2, r3) FMADDS(r1, r2, r3, r0)
+# define fmsr_f(r0, r1, r2, r3) FMSUBS(r1, r2, r3, r0)
+# define fmar_d(r0, r1, r2, r3) FMADDD(r1, r2, r3, r0)
+# define fmsr_d(r0, r1, r2, r3) FMSUBD(r1, r2, r3, r0)
+# define fnmar_f(r0, r1, r2, r3) FNMADDS(r1, r2, r3, r0)
+# define fnmsr_f(r0, r1, r2, r3) FNMSUBS(r1, r2, r3, r0)
+# define fnmar_d(r0, r1, r2, r3) FNMADDD(r1, r2, r3, r0)
+# define fnmsr_d(r0, r1, r2, r3) FNMSUBD(r1, r2, r3, r0)
+# else
+# define fop3f(op, r0, r1, r2, r3) _fop3f(_jit, op, r0, r1, r2, r3)
+static void _fop3f(jit_state_t*, jit_int32_t, jit_int32_t,
+ jit_int32_t, jit_int32_t, jit_int32_t);
+# define fmar_f(r0, r1, r2, r3) fop3f(SPARC_FMADDS, r0, r1, r2, r3)
+# define fmsr_f(r0, r1, r2, r3) fop3f(SPARC_FMSUBS, r0, r1, r2, r3)
+# define fmar_d(r0, r1, r2, r3) fop3f(SPARC_FMADDD, r0, r1, r2, r3)
+# define fmsr_d(r0, r1, r2, r3) fop3f(SPARC_FMSUBD, r0, r1, r2, r3)
+# define fnmar_f(r0, r1, r2, r3) fop3f(SPARC_FNMADDS, r0, r1, r2, r3)
+# define fnmsr_f(r0, r1, r2, r3) fop3f(SPARC_FNMSUBS, r0, r1, r2, r3)
+# define fnmar_d(r0, r1, r2, r3) fop3f(SPARC_FNMADDD, r0, r1, r2, r3)
+# define fnmsr_d(r0, r1, r2, r3) fop3f(SPARC_FNMSUBD, r0, r1, r2, r3)
+# endif