about summary refs log tree commit diff
path: root/sysdeps/ia64/fpu/s_cbrtl.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ia64/fpu/s_cbrtl.S')
-rw-r--r--sysdeps/ia64/fpu/s_cbrtl.S64
1 files changed, 37 insertions, 27 deletions
diff --git a/sysdeps/ia64/fpu/s_cbrtl.S b/sysdeps/ia64/fpu/s_cbrtl.S
index 3e621e2c12..d4bbf8fdbf 100644
--- a/sysdeps/ia64/fpu/s_cbrtl.S
+++ b/sysdeps/ia64/fpu/s_cbrtl.S
@@ -1,10 +1,11 @@
-.file "cbrtl.s"
+.file "cbrtl.asm"
 
-
-// Copyright (c) 2000 - 2003, Intel Corporation
+// Copyright (C) 2000, 2001, Intel Corporation
 // All rights reserved.
-//
-// Contributed 2000 by the Intel Numerics Group, Intel Corporation
+// 
+// Contributed 2/2/2000 by John Harrison, Cristina Iordache, Ted Kubaska, 
+// Bob Norin, Shane Story, and Ping Tak Peter Tang 
+// of the Computational Software Lab, Intel Corporation.
 //
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
@@ -20,7 +21,7 @@
 // * The name of Intel Corporation may not be used to endorse or promote
 // products derived from this software without specific prior written
 // permission.
-
+//
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -35,13 +36,11 @@
 // 
 // Intel Corporation is the author of this code, and requests that all
 // problem reports or change requests be submitted to it directly at 
-// http://www.intel.com/software/products/opensource/libraries/num.htm.
+// http://developer.intel.com/opensource.
 //
 // History
 //==============================================================
-// 04/28/00 Initial version 
-// 05/20/02 Cleaned up namespace and sf0 syntax
-// 02/06/03 Reordered header: .section, .global, .proc, .align
+// 4/28/00: Initial version 
 //
 // API
 //==============================================================
@@ -96,26 +95,29 @@
 //   r2-r3, r23-r30
 //   p6,p7,p12
 
-
+#include "libm_support.h"
 
 // Data tables
 //==============================================================
 
-RODATA
+#ifdef _LIBC
+.rodata
+#else
+.data
+#endif
 
 .align 16
 
-LOCAL_OBJECT_START(poly_coeffs)
-
+poly_coeffs:
+ASM_TYPE_DIRECTIVE(poly_coeffs,@object)
 data8 0xaaaaaaaaaaaaaab1, 0x00003ffd // C_1
 data8 0xe38e38e38e38e3e0, 0x00003ffb // C_2
 data8 0x3faf9add3c0be9a6, 0x3fa511e8d2b1f749 // C_3, C_4
 data8 0x3f9ee71b2c6ebe99, 0x3f9809180fd0340c // C_5, C_6
-LOCAL_OBJECT_END(poly_coeffs)
-
-
-LOCAL_OBJECT_START(T_table)
+ASM_SIZE_DIRECTIVE(poly_coeffs)
 
+T_table:
+ASM_TYPE_DIRECTIVE(T_table,@object)
 
 data8 0x80155c748c374836, 0x8040404b0879f7f9
 data8 0x806b5dce4b405c10, 0x8096b586974669b1
@@ -501,15 +503,14 @@ data8 0xfec316fecaf3f2ab, 0xfeecfdaf33fadb80
 data8 0xff16fffe2fa8fad6, 0xff411e0ba9db886d
 data8 0xff6b57f7c33e4e9a, 0xff95ade2d1bd7358
 data8 0xffc01fed60f86fb5, 0xffeaae3832b63956
-LOCAL_OBJECT_END(T_table)
+ASM_SIZE_DIRECTIVE(T_table)
 
 
 
 
 
-
-LOCAL_OBJECT_START(D_table)
-
+D_table:
+ASM_TYPE_DIRECTIVE(D_table,@object)
 data4 0x1e50f488, 0x1ebdc559, 0x1e649ec1, 0x9eed9b2c
 data4 0x9e511c44, 0x9ec6d551, 0x9eefe248, 0x9e313854
 data4 0x9f54ff18, 0x9d231411, 0x1ee5d63c, 0x9edf6b95
@@ -702,16 +703,25 @@ data4 0x9eafd508, 0x9ef0e9fc, 0x1d1307ac, 0x1eecee20
 data4 0x1cf60c6f, 0x9d556216, 0x9eaed175, 0x9ec919f4
 data4 0x1ec2c988, 0x1cd82772, 0x9dc99456, 0x1eab0467
 data4 0x1e89b36f, 0x1c757944, 0x1eef9abd, 0x9e98664d
-LOCAL_OBJECT_END(D_table)
+ASM_SIZE_DIRECTIVE(D_table)
+
+
 
 
+
+.align 32
+.global cbrtl#
+
 .section .text
-GLOBAL_LIBM_ENTRY(cbrtl)
+.proc  cbrtl#
+.align 32
+cbrtl: 
+
 
 { .mfi
   getf.sig r3=f8
      // will continue only for normal/denormal numbers          
-      fclass.nm.unc p12,p7 = f8, 0x1b           
+(p0)  fclass.nm.unc p12,p7 = f8, 0x1b           
   // r2 = pointer to C_1...C_6 followed by T_table
   addl r2 = @ltoff(poly_coeffs), gp;;
 }
@@ -888,5 +898,5 @@ GLOBAL_LIBM_ENTRY(cbrtl)
   (p6) fma.s0 f8=f8,f6,f8
   br.ret.sptk b0;;
 }
-GLOBAL_LIBM_END(cbrtl)
-
+.endp cbrtl
+ASM_SIZE_DIRECTIVE(cbrtl)