[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-03-16 Thread fredrik dot huss at home dot se
--- Additional Comments From fredrik dot huss at home dot se 2005-03-16 17:25 --- I see similar problems with real by complex multiplications in C++. The following test program, #include complex std::complexdouble a, b; double c; void f() { a = b * c; } when compiled

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-03-01 Thread Thomas dot Koenig at online dot de
--- Additional Comments From Thomas dot Koenig at online dot de 2005-03-01 15:43 --- (In reply to comment #14) (In reply to comment #13) (In reply to comment #11) I get the same as I got above with the following version on x86: GNU C version 4.0.0 20050225 (experimental)

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-03-01 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-03-01 17:13 --- (In reply to comment #15) I can only assume that this has regressed, that this is a little-endian problem (why it should be so is beyond me, though), that your specific vibes make this go away or that

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-03-01 Thread Thomas dot Koenig at online dot de
--- Additional Comments From Thomas dot Koenig at online dot de 2005-03-01 21:07 --- Andrew, I'm sorry if I'm not making myself clear here. The problem that I see is that, on ia64-unknown-linux-gnu and on i386-pc-linux-gnu, with clean trees, I see code like L2:; D.2390 = 0.0 /

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-03-01 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-03-01 21:14 --- (In reply to comment #17) Andrew, I'm sorry if I'm not making myself clear here. The problem that I see is that, on ia64-unknown-linux-gnu and on i386-pc-linux-gnu, with clean trees, I see code like

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-03-01 Thread Thomas dot Koenig at online dot de
--- Additional Comments From Thomas dot Koenig at online dot de 2005-03-01 21:26 --- (In reply to comment #18) L2:; D.2390 = 0.0 / SR.22; D.2392 = SR.22 + D.2390 * 0.0; c$real = (D.2371 + D.2372 * D.2390) / D.2392; c$imag = (D.2372 - D.2371 * D.2390) / D.2392; in

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-28 Thread Thomas dot Koenig at online dot de
--- Additional Comments From Thomas dot Koenig at online dot de 2005-02-28 20:55 --- Comment #7 shows that there is still something to be done for (br+I*bi)/a (with real br, bi, a). This could be simplified to br/a + I*bi/a, which isn't happening. Thomas -- What

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-28 Thread Thomas dot Koenig at online dot de
--- Additional Comments From Thomas dot Koenig at online dot de 2005-02-28 20:55 --- What I meant was comment#8 *sigh* -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19953

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-28 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-28 21:36 --- For me I get: D.1542 = COMPLEX_EXPR REALPART_EXPR b / SR.4, IMAGPART_EXPR b / SR.4; D.1541 = D.1542; D.1500 = D.1541; return (double) REALPART_EXPR D.1500 + (double) IMAGPART_EXPR D.1500 0.0; The

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-28 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-28 21:38 --- So after my investigation says this is fixed so closing as such. -- What|Removed |Added

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-28 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-28 23:02 --- (In reply to comment #13) (In reply to comment #11) I get the same as I got above with the following version on x86: GNU C version 4.0.0 20050225 (experimental) (i686-pc-linux-gnu) compiled by GNU

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-27 Thread Thomas dot Koenig at online dot de
--- Additional Comments From Thomas dot Koenig at online dot de 2005-02-27 12:52 --- Is this really fixed? Look at this: $ cat c-div.c #include math.h #include complex.h int main() { float a; complex float b,c; foo(a,b); c = b/a; return creal(c) + cimag(c) 0; } $

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-24 Thread cvs-commit at gcc dot gnu dot org
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-02-24 20:00 --- Subject: Bug 19953 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-02-24 20:00:09 Modified files: gcc: ChangeLog builtins.c fold-const.c

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-24 Thread rth at gcc dot gnu dot org
--- Additional Comments From rth at gcc dot gnu dot org 2005-02-24 20:04 --- Fixed. -- What|Removed |Added Status|ASSIGNED|RESOLVED

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-18 Thread rth at gcc dot gnu dot org
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-15 Thread Thomas dot Koenig at online dot de
--- Additional Comments From Thomas dot Koenig at online dot de 2005-02-15 10:29 --- And in fact this only can happen with -funsafe-math-optimizations (or maybe with -fno-trapping- math because a+0.0 can trap. Hmm... if b is complex and has the value (0., signalling NaN) and a is

[Bug middle-end/19953] Special-case real + complex arithmetic operation (-ffast-math)

2005-02-14 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-15 06:15 --- (In reply to comment #3) For addition, this is a regression against 3.3.5: Actually it is not and here is why: fadds .LC0 .LC0 is actually zero. And in fact this only can happen with