@@ -3717,6 +3717,44 @@ pow 0x2.000582p0 -1022
pow 2 -0x3.fe513p+8
pow 2 -0x3.fe4e8p+8
+pow 10 -1
+pow 10 -2
+pow 10 -3
+pow 10 -4
+pow 10 -5
+pow 10 -6
+pow 10 -7
+
+pow 0x0.ffffffffffffffffp0 1
+pow 0x0.ffffffffffffffffp0 2
+pow 0x0.ffffffffffffffffp0 3
+pow 0x0.ffffffffffffffffp0 4
+pow 0x0.ffffffffffffffffp0 5
+pow 0x0.ffffffffffffffffp0 6
+pow 0x0.ffffffffffffffffp0 7
+pow 0x0.ffffffffffffffffp0 -1
+pow 0x0.ffffffffffffffffp0 -2
+pow 0x0.ffffffffffffffffp0 -3
+pow 0x0.ffffffffffffffffp0 -4
+pow 0x0.ffffffffffffffffp0 -5
+pow 0x0.ffffffffffffffffp0 -6
+pow 0x0.ffffffffffffffffp0 -7
+
+pow 0x1.0000000000000002p0 1
+pow 0x1.0000000000000002p0 2
+pow 0x1.0000000000000002p0 3
+pow 0x1.0000000000000002p0 4
+pow 0x1.0000000000000002p0 5
+pow 0x1.0000000000000002p0 6
+pow 0x1.0000000000000002p0 7
+pow 0x1.0000000000000002p0 -1
+pow 0x1.0000000000000002p0 -2
+pow 0x1.0000000000000002p0 -3
+pow 0x1.0000000000000002p0 -4
+pow 0x1.0000000000000002p0 -5
+pow 0x1.0000000000000002p0 -6
+pow 0x1.0000000000000002p0 -7
+
pow 1.0625 1.125
pow 1.5 1.03125
pow 0x1.7d1a0a6f2p+681 1.5
@@ -26,9 +26,9 @@
.type one,@object
one: .double 1.0
ASM_SIZE_DIRECTIVE(one)
- .type p3,@object
-p3: .byte 0, 0, 0, 0, 0, 0, 0x20, 0x40
- ASM_SIZE_DIRECTIVE(p3)
+ .type p2,@object
+p2: .byte 0, 0, 0, 0, 0, 0, 0x10, 0x40
+ ASM_SIZE_DIRECTIVE(p2)
.type p63,@object
p63: .byte 0, 0, 0, 0, 0, 0, 0xe0, 0x43
ASM_SIZE_DIRECTIVE(p63)
@@ -146,11 +146,11 @@ ENTRY(__ieee754_powl)
jmp 3f
9: /* OK, we have an integer value for y. Unless very small
- (we use < 8), use the algorithm for real exponent to avoid
+ (we use < 4), use the algorithm for real exponent to avoid
accumulation of errors. */
fld %st // y : y : x
fabs // |y| : y : x
- fcompl MO(p3) // y : x
+ fcompl MO(p2) // y : x
fnstsw
sahf
jnc 3f
@@ -1903,14 +1903,14 @@ ldouble: 4
Function: "pow_towardzero":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
+ildouble: 4
+ldouble: 4
Function: "pow_upward":
double: 1
idouble: 1
-ildouble: 2
-ldouble: 2
+ildouble: 4
+ldouble: 4
Function: "sin":
ildouble: 1
@@ -26,9 +26,9 @@
.type one,@object
one: .double 1.0
ASM_SIZE_DIRECTIVE(one)
- .type p3,@object
-p3: .byte 0, 0, 0, 0, 0, 0, 0x20, 0x40
- ASM_SIZE_DIRECTIVE(p3)
+ .type p2,@object
+p2: .byte 0, 0, 0, 0, 0, 0, 0x10, 0x40
+ ASM_SIZE_DIRECTIVE(p2)
.type p63,@object
p63: .byte 0, 0, 0, 0, 0, 0, 0xe0, 0x43
ASM_SIZE_DIRECTIVE(p63)
@@ -136,12 +136,12 @@ ENTRY(__ieee754_powl)
jmp 3f
9: /* OK, we have an integer value for y. Unless very small
- (we use < 8), use the algorithm for real exponent to avoid
+ (we use < 4), use the algorithm for real exponent to avoid
accumulation of errors. */
- fldl MO(p3) // 8 : y : x
- fld %st(1) // y : 8 : y : x
- fabs // |y| : 8 : y : x
- fcomip %st(1), %st // 8 : y : x
+ fldl MO(p2) // 4 : y : x
+ fld %st(1) // y : 4 : y : x
+ fabs // |y| : 4 : y : x
+ fcomip %st(1), %st // 4 : y : x
fstp %st(0) // y : x
jnc 3f
mov -8(%rsp),%eax
@@ -2016,16 +2016,16 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 4
+ldouble: 4
Function: "pow_upward":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 4
+ldouble: 4
Function: "pow_vlen16":
float: 3