/*
  Copyright © 2019, The AROS Development Team. All rights reserved.
  This file is AUTOGENERATED from arch/m68k-all/include/gencall.c
*/

#ifndef AROS_M68K_ASMCALL_H
#define AROS_M68K_ASMCALL_H

#define __AROS_CPU_SPECIFIC_ASMCALLS

#define AROS_UFP0(t,n) \
	t n (void)
#define AROS_UFP1(t,n,a1) \
	t n (void)
#define AROS_UFP2(t,n,a1,a2) \
	t n (void)
#define AROS_UFP3(t,n,a1,a2,a3) \
	t n (void)
#define AROS_UFP4(t,n,a1,a2,a3,a4) \
	t n (void)
#define AROS_UFP5(t,n,a1,a2,a3,a4,a5) \
	t n (void)
#define AROS_UFP6(t,n,a1,a2,a3,a4,a5,a6) \
	t n (void)
#define AROS_UFP7(t,n,a1,a2,a3,a4,a5,a6,a7) \
	t n (void)
#define AROS_UFP8(t,n,a1,a2,a3,a4,a5,a6,a7,a8) \
	t n (void)
#define AROS_UFP9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9) \
	t n (void)
#define AROS_UFP10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) \
	t n (void)
#define AROS_UFP11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) \
	t n (void)
#define AROS_UFP12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
	t n (void)
#define AROS_UFP13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) \
	t n (void)
#define AROS_UFP0S(t,n) \
	static t n (void)
#define AROS_UFP1S(t,n,a1) \
	static t n (void)
#define AROS_UFP2S(t,n,a1,a2) \
	static t n (void)
#define AROS_UFP3S(t,n,a1,a2,a3) \
	static t n (void)
#define AROS_UFP4S(t,n,a1,a2,a3,a4) \
	static t n (void)
#define AROS_UFP5S(t,n,a1,a2,a3,a4,a5) \
	static t n (void)
#define AROS_UFP6S(t,n,a1,a2,a3,a4,a5,a6) \
	static t n (void)
#define AROS_UFP7S(t,n,a1,a2,a3,a4,a5,a6,a7) \
	static t n (void)
#define AROS_UFP8S(t,n,a1,a2,a3,a4,a5,a6,a7,a8) \
	static t n (void)
#define AROS_UFP9S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9) \
	static t n (void)
#define AROS_UFP10S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) \
	static t n (void)
#define AROS_UFP11S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) \
	static t n (void)
#define AROS_UFP12S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
	static t n (void)
#define AROS_UFP13S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) \
	static t n (void)
#define AROS_UFH0(t,n) \
	t n (void) {

#define AROS_UFH1(t,n,a1) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;});
#define AROS_UFH2(t,n,a1,a2) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;});
#define AROS_UFH3(t,n,a1,a2,a3) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;});
#define AROS_UFH4(t,n,a1,a2,a3,a4) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;});
#define AROS_UFH5(t,n,a1,a2,a3,a4,a5) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;});
#define AROS_UFH6(t,n,a1,a2,a3,a4,a5,a6) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;});
#define AROS_UFH7(t,n,a1,a2,a3,a4,a5,a6,a7) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;});
#define AROS_UFH8(t,n,a1,a2,a3,a4,a5,a6,a7,a8) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;});
#define AROS_UFH9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;});
#define AROS_UFH10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;}); \
	__AROS_UFPA(a10) __attribute__((unused)) __AROS_UFCA(a10) = __AROS_ISREG(a10,__AROS_FP_REG) ? (__AROS_UFPA(a10))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a10));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a10))__r;});
#define AROS_UFH11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;}); \
	__AROS_UFPA(a10) __attribute__((unused)) __AROS_UFCA(a10) = __AROS_ISREG(a10,__AROS_FP_REG) ? (__AROS_UFPA(a10))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a10));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a10))__r;}); \
	__AROS_UFPA(a11) __attribute__((unused)) __AROS_UFCA(a11) = __AROS_ISREG(a11,__AROS_FP_REG) ? (__AROS_UFPA(a11))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a11));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a11))__r;});
#define AROS_UFH12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;}); \
	__AROS_UFPA(a10) __attribute__((unused)) __AROS_UFCA(a10) = __AROS_ISREG(a10,__AROS_FP_REG) ? (__AROS_UFPA(a10))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a10));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a10))__r;}); \
	__AROS_UFPA(a11) __attribute__((unused)) __AROS_UFCA(a11) = __AROS_ISREG(a11,__AROS_FP_REG) ? (__AROS_UFPA(a11))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a11));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a11))__r;}); \
	__AROS_UFPA(a12) __attribute__((unused)) __AROS_UFCA(a12) = __AROS_ISREG(a12,__AROS_FP_REG) ? (__AROS_UFPA(a12))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a12));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a12))__r;});
#define AROS_UFH13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) \
	t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;}); \
	__AROS_UFPA(a10) __attribute__((unused)) __AROS_UFCA(a10) = __AROS_ISREG(a10,__AROS_FP_REG) ? (__AROS_UFPA(a10))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a10));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a10))__r;}); \
	__AROS_UFPA(a11) __attribute__((unused)) __AROS_UFCA(a11) = __AROS_ISREG(a11,__AROS_FP_REG) ? (__AROS_UFPA(a11))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a11));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a11))__r;}); \
	__AROS_UFPA(a12) __attribute__((unused)) __AROS_UFCA(a12) = __AROS_ISREG(a12,__AROS_FP_REG) ? (__AROS_UFPA(a12))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a12));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a12))__r;}); \
	__AROS_UFPA(a13) __attribute__((unused)) __AROS_UFCA(a13) = __AROS_ISREG(a13,__AROS_FP_REG) ? (__AROS_UFPA(a13))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a13));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a13))__r;});
#define AROS_UFH0S(t,n) \
	static t n (void) {

#define AROS_UFH1S(t,n,a1) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;});
#define AROS_UFH2S(t,n,a1,a2) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;});
#define AROS_UFH3S(t,n,a1,a2,a3) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;});
#define AROS_UFH4S(t,n,a1,a2,a3,a4) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;});
#define AROS_UFH5S(t,n,a1,a2,a3,a4,a5) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;});
#define AROS_UFH6S(t,n,a1,a2,a3,a4,a5,a6) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;});
#define AROS_UFH7S(t,n,a1,a2,a3,a4,a5,a6,a7) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;});
#define AROS_UFH8S(t,n,a1,a2,a3,a4,a5,a6,a7,a8) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;});
#define AROS_UFH9S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;});
#define AROS_UFH10S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;}); \
	__AROS_UFPA(a10) __attribute__((unused)) __AROS_UFCA(a10) = __AROS_ISREG(a10,__AROS_FP_REG) ? (__AROS_UFPA(a10))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a10));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a10))__r;});
#define AROS_UFH11S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;}); \
	__AROS_UFPA(a10) __attribute__((unused)) __AROS_UFCA(a10) = __AROS_ISREG(a10,__AROS_FP_REG) ? (__AROS_UFPA(a10))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a10));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a10))__r;}); \
	__AROS_UFPA(a11) __attribute__((unused)) __AROS_UFCA(a11) = __AROS_ISREG(a11,__AROS_FP_REG) ? (__AROS_UFPA(a11))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a11));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a11))__r;});
#define AROS_UFH12S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;}); \
	__AROS_UFPA(a10) __attribute__((unused)) __AROS_UFCA(a10) = __AROS_ISREG(a10,__AROS_FP_REG) ? (__AROS_UFPA(a10))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a10));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a10))__r;}); \
	__AROS_UFPA(a11) __attribute__((unused)) __AROS_UFCA(a11) = __AROS_ISREG(a11,__AROS_FP_REG) ? (__AROS_UFPA(a11))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a11));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a11))__r;}); \
	__AROS_UFPA(a12) __attribute__((unused)) __AROS_UFCA(a12) = __AROS_ISREG(a12,__AROS_FP_REG) ? (__AROS_UFPA(a12))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a12));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a12))__r;});
#define AROS_UFH13S(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) \
	static t n (void) { \
 \
	__AROS_UFPA(a1) __attribute__((unused)) __AROS_UFCA(a1) = __AROS_ISREG(a1,__AROS_FP_REG) ? (__AROS_UFPA(a1))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a1));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a1))__r;}); \
	__AROS_UFPA(a2) __attribute__((unused)) __AROS_UFCA(a2) = __AROS_ISREG(a2,__AROS_FP_REG) ? (__AROS_UFPA(a2))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a2));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a2))__r;}); \
	__AROS_UFPA(a3) __attribute__((unused)) __AROS_UFCA(a3) = __AROS_ISREG(a3,__AROS_FP_REG) ? (__AROS_UFPA(a3))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a3));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a3))__r;}); \
	__AROS_UFPA(a4) __attribute__((unused)) __AROS_UFCA(a4) = __AROS_ISREG(a4,__AROS_FP_REG) ? (__AROS_UFPA(a4))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a4));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a4))__r;}); \
	__AROS_UFPA(a5) __attribute__((unused)) __AROS_UFCA(a5) = __AROS_ISREG(a5,__AROS_FP_REG) ? (__AROS_UFPA(a5))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a5));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a5))__r;}); \
	__AROS_UFPA(a6) __attribute__((unused)) __AROS_UFCA(a6) = __AROS_ISREG(a6,__AROS_FP_REG) ? (__AROS_UFPA(a6))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a6));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a6))__r;}); \
	__AROS_UFPA(a7) __attribute__((unused)) __AROS_UFCA(a7) = __AROS_ISREG(a7,__AROS_FP_REG) ? (__AROS_UFPA(a7))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a7));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a7))__r;}); \
	__AROS_UFPA(a8) __attribute__((unused)) __AROS_UFCA(a8) = __AROS_ISREG(a8,__AROS_FP_REG) ? (__AROS_UFPA(a8))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a8));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a8))__r;}); \
	__AROS_UFPA(a9) __attribute__((unused)) __AROS_UFCA(a9) = __AROS_ISREG(a9,__AROS_FP_REG) ? (__AROS_UFPA(a9))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a9));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a9))__r;}); \
	__AROS_UFPA(a10) __attribute__((unused)) __AROS_UFCA(a10) = __AROS_ISREG(a10,__AROS_FP_REG) ? (__AROS_UFPA(a10))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a10));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a10))__r;}); \
	__AROS_UFPA(a11) __attribute__((unused)) __AROS_UFCA(a11) = __AROS_ISREG(a11,__AROS_FP_REG) ? (__AROS_UFPA(a11))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a11));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a11))__r;}); \
	__AROS_UFPA(a12) __attribute__((unused)) __AROS_UFCA(a12) = __AROS_ISREG(a12,__AROS_FP_REG) ? (__AROS_UFPA(a12))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a12));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a12))__r;}); \
	__AROS_UFPA(a13) __attribute__((unused)) __AROS_UFCA(a13) = __AROS_ISREG(a13,__AROS_FP_REG) ? (__AROS_UFPA(a13))(ULONG)__builtin_frame_address(1) : ({register ULONG __r asm(__AROS_UFSA(a13));asm volatile("":"=r"(__r):"0"(__r));(__AROS_UFPA(a13))__r;});
#define __AROS_UFC0(t,n) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC0 __AROS_UFC0
#define __AROS_UFC1(t,n,a1) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC1 __AROS_UFC1
#define __AROS_UFC2(t,n,a1,a2) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC2 __AROS_UFC2
#define __AROS_UFC3(t,n,a1,a2,a3) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC3 __AROS_UFC3
#define __AROS_UFC4(t,n,a1,a2,a3,a4) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC4 __AROS_UFC4
#define __AROS_UFC5(t,n,a1,a2,a3,a4,a5) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC5 __AROS_UFC5
#define __AROS_UFC6(t,n,a1,a2,a3,a4,a5,a6) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC6 __AROS_UFC6
#define __AROS_UFC7(t,n,a1,a2,a3,a4,a5,a6,a7) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC7 __AROS_UFC7
#define __AROS_UFC8(t,n,a1,a2,a3,a4,a5,a6,a7,a8) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC8 __AROS_UFC8
#define __AROS_UFC9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC9 __AROS_UFC9
#define __AROS_UFC10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   ULONG _arg10 = (ULONG)__AROS_UFCA(a10); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   register volatile ULONG  __AROS_UFTA(a10) asm(__AROS_UFSA(a10)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if (! __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      __AROS_UFTA(a10) = _arg10; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg10), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG) || __AROS_ISREG(a10,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC10 __AROS_UFC10
#define __AROS_UFC11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   ULONG _arg10 = (ULONG)__AROS_UFCA(a10); \
	   ULONG _arg11 = (ULONG)__AROS_UFCA(a11); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   register volatile ULONG  __AROS_UFTA(a10) asm(__AROS_UFSA(a10)); \
	   register volatile ULONG  __AROS_UFTA(a11) asm(__AROS_UFSA(a11)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if (! __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      __AROS_UFTA(a10) = _arg10; } \
	   if (! __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      __AROS_UFTA(a11) = _arg11; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg10), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg11), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG) || __AROS_ISREG(a10,__AROS_FP_REG) || __AROS_ISREG(a11,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC11 __AROS_UFC11
#define __AROS_UFC12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   ULONG _arg10 = (ULONG)__AROS_UFCA(a10); \
	   ULONG _arg11 = (ULONG)__AROS_UFCA(a11); \
	   ULONG _arg12 = (ULONG)__AROS_UFCA(a12); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   register volatile ULONG  __AROS_UFTA(a10) asm(__AROS_UFSA(a10)); \
	   register volatile ULONG  __AROS_UFTA(a11) asm(__AROS_UFSA(a11)); \
	   register volatile ULONG  __AROS_UFTA(a12) asm(__AROS_UFSA(a12)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if (! __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      __AROS_UFTA(a10) = _arg10; } \
	   if (! __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      __AROS_UFTA(a11) = _arg11; } \
	   if (! __AROS_ISREG(a12,__AROS_FP_REG)) { \
	      __AROS_UFTA(a12) = _arg12; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg10), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg11), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a12,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg12), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG) || __AROS_ISREG(a10,__AROS_FP_REG) || __AROS_ISREG(a11,__AROS_FP_REG) || __AROS_ISREG(a12,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC12 __AROS_UFC12
#define __AROS_UFC13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   ULONG _arg10 = (ULONG)__AROS_UFCA(a10); \
	   ULONG _arg11 = (ULONG)__AROS_UFCA(a11); \
	   ULONG _arg12 = (ULONG)__AROS_UFCA(a12); \
	   ULONG _arg13 = (ULONG)__AROS_UFCA(a13); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   register volatile ULONG  __AROS_UFTA(a10) asm(__AROS_UFSA(a10)); \
	   register volatile ULONG  __AROS_UFTA(a11) asm(__AROS_UFSA(a11)); \
	   register volatile ULONG  __AROS_UFTA(a12) asm(__AROS_UFSA(a12)); \
	   register volatile ULONG  __AROS_UFTA(a13) asm(__AROS_UFSA(a13)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if (! __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      __AROS_UFTA(a10) = _arg10; } \
	   if (! __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      __AROS_UFTA(a11) = _arg11; } \
	   if (! __AROS_ISREG(a12,__AROS_FP_REG)) { \
	      __AROS_UFTA(a12) = _arg12; } \
	   if (! __AROS_ISREG(a13,__AROS_FP_REG)) { \
	      __AROS_UFTA(a13) = _arg13; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg10), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg11), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a12,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg12), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a13,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg13), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG) || __AROS_ISREG(a10,__AROS_FP_REG) || __AROS_ISREG(a11,__AROS_FP_REG) || __AROS_ISREG(a12,__AROS_FP_REG) || __AROS_ISREG(a13,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	}\
	(void)_mem0; (void)_mem1; \
	(sizeof(t) < sizeof(QUAD)) ? (t)(_ret0) :\
	   ({struct { ULONG r0,r1; } rv;\
	     t *t_ptr = (t *)&rv.r0;\
	     rv.r0 = _ret0; rv.r1 = _ret1; *t_ptr; });\
	  })

#define AROS_UFC13 __AROS_UFC13
#define __AROS_UFC0NR(t,n) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	}\
	  })

#define AROS_UFC0NR __AROS_UFC0NR
#define __AROS_UFC1NR(t,n,a1) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC1NR __AROS_UFC1NR
#define __AROS_UFC2NR(t,n,a1,a2) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC2NR __AROS_UFC2NR
#define __AROS_UFC3NR(t,n,a1,a2,a3) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC3NR __AROS_UFC3NR
#define __AROS_UFC4NR(t,n,a1,a2,a3,a4) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC4NR __AROS_UFC4NR
#define __AROS_UFC5NR(t,n,a1,a2,a3,a4,a5) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC5NR __AROS_UFC5NR
#define __AROS_UFC6NR(t,n,a1,a2,a3,a4,a5,a6) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC6NR __AROS_UFC6NR
#define __AROS_UFC7NR(t,n,a1,a2,a3,a4,a5,a6,a7) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC7NR __AROS_UFC7NR
#define __AROS_UFC8NR(t,n,a1,a2,a3,a4,a5,a6,a7,a8) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC8NR __AROS_UFC8NR
#define __AROS_UFC9NR(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC9NR __AROS_UFC9NR
#define __AROS_UFC10NR(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   ULONG _arg10 = (ULONG)__AROS_UFCA(a10); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   register volatile ULONG  __AROS_UFTA(a10) asm(__AROS_UFSA(a10)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if (! __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      __AROS_UFTA(a10) = _arg10; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg10), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG) || __AROS_ISREG(a10,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC10NR __AROS_UFC10NR
#define __AROS_UFC11NR(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   ULONG _arg10 = (ULONG)__AROS_UFCA(a10); \
	   ULONG _arg11 = (ULONG)__AROS_UFCA(a11); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   register volatile ULONG  __AROS_UFTA(a10) asm(__AROS_UFSA(a10)); \
	   register volatile ULONG  __AROS_UFTA(a11) asm(__AROS_UFSA(a11)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if (! __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      __AROS_UFTA(a10) = _arg10; } \
	   if (! __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      __AROS_UFTA(a11) = _arg11; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg10), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg11), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG) || __AROS_ISREG(a10,__AROS_FP_REG) || __AROS_ISREG(a11,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC11NR __AROS_UFC11NR
#define __AROS_UFC12NR(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   ULONG _arg10 = (ULONG)__AROS_UFCA(a10); \
	   ULONG _arg11 = (ULONG)__AROS_UFCA(a11); \
	   ULONG _arg12 = (ULONG)__AROS_UFCA(a12); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   register volatile ULONG  __AROS_UFTA(a10) asm(__AROS_UFSA(a10)); \
	   register volatile ULONG  __AROS_UFTA(a11) asm(__AROS_UFSA(a11)); \
	   register volatile ULONG  __AROS_UFTA(a12) asm(__AROS_UFSA(a12)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if (! __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      __AROS_UFTA(a10) = _arg10; } \
	   if (! __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      __AROS_UFTA(a11) = _arg11; } \
	   if (! __AROS_ISREG(a12,__AROS_FP_REG)) { \
	      __AROS_UFTA(a12) = _arg12; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg10), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg11), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a12,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg12), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG) || __AROS_ISREG(a10,__AROS_FP_REG) || __AROS_ISREG(a11,__AROS_FP_REG) || __AROS_ISREG(a12,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC12NR __AROS_UFC12NR
#define __AROS_UFC13NR(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) \
	({ APTR _n = (n);\
	register volatile ULONG _ret0 asm("%d0"); \
	register volatile ULONG _ret1 asm("%d1"); \
	register volatile ULONG _mem0 asm("%a0"); \
	register volatile ULONG _mem1 asm("%a1"); \
	{ \
	   ULONG _arg1 = (ULONG)__AROS_UFCA(a1); \
	   ULONG _arg2 = (ULONG)__AROS_UFCA(a2); \
	   ULONG _arg3 = (ULONG)__AROS_UFCA(a3); \
	   ULONG _arg4 = (ULONG)__AROS_UFCA(a4); \
	   ULONG _arg5 = (ULONG)__AROS_UFCA(a5); \
	   ULONG _arg6 = (ULONG)__AROS_UFCA(a6); \
	   ULONG _arg7 = (ULONG)__AROS_UFCA(a7); \
	   ULONG _arg8 = (ULONG)__AROS_UFCA(a8); \
	   ULONG _arg9 = (ULONG)__AROS_UFCA(a9); \
	   ULONG _arg10 = (ULONG)__AROS_UFCA(a10); \
	   ULONG _arg11 = (ULONG)__AROS_UFCA(a11); \
	   ULONG _arg12 = (ULONG)__AROS_UFCA(a12); \
	   ULONG _arg13 = (ULONG)__AROS_UFCA(a13); \
	   register volatile ULONG  __AROS_UFTA(a1) asm(__AROS_UFSA(a1)); \
	   register volatile ULONG  __AROS_UFTA(a2) asm(__AROS_UFSA(a2)); \
	   register volatile ULONG  __AROS_UFTA(a3) asm(__AROS_UFSA(a3)); \
	   register volatile ULONG  __AROS_UFTA(a4) asm(__AROS_UFSA(a4)); \
	   register volatile ULONG  __AROS_UFTA(a5) asm(__AROS_UFSA(a5)); \
	   register volatile ULONG  __AROS_UFTA(a6) asm(__AROS_UFSA(a6)); \
	   register volatile ULONG  __AROS_UFTA(a7) asm(__AROS_UFSA(a7)); \
	   register volatile ULONG  __AROS_UFTA(a8) asm(__AROS_UFSA(a8)); \
	   register volatile ULONG  __AROS_UFTA(a9) asm(__AROS_UFSA(a9)); \
	   register volatile ULONG  __AROS_UFTA(a10) asm(__AROS_UFSA(a10)); \
	   register volatile ULONG  __AROS_UFTA(a11) asm(__AROS_UFSA(a11)); \
	   register volatile ULONG  __AROS_UFTA(a12) asm(__AROS_UFSA(a12)); \
	   register volatile ULONG  __AROS_UFTA(a13) asm(__AROS_UFSA(a13)); \
	   if (! __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      __AROS_UFTA(a1) = _arg1; } \
	   if (! __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      __AROS_UFTA(a2) = _arg2; } \
	   if (! __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      __AROS_UFTA(a3) = _arg3; } \
	   if (! __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      __AROS_UFTA(a4) = _arg4; } \
	   if (! __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      __AROS_UFTA(a5) = _arg5; } \
	   if (! __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      __AROS_UFTA(a6) = _arg6; } \
	   if (! __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      __AROS_UFTA(a7) = _arg7; } \
	   if (! __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      __AROS_UFTA(a8) = _arg8; } \
	   if (! __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      __AROS_UFTA(a9) = _arg9; } \
	   if (! __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      __AROS_UFTA(a10) = _arg10; } \
	   if (! __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      __AROS_UFTA(a11) = _arg11; } \
	   if (! __AROS_ISREG(a12,__AROS_FP_REG)) { \
	      __AROS_UFTA(a12) = _arg12; } \
	   if (! __AROS_ISREG(a13,__AROS_FP_REG)) { \
	      __AROS_UFTA(a13) = _arg13; } \
	   if ( __AROS_ISREG(a1,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg1), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a2,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg2), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a3,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg3), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a4,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg4), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a5,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg5), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a6,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg6), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a7,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg7), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a8,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg8), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a9,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg9), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a10,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg10), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a11,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg11), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a12,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg12), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if ( __AROS_ISREG(a13,__AROS_FP_REG)) { \
	      asm volatile ("move.l %%" __AROS_FP_SREG ",%%sp@-\nmove.l %4,%%" __AROS_FP_SREG "\n	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\nmove.l %%sp@+,%%" __AROS_FP_SREG "\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "r" (_arg13), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	   if (!(0 || __AROS_ISREG(a1,__AROS_FP_REG) || __AROS_ISREG(a2,__AROS_FP_REG) || __AROS_ISREG(a3,__AROS_FP_REG) || __AROS_ISREG(a4,__AROS_FP_REG) || __AROS_ISREG(a5,__AROS_FP_REG) || __AROS_ISREG(a6,__AROS_FP_REG) || __AROS_ISREG(a7,__AROS_FP_REG) || __AROS_ISREG(a8,__AROS_FP_REG) || __AROS_ISREG(a9,__AROS_FP_REG) || __AROS_ISREG(a10,__AROS_FP_REG) || __AROS_ISREG(a11,__AROS_FP_REG) || __AROS_ISREG(a12,__AROS_FP_REG) || __AROS_ISREG(a13,__AROS_FP_REG))) {\
	      asm volatile ("	pea.l 6(%%pc)\n	move.l %5, -(%%sp)\n	rts\n\n" : "=r"(_ret0), "=r"(_ret1), "=r"(_mem0), "=r"(_mem1) : "i" (0), "r" (_n), "i" (__LINE__) \
		, "r" (__AROS_UFTA(a1)) \
		, "r" (__AROS_UFTA(a2)) \
		, "r" (__AROS_UFTA(a3)) \
		, "r" (__AROS_UFTA(a4)) \
		, "r" (__AROS_UFTA(a5)) \
		, "r" (__AROS_UFTA(a6)) \
		, "r" (__AROS_UFTA(a7)) \
		, "r" (__AROS_UFTA(a8)) \
		, "r" (__AROS_UFTA(a9)) \
		, "r" (__AROS_UFTA(a10)) \
		, "r" (__AROS_UFTA(a11)) \
		, "r" (__AROS_UFTA(a12)) \
		, "r" (__AROS_UFTA(a13)) \
		: "cc", "memory" \
	       ); }\
	}\
	  })

#define AROS_UFC13NR __AROS_UFC13NR

/* Get the register from a triplet */
#define __AROS_UFRA(type,name,reg)            reg

/* Temporary variables */
#define __AROS_UFTA(type,name,reg)            reg##_tmp

/* Get the register as a string from the triplet */
#define __AROS_UFSA(type,name,reg)            "%"#reg

#endif /* AROS_M68K_ASMCALL_H */
