1
0
mirror of https://github.com/golang/go synced 2024-10-05 23:11:21 -06:00
go/src/cmd/compile/internal
David Chase 3a9d0ac3c8 [dev.ssa] cmd/compile: add complex arithmetic
Still to do:
details, more testing corner cases. (e.g. negative zero)
Includes small cleanups for previous CL.

Note: complex division is currently done in the runtime,
so the division code here is apparently not yet necessary
and also not tested.  Seems likely better to open code
division and expose the widening/narrowing to optimization.

Complex64 multiplication and division is done in wide
format to avoid cancellation errors; for division, this
also happens to be compatible with pre-SSA practice
(which uses a single complex128 division function).

It would-be-nice to widen for complex128 multiplication
intermediates as well, but that is trickier to implement
without a handy wider-precision format.

Change-Id: I595a4300f68868fb7641852a54674c6b2b78855e
Reviewed-on: https://go-review.googlesource.com/14028
Reviewed-by: Keith Randall <khr@golang.org>
2015-09-01 17:47:58 +00:00
..
amd64 cmd/compile/internal, cmd/internal/obj: used keyed ProgInfo literals 2015-08-21 22:32:43 +00:00
arm cmd/compile/internal, cmd/internal/obj: used keyed ProgInfo literals 2015-08-21 22:32:43 +00:00
arm64 cmd/compile/internal, cmd/internal/obj: used keyed ProgInfo literals 2015-08-21 22:32:43 +00:00
big cmd/compile/internal/big: update vendored math/big 2015-08-21 20:03:16 +00:00
gc [dev.ssa] cmd/compile: add complex arithmetic 2015-09-01 17:47:58 +00:00
ppc64 cmd/compile/internal, cmd/internal/obj: used keyed ProgInfo literals 2015-08-21 22:32:43 +00:00
ssa [dev.ssa] cmd/compile: add complex arithmetic 2015-09-01 17:47:58 +00:00
x86 cmd/compile/internal, cmd/internal/obj: used keyed ProgInfo literals 2015-08-21 22:32:43 +00:00