diff options
Diffstat (limited to 'sysdeps/sparc/sparc64')
23 files changed, 266 insertions, 266 deletions
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h index c420bbdf86..06e0e4dd97 100644 --- a/sysdeps/sparc/sparc64/dl-machine.h +++ b/sysdeps/sparc/sparc64/dl-machine.h @@ -481,53 +481,53 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) /* This code is used in dl-runtime.c to call the `fixup' function and then redirect to the address it returns. */ #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ - asm ("\ - .text - .globl " #tramp_name "_0 - .type " #tramp_name "_0, @function - .align 32 -" #tramp_name "_0: - ! sethi %hi(1047552), %l2 - Done in .PLT0 - ldx [%l6 + 32 + 8], %o0 - sub %g1, %l6, %l0 - xor %l2, -1016, %l2 - sethi %hi(5120), %l3 ! 160 * 32 - add %l0, %l2, %l0 - sethi %hi(32768), %l4 - udivx %l0, %l3, %l3 - sllx %l3, 2, %l1 - add %l1, %l3, %l1 - sllx %l1, 10, %l2 - sub %l4, 4, %l4 ! No thanks to Sun for not obeying their own ABI - sllx %l1, 5, %l1 - sub %l0, %l2, %l0 - udivx %l0, 24, %l0 - add %l0, %l4, %l0 - add %l1, %l0, %l1 - add %l1, %l1, %l0 - add %l0, %l1, %l0 - mov %i7, %o2 - call " #fixup_name " - sllx %l0, 3, %o1 - jmp %o0 - restore - .size " #tramp_name "_0, . - " #tramp_name "_0 - - .globl " #tramp_name "_1 - .type " #tramp_name "_1, @function - .align 32 -" #tramp_name "_1: - ! srlx %g1, 12, %o1 - Done in .PLT1 - ldx [%l6 + 8], %o0 - add %o1, %o1, %o3 - sub %o1, 96, %o1 ! No thanks to Sun for not obeying their own ABI - mov %i7, %o2 - call " #fixup_name " - add %o1, %o3, %o1 - jmp %o0 - restore - .size " #tramp_name "_1, . - " #tramp_name "_1 - .previous"); + asm ("\n" \ +" .text\n" \ +" .globl " #tramp_name "_0\n" \ +" .type " #tramp_name "_0, @function\n" \ +" .align 32\n" \ +"\t" #tramp_name "_0:\n" \ +" ! sethi %hi(1047552), %l2 - Done in .PLT0\n" \ +" ldx [%l6 + 32 + 8], %o0\n" \ +" sub %g1, %l6, %l0\n" \ +" xor %l2, -1016, %l2\n" \ +" sethi %hi(5120), %l3 ! 160 * 32\n" \ +" add %l0, %l2, %l0\n" \ +" sethi %hi(32768), %l4\n" \ +" udivx %l0, %l3, %l3\n" \ +" sllx %l3, 2, %l1\n" \ +" add %l1, %l3, %l1\n" \ +" sllx %l1, 10, %l2\n" \ +" sub %l4, 4, %l4 ! No thanks to Sun for not obeying their own ABI\n" \ +" sllx %l1, 5, %l1\n" \ +" sub %l0, %l2, %l0\n" \ +" udivx %l0, 24, %l0\n" \ +" add %l0, %l4, %l0\n" \ +" add %l1, %l0, %l1\n" \ +" add %l1, %l1, %l0\n" \ +" add %l0, %l1, %l0\n" \ +" mov %i7, %o2\n" \ +" call " #fixup_name "\n" \ +" sllx %l0, 3, %o1\n" \ +" jmp %o0\n" \ +" restore\n" \ +" .size " #tramp_name "_0, . - " #tramp_name "_0\n" \ +"\n" \ +" .globl " #tramp_name "_1\n" \ +" .type " #tramp_name "_1, @function\n" \ +" .align 32\n" \ +"\t" #tramp_name "_1:\n" \ +" ! srlx %g1, 12, %o1 - Done in .PLT1\n" \ +" ldx [%l6 + 8], %o0\n" \ +" add %o1, %o1, %o3\n" \ +" sub %o1, 96, %o1 ! No thanks to Sun for not obeying their own ABI\n" \ +" mov %i7, %o2\n" \ +" call " #fixup_name "\n" \ +" add %o1, %o3, %o1\n" \ +" jmp %o0\n" \ +" restore\n" \ +" .size " #tramp_name "_1, . - " #tramp_name "_1\n" \ +" .previous\n"); #ifndef PROF #define ELF_MACHINE_RUNTIME_TRAMPOLINE \ @@ -549,94 +549,94 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) #define __S1(x) #x #define __S(x) __S1(x) -#define RTLD_START __asm__ ( "\ - .text - .global _start - .type _start, @function - .align 32 -_start: - /* Make room for functions to drop their arguments on the stack. */ - sub %sp, 6*8, %sp - /* Pass pointer to argument block to _dl_start. */ - call _dl_start - add %sp," __S(STACK_BIAS) "+22*8,%o0 - /* FALLTHRU */ - .size _start, .-_start - - .global _dl_start_user - .type _dl_start_user, @function -_dl_start_user: - /* Load the GOT register. */ -1: call 11f - sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7 -11: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7 - /* Store the highest stack address. */ - sethi %hi(__libc_stack_end), %g5 - add %l7, %o7, %l7 - or %g5, %lo(__libc_stack_end), %g5 - /* Save the user entry point address in %l0. */ - mov %o0, %l0 - ldx [%l7 + %g5], %l1 - sethi %hi(_dl_skip_args), %g5 - add %sp, 6*8, %l2 - /* See if we were run as a command with the executable file name as an - extra leading argument. If so, we must shift things around since we - must keep the stack doubleword aligned. */ - or %g5, %lo(_dl_skip_args), %g5 - stx %l2, [%l1] - ldx [%l7 + %g5], %i0 - ld [%i0], %i0 - brz,pt %i0, 2f - ldx [%sp + " __S(STACK_BIAS) " + 22*8], %i5 - /* Find out how far to shift. */ - sethi %hi(_dl_argv), %l4 - sub %i5, %i0, %i5 - or %l4, %lo(_dl_argv), %l4 - sllx %i0, 3, %l6 - ldx [%l7 + %l4], %l4 - stx %i5, [%sp + " __S(STACK_BIAS) " + 22*8] - add %sp, " __S(STACK_BIAS) " + 23*8, %i1 - add %i1, %l6, %i2 - ldx [%l4], %l5 - /* Copy down argv. */ -12: ldx [%i2], %i3 - add %i2, 8, %i2 - stx %i3, [%i1] - brnz,pt %i3, 12b - add %i1, 8, %i1 - sub %l5, %l6, %l5 - /* Copy down envp. */ -13: ldx [%i2], %i3 - add %i2, 8, %i2 - stx %i3, [%i1] - brnz,pt %i3, 13b - add %i1, 8, %i1 - /* Copy down auxiliary table. */ -14: ldx [%i2], %i3 - ldx [%i2 + 8], %i4 - add %i2, 16, %i2 - stx %i3, [%i1] - stx %i4, [%i1 + 8] - brnz,pt %i3, 14b - add %i1, 16, %i1 - stx %l5, [%l4] - /* %o0 = _dl_loaded, %o1 = argc, %o2 = argv, %o3 = envp. */ -2: sethi %hi(_dl_loaded), %o0 - add %sp, " __S(STACK_BIAS) " + 23*8, %o2 - orcc %o0, %lo(_dl_loaded), %o0 - sllx %i5, 3, %o3 - ldx [%l7 + %o0], %o0 - add %o3, 8, %o3 - mov %i5, %o1 - add %o2, %o3, %o3 - call _dl_init - ldx [%o0], %o0 - /* Pass our finalizer function to the user in %g1. */ - sethi %hi(_dl_fini), %g1 - or %g1, %lo(_dl_fini), %g1 - ldx [%l7 + %g1], %g1 - /* Jump to the user's entry point and deallocate the extra stack we got. */ - jmp %l0 - add %sp, 6*8, %sp - .size _dl_start_user, . - _dl_start_user - .previous"); +#define RTLD_START __asm__ ( "\n" \ +" .text\n" \ +" .global _start\n" \ +" .type _start, @function\n" \ +" .align 32\n" \ +"_start:\n" \ +" /* Make room for functions to drop their arguments on the stack. */\n" \ +" sub %sp, 6*8, %sp\n" \ +" /* Pass pointer to argument block to _dl_start. */\n" \ +" call _dl_start\n" \ +" add %sp," __S(STACK_BIAS) "+22*8,%o0\n" \ +" /* FALLTHRU */\n" \ +" .size _start, .-_start\n" \ +"\n" \ +" .global _dl_start_user\n" \ +" .type _dl_start_user, @function\n" \ +"_dl_start_user:\n" \ +" /* Load the GOT register. */\n" \ +"1: call 11f\n" \ +" sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7\n" \ +"11: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7\n" \ +" /* Store the highest stack address. */\n" \ +" sethi %hi(__libc_stack_end), %g5\n" \ +" add %l7, %o7, %l7\n" \ +" or %g5, %lo(__libc_stack_end), %g5\n" \ +" /* Save the user entry point address in %l0. */\n" \ +" mov %o0, %l0\n" \ +" ldx [%l7 + %g5], %l1\n" \ +" sethi %hi(_dl_skip_args), %g5\n" \ +" add %sp, 6*8, %l2\n" \ +" /* See if we were run as a command with the executable file name as an\n" \ +" extra leading argument. If so, we must shift things around since we\n" \ +" must keep the stack doubleword aligned. */\n" \ +" or %g5, %lo(_dl_skip_args), %g5\n" \ +" stx %l2, [%l1]\n" \ +" ldx [%l7 + %g5], %i0\n" \ +" ld [%i0], %i0\n" \ +" brz,pt %i0, 2f\n" \ +" ldx [%sp + " __S(STACK_BIAS) " + 22*8], %i5\n" \ +" /* Find out how far to shift. */\n" \ +" sethi %hi(_dl_argv), %l4\n" \ +" sub %i5, %i0, %i5\n" \ +" or %l4, %lo(_dl_argv), %l4\n" \ +" sllx %i0, 3, %l6\n" \ +" ldx [%l7 + %l4], %l4\n" \ +" stx %i5, [%sp + " __S(STACK_BIAS) " + 22*8]\n" \ +" add %sp, " __S(STACK_BIAS) " + 23*8, %i1\n" \ +" add %i1, %l6, %i2\n" \ +" ldx [%l4], %l5\n" \ +" /* Copy down argv. */\n" \ +"12: ldx [%i2], %i3\n" \ +" add %i2, 8, %i2\n" \ +" stx %i3, [%i1]\n" \ +" brnz,pt %i3, 12b\n" \ +" add %i1, 8, %i1\n" \ +" sub %l5, %l6, %l5\n" \ +" /* Copy down envp. */\n" \ +"13: ldx [%i2], %i3\n" \ +" add %i2, 8, %i2\n" \ +" stx %i3, [%i1]\n" \ +" brnz,pt %i3, 13b\n" \ +" add %i1, 8, %i1\n" \ +" /* Copy down auxiliary table. */\n" \ +"14: ldx [%i2], %i3\n" \ +" ldx [%i2 + 8], %i4\n" \ +" add %i2, 16, %i2\n" \ +" stx %i3, [%i1]\n" \ +" stx %i4, [%i1 + 8]\n" \ +" brnz,pt %i3, 14b\n" \ +" add %i1, 16, %i1\n" \ +" stx %l5, [%l4]\n" \ +" /* %o0 = _dl_loaded, %o1 = argc, %o2 = argv, %o3 = envp. */\n" \ +"2: sethi %hi(_dl_loaded), %o0\n" \ +" add %sp, " __S(STACK_BIAS) " + 23*8, %o2\n" \ +" orcc %o0, %lo(_dl_loaded), %o0\n" \ +" sllx %i5, 3, %o3\n" \ +" ldx [%l7 + %o0], %o0\n" \ +" add %o3, 8, %o3\n" \ +" mov %i5, %o1\n" \ +" add %o2, %o3, %o3\n" \ +" call _dl_init\n" \ +" ldx [%o0], %o0\n" \ +" /* Pass our finalizer function to the user in %g1. */\n" \ +" sethi %hi(_dl_fini), %g1\n" \ +" or %g1, %lo(_dl_fini), %g1\n" \ +" ldx [%l7 + %g1], %g1\n" \ +" /* Jump to the user's entry point and deallocate the extra stack we got. */\n" \ +" jmp %l0\n" \ +" add %sp, 6*8, %sp\n" \ +" .size _dl_start_user, . - _dl_start_user\n" \ +" .previous\n"); diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_add.c b/sysdeps/sparc/sparc64/soft-fp/qp_add.c index b77f4d49c6..2f3a6309aa 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_add.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_add.c @@ -34,12 +34,12 @@ void _Qp_add(long double *c, const long double *a, const long double *b) FP_ADD_Q(C, A, B); FP_PACK_QP(c, C); QP_HANDLE_EXCEPTIONS(__asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - ldd [%2], %%f56 - ldd [%2+8], %%f58 - faddq %%f52, %%f56, %%f60 - std %%f60, [%0] - std %%f62, [%0+8] - " : : "r" (c), "r" (a), "r" (b) : QP_CLOBBER)); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" ldd [%2], %%f56\n" +" ldd [%2+8], %%f58\n" +" faddq %%f52, %%f56, %%f60\n" +" std %%f60, [%0]\n" +" std %%f62, [%0+8]\n" +" " : : "r" (c), "r" (a), "r" (b) : QP_CLOBBER)); } diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c b/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c index 739fb5e910..52cbb47bd0 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c @@ -38,12 +38,12 @@ int _Qp_cmp(const long double *a, const long double *b) FP_SET_EXCEPTION(FP_EX_INVALID); QP_HANDLE_EXCEPTIONS( __asm ( - "ldd [%0], %%f52 - ldd [%0+8], %%f54 - ldd [%1], %%f56 - ldd [%1+8], %%f58 - fcmpq %%fcc3, %%f52, %%f56 - " : : "r" (a), "r" (b) : QP_CLOBBER_CC); +" ldd [%0], %%f52\n" +" ldd [%0+8], %%f54\n" +" ldd [%1], %%f56\n" +" ldd [%1+8], %%f58\n" +" fcmpq %%fcc3, %%f52, %%f56\n" +" " : : "r" (a), "r" (b) : QP_CLOBBER_CC); _FPU_GETCW(_fcw); r = ((_fcw >> 36) & 3)); diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c b/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c index d881f904df..ee158561b5 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c @@ -39,12 +39,12 @@ int _Qp_cmpe(const long double *a, const long double *b) FP_SET_EXCEPTION(FP_EX_INVALID); QP_HANDLE_EXCEPTIONS( __asm ( - "ldd [%0], %%f52 - ldd [%0+8], %%f54 - ldd [%1], %%f56 - ldd [%1+8], %%f58 - fcmpeq %%fcc3, %%f52, %%f56 - " : : "r" (a), "r" (b) : QP_CLOBBER_CC); +" ldd [%0], %%f52\n" +" ldd [%0+8], %%f54\n" +" ldd [%1], %%f56\n" +" ldd [%1+8], %%f58\n" +" fcmpeq %%fcc3, %%f52, %%f56\n" +" " : : "r" (a), "r" (b) : QP_CLOBBER_CC); _FPU_GETCW(_fcw); r = ((_fcw >> 36) & 3)); diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_div.c b/sysdeps/sparc/sparc64/soft-fp/qp_div.c index c79ac1b392..ac86dc8a94 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_div.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_div.c @@ -34,12 +34,12 @@ void _Qp_div(long double *c, const long double *a, const long double *b) FP_DIV_Q(C, A, B); FP_PACK_QP(c, C); QP_HANDLE_EXCEPTIONS(__asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - ldd [%2], %%f56 - ldd [%2+8], %%f58 - fdivq %%f52, %%f56, %%f60 - std %%f60, [%0] - std %%f62, [%0+8] - " : : "r" (c), "r" (a), "r" (b) : QP_CLOBBER)); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" ldd [%2], %%f56\n" +" ldd [%2+8], %%f58\n" +" fdivq %%f52, %%f56, %%f60\n" +" std %%f60, [%0]\n" +" std %%f62, [%0+8]\n" +" " : : "r" (c), "r" (a), "r" (b) : QP_CLOBBER)); } diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c index 079b6d08d5..c9eb8cad20 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c @@ -39,8 +39,8 @@ void _Qp_dtoq(long double *c, const double a) #endif FP_PACK_QP(c, C); QP_HANDLE_EXCEPTIONS(__asm ( - "fdtoq %1, %%f60 - std %%f60, [%0] - std %%f62, [%0+8] - " : : "r" (c), "e" (a) : QP_CLOBBER)); +" fdtoq %1, %%f60\n" +" std %%f60, [%0]\n" +" std %%f62, [%0+8]\n" +" " : : "r" (c), "e" (a) : QP_CLOBBER)); } diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c b/sysdeps/sparc/sparc64/soft-fp/qp_feq.c index 1d32ec6fe7..482677d424 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_feq.c @@ -38,12 +38,12 @@ int _Qp_feq(const long double *a, const long double *b) QP_HANDLE_EXCEPTIONS( __asm ( - "ldd [%0], %%f52 - ldd [%0+8], %%f54 - ldd [%1], %%f56 - ldd [%1+8], %%f58 - fcmpq %%fcc3, %%f52, %%f56 - " : : "r" (a), "r" (b) : QP_CLOBBER_CC); +" ldd [%0], %%f52\n" +" ldd [%0+8], %%f54\n" +" ldd [%1], %%f56\n" +" ldd [%1+8], %%f58\n" +" fcmpq %%fcc3, %%f52, %%f56\n" +" " : : "r" (a), "r" (b) : QP_CLOBBER_CC); _FPU_GETCW(_fcw); r = ((_fcw >> 36) & 3)); diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c b/sysdeps/sparc/sparc64/soft-fp/qp_fge.c index 6d73745cdb..935b33a33d 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_fge.c @@ -38,12 +38,12 @@ int _Qp_fge(const long double *a, const long double *b) QP_HANDLE_EXCEPTIONS( __asm ( - "ldd [%0], %%f52 - ldd [%0+8], %%f54 - ldd [%1], %%f56 - ldd [%1+8], %%f58 - fcmpeq %%fcc3, %%f52, %%f56 - " : : "r" (a), "r" (b) : QP_CLOBBER_CC); +" ldd [%0], %%f52\n" +" ldd [%0+8], %%f54\n" +" ldd [%1], %%f56\n" +" ldd [%1+8], %%f58\n" +" fcmpeq %%fcc3, %%f52, %%f56\n" +" " : : "r" (a), "r" (b) : QP_CLOBBER_CC); _FPU_GETCW(_fcw); r = ((_fcw >> 36) & 1)); diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c b/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c index e389fd9d41..b8b1fb6391 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c @@ -38,12 +38,12 @@ int _Qp_fgt(const long double *a, const long double *b) QP_HANDLE_EXCEPTIONS( __asm ( - "ldd [%0], %%f52 - ldd [%0+8], %%f54 - ldd [%1], %%f56 - ldd [%1+8], %%f58 - fcmpeq %%fcc3, %%f52, %%f56 - " : : "r" (a), "r" (b) : QP_CLOBBER_CC); +" ldd [%0], %%f52\n" +" ldd [%0+8], %%f54\n" +" ldd [%1], %%f56\n" +" ldd [%1+8], %%f58\n" +" fcmpeq %%fcc3, %%f52, %%f56\n" +" " : : "r" (a), "r" (b) : QP_CLOBBER_CC); _FPU_GETCW(_fcw); r = ((_fcw >> 36) & 3) - 3); diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c b/sysdeps/sparc/sparc64/soft-fp/qp_fle.c index 2afe2af86f..2579526ab3 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_fle.c @@ -38,12 +38,12 @@ int _Qp_fle(const long double *a, const long double *b) QP_HANDLE_EXCEPTIONS( __asm ( - "ldd [%0], %%f52 - ldd [%0+8], %%f54 - ldd [%1], %%f56 - ldd [%1+8], %%f58 - fcmpeq %%fcc3, %%f52, %%f56 - " : : "r" (a), "r" (b) : QP_CLOBBER_CC); +" ldd [%0], %%f52\n" +" ldd [%0+8], %%f54\n" +" ldd [%1], %%f56\n" +" ldd [%1+8], %%f58\n" +" fcmpeq %%fcc3, %%f52, %%f56\n" +" " : : "r" (a), "r" (b) : QP_CLOBBER_CC); _FPU_GETCW(_fcw); r = ((_fcw >> 36) & 2) ? -1 : 0); diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c b/sysdeps/sparc/sparc64/soft-fp/qp_flt.c index 42c8659301..0e8e70ce7c 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_flt.c @@ -38,12 +38,12 @@ int _Qp_flt(const long double *a, const long double *b) QP_HANDLE_EXCEPTIONS( __asm ( - "ldd [%0], %%f52 - ldd [%0+8], %%f54 - ldd [%1], %%f56 - ldd [%1+8], %%f58 - fcmpeq %%fcc3, %%f52, %%f56 - " : : "r" (a), "r" (b) : QP_CLOBBER_CC); +" ldd [%0], %%f52\n" +" ldd [%0+8], %%f54\n" +" ldd [%1], %%f56\n" +" ldd [%1+8], %%f58\n" +" fcmpeq %%fcc3, %%f52, %%f56\n" +" " : : "r" (a), "r" (b) : QP_CLOBBER_CC); _FPU_GETCW(_fcw); r = ((_fcw >> 36) & 3)); diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c b/sysdeps/sparc/sparc64/soft-fp/qp_fne.c index bcc1ec2ee7..4d23fd6b6e 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_fne.c @@ -38,12 +38,12 @@ int _Qp_fne(const long double *a, const long double *b) QP_HANDLE_EXCEPTIONS( __asm ( - "ldd [%0], %%f52 - ldd [%0+8], %%f54 - ldd [%1], %%f56 - ldd [%1+8], %%f58 - fcmpq %%fcc3, %%f52, %%f56 - " : : "r" (a), "r" (b) : QP_CLOBBER_CC); +" ldd [%0], %%f52\n" +" ldd [%0+8], %%f54\n" +" ldd [%1], %%f56\n" +" ldd [%1+8], %%f58\n" +" fcmpq %%fcc3, %%f52, %%f56\n" +" " : : "r" (a), "r" (b) : QP_CLOBBER_CC); _FPU_GETCW(_fcw); r = ((_fcw >> 36) & 3) != 0); diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_mul.c b/sysdeps/sparc/sparc64/soft-fp/qp_mul.c index 9dbc06b989..8b576a39bc 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_mul.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_mul.c @@ -39,12 +39,12 @@ void _Qp_mul(long double *c, const long double *a, const long double *b) QP_HANDLE_EXCEPTIONS( _FPU_SETCW(_fcw); __asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - ldd [%2], %%f56 - ldd [%2+8], %%f58 - fmulq %%f52, %%f56, %%f60 - std %%f60, [%0] - std %%f62, [%0+8] - " : : "r" (c), "r" (a), "r" (b) : QP_CLOBBER)); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" ldd [%2], %%f56\n" +" ldd [%2+8], %%f58\n" +" fmulq %%f52, %%f56, %%f60\n" +" std %%f60, [%0]\n" +" std %%f62, [%0+8]\n" +" " : : "r" (c), "r" (a), "r" (b) : QP_CLOBBER)); } diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c index 50c44026e1..07062e50fe 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c @@ -40,10 +40,10 @@ double _Qp_qtod(const long double *a) #endif FP_PACK_D(r, R); QP_HANDLE_EXCEPTIONS(__asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - fqtod %%f52, %0 - " : "=&e" (r) : "r" (a) : QP_CLOBBER)); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" fqtod %%f52, %0\n" +" " : "=&e" (r) : "r" (a) : QP_CLOBBER)); return r; } diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c index 770c887653..c930a62415 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c @@ -36,11 +36,11 @@ int _Qp_qtoi(const long double *a) QP_HANDLE_EXCEPTIONS( int rx; __asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - fqtoi %%f52, %%f60 - st %%f60, [%0] - " : : "r" (&rx), "r" (a) : QP_CLOBBER); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" fqtoi %%f52, %%f60\n" +" st %%f60, [%0]\n" +" " : : "r" (&rx), "r" (a) : QP_CLOBBER); r = rx); return r; diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c index 630300ea44..62f7bbd155 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c @@ -41,10 +41,10 @@ float _Qp_qtos(const long double *a) FP_PACK_S(r, R); QP_HANDLE_EXCEPTIONS(__asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - fqtos %%f52, %0 - " : "=&f" (r) : "r" (a) : QP_CLOBBER)); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" fqtos %%f52, %0\n" +" " : "=&f" (r) : "r" (a) : QP_CLOBBER)); return r; } diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c index 011cf73114..16952673b8 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c @@ -36,11 +36,11 @@ unsigned int _Qp_qtoui(const long double *a) QP_HANDLE_EXCEPTIONS( int rx; __asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - fqtoi %%f52, %%f60 - st %%f60, [%0] - " : : "r" (&rx), "r" (a) : QP_CLOBBER); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" fqtoi %%f52, %%f60\n" +" st %%f60, [%0]\n" +" " : : "r" (&rx), "r" (a) : QP_CLOBBER); r = rx); return r; diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c index f2a393a8e7..ec17a79043 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c @@ -36,11 +36,11 @@ unsigned long _Qp_qtoux(const long double *a) QP_HANDLE_EXCEPTIONS( unsigned long rx; __asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - fqtoi %%f52, %%f60 - std %%f60, [%0] - " : : "r" (&rx), "r" (a) : QP_CLOBBER); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" fqtoi %%f52, %%f60\n" +" std %%f60, [%0]\n" +" " : : "r" (&rx), "r" (a) : QP_CLOBBER); r = rx); return r; diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c index a54c5c5833..e7b8f28805 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c @@ -36,11 +36,11 @@ long _Qp_qtox(const long double *a) QP_HANDLE_EXCEPTIONS( long rx; __asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - fqtoi %%f52, %%f60 - std %%f60, [%0] - " : : "r" (&rx), "r" (a) : QP_CLOBBER); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" fqtoi %%f52, %%f60\n" +" std %%f60, [%0]\n" +" " : : "r" (&rx), "r" (a) : QP_CLOBBER); r = rx); return r; diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c b/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c index 00e3980286..fabd45f2d2 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c @@ -33,10 +33,10 @@ void _Qp_sqrt(long double *c, const long double *a) FP_SQRT_Q(C, A); FP_PACK_QP(c, C); QP_HANDLE_EXCEPTIONS(__asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - fsqrtq %%f52, %%f60 - std %%f60, [%0] - std %%f62, [%0+8] - " : : "r" (c), "r" (a) : QP_CLOBBER)); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" fsqrtq %%f52, %%f60\n" +" std %%f60, [%0]\n" +" std %%f62, [%0+8]\n" +" " : : "r" (c), "r" (a) : QP_CLOBBER)); } diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c index ab0f49a0ca..e65acb0e33 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c @@ -39,8 +39,8 @@ void _Qp_stoq(long double *c, const float a) #endif FP_PACK_QP(c, C); QP_HANDLE_EXCEPTIONS(__asm ( - "fstoq %1, %%f60 - std %%f60, [%0] - std %%f62, [%0+8] - " : : "r" (c), "f" (a) : QP_CLOBBER)); +" fstoq %1, %%f60\n" +" std %%f60, [%0]\n" +" std %%f62, [%0+8]\n" +" " : : "r" (c), "f" (a) : QP_CLOBBER)); } diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c b/sysdeps/sparc/sparc64/soft-fp/qp_sub.c index 9532f7b817..5907347191 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_sub.c @@ -34,12 +34,12 @@ void _Qp_sub(long double *c, const long double *a, const long double *b) FP_SUB_Q(C, A, B); FP_PACK_QP(c, C); QP_HANDLE_EXCEPTIONS(__asm ( - "ldd [%1], %%f52 - ldd [%1+8], %%f54 - ldd [%2], %%f56 - ldd [%2+8], %%f58 - fsubq %%f52, %%f56, %%f60 - std %%f60, [%0] - std %%f62, [%0+8] - " : : "r" (c), "r" (a), "r" (b) : QP_CLOBBER)); +" ldd [%1], %%f52\n" +" ldd [%1+8], %%f54\n" +" ldd [%2], %%f56\n" +" ldd [%2+8], %%f58\n" +" fsubq %%f52, %%f56, %%f60\n" +" std %%f60, [%0]\n" +" std %%f62, [%0+8]\n" +" " : : "r" (c), "r" (a), "r" (b) : QP_CLOBBER)); } diff --git a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h b/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h index 4703dd070e..b36e848316 100644 --- a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h +++ b/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h @@ -111,10 +111,10 @@ do { \ /* This is the common case, so we do it inline. \ * We need to clear cexc bits if any. \ */ \ - __asm__ __volatile__(" - fzero %%f62 - faddd %%f62, %%f62, %%f62 - " : : : "f62"); \ + __asm__ __volatile__("\n" \ +" fzero %%f62\n" \ +" faddd %%f62, %%f62, %%f62\n" \ +" " : : : "f62"); \ } \ else \ { \ @@ -136,8 +136,8 @@ do { \ } while (0) #define QP_NO_EXCEPTIONS \ - __asm ("fzero %%f62 - faddd %%f62, %%f62, %%f62" : : : "f62") + __asm ("fzero %%f62\n" \ +" faddd %%f62, %%f62, %%f62" : : : "f62") #define QP_CLOBBER "memory", "f52", "f54", "f56", "f58", "f60", "f62" #define QP_CLOBBER_CC QP_CLOBBER , "cc" |