Loading ccgo_linux_ppc64le.go +14 −14 Changes for ccgo_linux_ppc64le.go: 14 added lines, 14 removed lines. Original line number Diff line number Diff line Loading @@ -26050,7 +26050,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) (r float64) { if (*TFILE)(unsafe.Pointer(f)).Fshlim >= 0 { (*TFILE)(unsafe.Pointer(f)).Frpos = (*TFILE)(unsafe.Pointer(f)).Frpos - 1 } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } i = uint64(1) for { Loading @@ -26067,7 +26067,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) (r float64) { goto _23 } if c == int32(')') { return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } if (*TFILE)(unsafe.Pointer(f)).Fshlim >= 0 { (*TFILE)(unsafe.Pointer(f)).Frpos = (*TFILE)(unsafe.Pointer(f)).Frpos - 1 Loading @@ -26087,13 +26087,13 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) (r float64) { (*TFILE)(unsafe.Pointer(f)).Frpos = (*TFILE)(unsafe.Pointer(f)).Frpos - 1 } } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) goto _23 _23: ; i = i + 1 } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } if i != 0 { if (*TFILE)(unsafe.Pointer(f)).Fshlim >= 0 { Loading Loading @@ -108231,7 +108231,7 @@ func Xlog(tls *TLS, x1 float64) (r1 float64) { /* log(x) = log1p(z/c-1) + log(c) + k*Ln2. */ /* r ~= z/c - 1, |r| < 1/(2*N). */ /* rounding error: 0x1p-55/N. */ r = Xfma(tls, z, invc, -Float64FromFloat64(1)) r = float64(X__builtin_fma(tls, z, invc, -Float64FromFloat64(1))) kd = float64(k) /* hi + lo = r + log(c) + k*Ln2. */ w = Tdouble_t(kd*X__log_data.Fln2hi) + logc Loading Loading @@ -108684,7 +108684,7 @@ func Xlog2(tls *TLS, x1 float64) (r1 float64) { } r = x1 - float64(1) hi = Tdouble_t(r * X__log2_data.Finvln2hi) lo = Tdouble_t(r*X__log2_data.Finvln2lo) + Xfma(tls, r, X__log2_data.Finvln2hi, -hi) lo = Tdouble_t(r*X__log2_data.Finvln2lo) + float64(X__builtin_fma(tls, r, X__log2_data.Finvln2hi, -hi)) r2 = Tdouble_t(r * r) /* rounding error: 0x1p-62. */ r4 = Tdouble_t(r2 * r2) /* Worst-case error is less than 0.54 ULP (0.55 ULP without fma). */ Loading Loading @@ -108736,9 +108736,9 @@ func Xlog2(tls *TLS, x1 float64) (r1 float64) { /* log2(x) = log2(z/c) + log2(c) + k. */ /* r ~= z/c - 1, |r| < 1/(2*N). */ /* rounding error: 0x1p-55/N. */ r = Xfma(tls, z, invc, -Float64FromFloat64(1)) r = float64(X__builtin_fma(tls, z, invc, -Float64FromFloat64(1))) t1 = Tdouble_t(r * X__log2_data.Finvln2hi) t2 = Tdouble_t(r*X__log2_data.Finvln2lo) + Xfma(tls, r, X__log2_data.Finvln2hi, -t1) t2 = Tdouble_t(r*X__log2_data.Finvln2lo) + float64(X__builtin_fma(tls, r, X__log2_data.Finvln2hi, -t1)) /* hi + lo = r/ln2 + log2(c) + k. */ t3 = kd + logc hi = t3 + t1 Loading Loading @@ -109246,7 +109246,7 @@ func Xnan(tls *TLS, s uintptr) (r float64) { trc("tls=%v s=%v, (%v:)", tls, s, origin(2)) defer func() { trc("-> %v", r) }() } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } func Xnanf(tls *TLS, s uintptr) (r float32) { Loading @@ -109254,7 +109254,7 @@ func Xnanf(tls *TLS, s uintptr) (r float32) { trc("tls=%v s=%v, (%v:)", tls, s, origin(2)) defer func() { trc("-> %v", r) }() } return Xnanf(tls, __ccgo_ts) return X__builtin_nanf(tls, __ccgo_ts) } func Xnanl(tls *TLS, s uintptr) (r float64) { Loading @@ -109262,7 +109262,7 @@ func Xnanl(tls *TLS, s uintptr) (r float64) { trc("tls=%v s=%v, (%v:)", tls, s, origin(2)) defer func() { trc("-> %v", r) }() } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } func Xnextafter(tls *TLS, x3 float64, y3 float64) (r float64) { Loading Loading @@ -109659,7 +109659,7 @@ func _log_inline(tls *TLS, ix Tuint64_t, tail uintptr) (r1 Tdouble_t) { })(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 72 + uintptr(i)*32))).Flogctail /* Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. */ r = Xfma(tls, z, invc, -Float64FromFloat64(1)) r = float64(X__builtin_fma(tls, z, invc, -Float64FromFloat64(1))) /* k*Ln2 + log(c) + r. */ t1 = Tdouble_t(kd*X__pow_log_data.Fln2hi) + logc t2 = t1 + r Loading @@ -109670,7 +109670,7 @@ func _log_inline(tls *TLS, ix Tuint64_t, tail uintptr) (r1 Tdouble_t) { ar3 = Tdouble_t(r * ar2) /* k*Ln2 + log(c) + r + A[0]*r*r. */ hi = t2 + ar2 lo3 = Xfma(tls, ar, r, -ar2) lo3 = float64(X__builtin_fma(tls, ar, r, -ar2)) lo4 = t2 - hi + ar2 /* p = log1p(r) - r - A[0]*r*r. */ p = Tdouble_t(ar3 * (**(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 1*8)) + float64(r***(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 2*8))) + float64(ar2*(**(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 3*8))+float64(r***(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 4*8)))+float64(ar2*(**(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 5*8))+float64(r***(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 6*8))))))))) Loading Loading @@ -109971,7 +109971,7 @@ func Xpow(tls *TLS, x1 float64, y1 float64) (r float64) { } hi = _log_inline(tls, ix, bp) ehi = Tdouble_t(y1 * hi) elo = float64(y1***(**Tdouble_t)(__ccgo_up(bp))) + Xfma(tls, y1, hi, -ehi) elo = float64(y1***(**Tdouble_t)(__ccgo_up(bp))) + float64(X__builtin_fma(tls, y1, hi, -ehi)) return _exp_inline(tls, ehi, elo, sign_bias) } internal/autogen/linux_ppc64le.mod +40 −0 Changes for internal/autogen/linux_ppc64le.mod: 40 added lines, 0 removed lines. Original line number Diff line number Diff line module modernc.org/libc go 1.26.0 retract v1.43.0 retract v1.67.5 retract v1.74.2 // freeaddrinfo leaks a locked ___lock entry; deadlocks name resolution, fixed in v1.74.4 retract v1.74.3 // freeaddrinfo leaks a locked ___lock entry; deadlocks name resolution, fixed in v1.74.4 retract v1.77.0 // Xnanf calls itself on linux; nan() and strtod or scanf of "nan" crash with a stack overflow require ( github.com/dustin/go-humanize v1.0.1 github.com/google/uuid v1.6.0 github.com/mattn/go-isatty v0.0.24 github.com/ncruces/go-strftime v1.0.0 golang.org/x/sys v0.48.0 golang.org/x/tools v0.50.0 modernc.org/cc/v4 v4.29.7 modernc.org/ccgo/v4 v4.36.1 modernc.org/fileutil v1.4.0 modernc.org/goabi0 v0.2.0 modernc.org/mathutil v1.7.1 modernc.org/memory v1.12.1 ) require ( github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect golang.org/x/mod v0.41.0 // indirect golang.org/x/sync v0.23.0 // indirect modernc.org/gc/v2 v2.6.5 // indirect modernc.org/gc/v3 v3.1.5 // indirect modernc.org/opt v0.2.0 // indirect modernc.org/sortutil v1.2.1 // indirect modernc.org/strutil v1.2.1 // indirect modernc.org/token v1.1.0 // indirect ) Loading
ccgo_linux_ppc64le.go +14 −14 Changes for ccgo_linux_ppc64le.go: 14 added lines, 14 removed lines. Original line number Diff line number Diff line Loading @@ -26050,7 +26050,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) (r float64) { if (*TFILE)(unsafe.Pointer(f)).Fshlim >= 0 { (*TFILE)(unsafe.Pointer(f)).Frpos = (*TFILE)(unsafe.Pointer(f)).Frpos - 1 } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } i = uint64(1) for { Loading @@ -26067,7 +26067,7 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) (r float64) { goto _23 } if c == int32(')') { return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } if (*TFILE)(unsafe.Pointer(f)).Fshlim >= 0 { (*TFILE)(unsafe.Pointer(f)).Frpos = (*TFILE)(unsafe.Pointer(f)).Frpos - 1 Loading @@ -26087,13 +26087,13 @@ func X__floatscan(tls *TLS, f uintptr, prec int32, pok int32) (r float64) { (*TFILE)(unsafe.Pointer(f)).Frpos = (*TFILE)(unsafe.Pointer(f)).Frpos - 1 } } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) goto _23 _23: ; i = i + 1 } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } if i != 0 { if (*TFILE)(unsafe.Pointer(f)).Fshlim >= 0 { Loading Loading @@ -108231,7 +108231,7 @@ func Xlog(tls *TLS, x1 float64) (r1 float64) { /* log(x) = log1p(z/c-1) + log(c) + k*Ln2. */ /* r ~= z/c - 1, |r| < 1/(2*N). */ /* rounding error: 0x1p-55/N. */ r = Xfma(tls, z, invc, -Float64FromFloat64(1)) r = float64(X__builtin_fma(tls, z, invc, -Float64FromFloat64(1))) kd = float64(k) /* hi + lo = r + log(c) + k*Ln2. */ w = Tdouble_t(kd*X__log_data.Fln2hi) + logc Loading Loading @@ -108684,7 +108684,7 @@ func Xlog2(tls *TLS, x1 float64) (r1 float64) { } r = x1 - float64(1) hi = Tdouble_t(r * X__log2_data.Finvln2hi) lo = Tdouble_t(r*X__log2_data.Finvln2lo) + Xfma(tls, r, X__log2_data.Finvln2hi, -hi) lo = Tdouble_t(r*X__log2_data.Finvln2lo) + float64(X__builtin_fma(tls, r, X__log2_data.Finvln2hi, -hi)) r2 = Tdouble_t(r * r) /* rounding error: 0x1p-62. */ r4 = Tdouble_t(r2 * r2) /* Worst-case error is less than 0.54 ULP (0.55 ULP without fma). */ Loading Loading @@ -108736,9 +108736,9 @@ func Xlog2(tls *TLS, x1 float64) (r1 float64) { /* log2(x) = log2(z/c) + log2(c) + k. */ /* r ~= z/c - 1, |r| < 1/(2*N). */ /* rounding error: 0x1p-55/N. */ r = Xfma(tls, z, invc, -Float64FromFloat64(1)) r = float64(X__builtin_fma(tls, z, invc, -Float64FromFloat64(1))) t1 = Tdouble_t(r * X__log2_data.Finvln2hi) t2 = Tdouble_t(r*X__log2_data.Finvln2lo) + Xfma(tls, r, X__log2_data.Finvln2hi, -t1) t2 = Tdouble_t(r*X__log2_data.Finvln2lo) + float64(X__builtin_fma(tls, r, X__log2_data.Finvln2hi, -t1)) /* hi + lo = r/ln2 + log2(c) + k. */ t3 = kd + logc hi = t3 + t1 Loading Loading @@ -109246,7 +109246,7 @@ func Xnan(tls *TLS, s uintptr) (r float64) { trc("tls=%v s=%v, (%v:)", tls, s, origin(2)) defer func() { trc("-> %v", r) }() } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } func Xnanf(tls *TLS, s uintptr) (r float32) { Loading @@ -109254,7 +109254,7 @@ func Xnanf(tls *TLS, s uintptr) (r float32) { trc("tls=%v s=%v, (%v:)", tls, s, origin(2)) defer func() { trc("-> %v", r) }() } return Xnanf(tls, __ccgo_ts) return X__builtin_nanf(tls, __ccgo_ts) } func Xnanl(tls *TLS, s uintptr) (r float64) { Loading @@ -109262,7 +109262,7 @@ func Xnanl(tls *TLS, s uintptr) (r float64) { trc("tls=%v s=%v, (%v:)", tls, s, origin(2)) defer func() { trc("-> %v", r) }() } return float64(Xnanf(tls, __ccgo_ts)) return float64(X__builtin_nanf(tls, __ccgo_ts)) } func Xnextafter(tls *TLS, x3 float64, y3 float64) (r float64) { Loading Loading @@ -109659,7 +109659,7 @@ func _log_inline(tls *TLS, ix Tuint64_t, tail uintptr) (r1 Tdouble_t) { })(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 72 + uintptr(i)*32))).Flogctail /* Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. */ r = Xfma(tls, z, invc, -Float64FromFloat64(1)) r = float64(X__builtin_fma(tls, z, invc, -Float64FromFloat64(1))) /* k*Ln2 + log(c) + r. */ t1 = Tdouble_t(kd*X__pow_log_data.Fln2hi) + logc t2 = t1 + r Loading @@ -109670,7 +109670,7 @@ func _log_inline(tls *TLS, ix Tuint64_t, tail uintptr) (r1 Tdouble_t) { ar3 = Tdouble_t(r * ar2) /* k*Ln2 + log(c) + r + A[0]*r*r. */ hi = t2 + ar2 lo3 = Xfma(tls, ar, r, -ar2) lo3 = float64(X__builtin_fma(tls, ar, r, -ar2)) lo4 = t2 - hi + ar2 /* p = log1p(r) - r - A[0]*r*r. */ p = Tdouble_t(ar3 * (**(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 1*8)) + float64(r***(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 2*8))) + float64(ar2*(**(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 3*8))+float64(r***(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 4*8)))+float64(ar2*(**(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 5*8))+float64(r***(**float64)(__ccgo_up(uintptr(unsafe.Pointer(&X__pow_log_data)) + 16 + 6*8))))))))) Loading Loading @@ -109971,7 +109971,7 @@ func Xpow(tls *TLS, x1 float64, y1 float64) (r float64) { } hi = _log_inline(tls, ix, bp) ehi = Tdouble_t(y1 * hi) elo = float64(y1***(**Tdouble_t)(__ccgo_up(bp))) + Xfma(tls, y1, hi, -ehi) elo = float64(y1***(**Tdouble_t)(__ccgo_up(bp))) + float64(X__builtin_fma(tls, y1, hi, -ehi)) return _exp_inline(tls, ehi, elo, sign_bias) }
internal/autogen/linux_ppc64le.mod +40 −0 Changes for internal/autogen/linux_ppc64le.mod: 40 added lines, 0 removed lines. Original line number Diff line number Diff line module modernc.org/libc go 1.26.0 retract v1.43.0 retract v1.67.5 retract v1.74.2 // freeaddrinfo leaks a locked ___lock entry; deadlocks name resolution, fixed in v1.74.4 retract v1.74.3 // freeaddrinfo leaks a locked ___lock entry; deadlocks name resolution, fixed in v1.74.4 retract v1.77.0 // Xnanf calls itself on linux; nan() and strtod or scanf of "nan" crash with a stack overflow require ( github.com/dustin/go-humanize v1.0.1 github.com/google/uuid v1.6.0 github.com/mattn/go-isatty v0.0.24 github.com/ncruces/go-strftime v1.0.0 golang.org/x/sys v0.48.0 golang.org/x/tools v0.50.0 modernc.org/cc/v4 v4.29.7 modernc.org/ccgo/v4 v4.36.1 modernc.org/fileutil v1.4.0 modernc.org/goabi0 v0.2.0 modernc.org/mathutil v1.7.1 modernc.org/memory v1.12.1 ) require ( github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect golang.org/x/mod v0.41.0 // indirect golang.org/x/sync v0.23.0 // indirect modernc.org/gc/v2 v2.6.5 // indirect modernc.org/gc/v3 v3.1.5 // indirect modernc.org/opt v0.2.0 // indirect modernc.org/sortutil v1.2.1 // indirect modernc.org/strutil v1.2.1 // indirect modernc.org/token v1.1.0 // indirect )