public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/16446] New: Irix calling conventions for complex numbers
@ 2004-07-09  3:12 billingd at gcc dot gnu dot org
  2004-07-09  3:43 ` [Bug target/16446] " pinskia at gcc dot gnu dot org
                   ` (21 more replies)
  0 siblings, 22 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-09  3:12 UTC (permalink / raw)
  To: gcc-bugs

It is likely that the calling conventions for complex numbers are wrong for 
mips-sgi-irix6.5.

Here is my test program.  It is modelled on some of the test cases
in gcc.dg.  The fact that the output is (1.000,0.000) makes me wonder.
Host is an Origin 300 running IRIX 6.5.22m

#include <stdio.h>

extern double creal (double _Complex);
extern double cimag (double _Complex);
extern double _Complex cpow (double _Complex, double _Complex cpow);

int main()
{
  _Complex double t, t1;
  t = 2 + 3.0i;
  t1 = cpow (t, 2);
  printf ("%f\t%f\n", creal (t),  cimag (t));
  printf ("%f\t%f\n", creal (t1), cimag (t1));
}


Built with 2004-07-0x HEAD 

/disk4/billingd/obj/gcc-j/gcc/xgcc -B/disk4/billingd/obj/gcc-j/gcc 
  -I/disk4/billingd/obj/gcc-j/gcc/include -o use_cpow use_cpow.c -lm

Output is:

2.000000        3.000000
1.000000        0.000000

Comment from Richard Sandiford is that "we're mishandling the argument
passing side of things (as opposed to the return value)."

See the discussion:
http://gcc.gnu.org/ml/gcc/2004-07/msg00300.html
http://gcc.gnu.org/ml/gcc/2004-07/msg00366.html
http://gcc.gnu.org/ml/gcc/2004-07/msg00369.html

-- 
           Summary: Irix calling conventions for complex numbers
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: billingd at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: mips-sgi-irix6.5
  GCC host triplet: mips-sgi-irix6.5
GCC target triplet: mips-sgi-irix6.5
OtherBugsDependingO 16322
             nThis:


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
@ 2004-07-09  3:43 ` pinskia at gcc dot gnu dot org
  2004-07-15  2:05 ` billingd at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-09  3:43 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |target
           Keywords|                            |ABI, wrong-code
            Summary|Irix calling conventions for|Irix calling conventions for
                   |complex numbers             |complex numbers


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
  2004-07-09  3:43 ` [Bug target/16446] " pinskia at gcc dot gnu dot org
@ 2004-07-15  2:05 ` billingd at gcc dot gnu dot org
  2004-07-18 12:32 ` rsandifo at gcc dot gnu dot org
                   ` (19 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-15  2:05 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-15 02:05 -------
Here is some data.  I have generated assembler for the following
two subroutines.

For mipspro 7.4.1m c99

% cat my_creal.c
#include <complex.h>

double my_creal(complex double x)
{
  return creal (x);
}

and for gcc-3.5

%cat my_creal_gcc.c
extern double creal (double _Complex);

double my_creal(_Complex double x)
{
  return creal (x);
}

Here is the assembler generated at -O3

cat my_creal.s
        .file   1       "/usr/people/billingd/dev/gfortran/my_creal.c"
        .set    noreorder
        .set    noat
        #  /usr/lib32/cmplrs/be::7.41

        #-----------------------------------------------------------
        # Compiling my_creal.c (/tmp/ctmB.BAAaBjkQ1)
        #-----------------------------------------------------------

        #-----------------------------------------------------------
        # Options:
        #-----------------------------------------------------------
        #  Target:R10000, ISA:mips4, Pointer Size:32
        #  -O3  (Optimization level)
        #  -g0  (Debug level)
        #  -m1  (Report warnings)
        #-----------------------------------------------------------


        .section .text, 1, 0x00000006, 4, 64
.text:
        .section .text

        # Program Unit: my_creal
        .ent    my_creal
        .globl  my_creal
my_creal:       # 0x0
        .dynsym my_creal        sto_default
        .frame  $sp, 0, $31
        .loc    1 4 1
 #   1  #include <complex.h>
 #   2  
 #   3  double my_creal(complex double x)
 #   4  {
.BB1.my_creal:  # 0x0
 #<freq>
 #<freq> BB:1 frequency = 1.00000 (heuristic)
 #<freq>
        .loc    1 5 3
 #   5    return creal (x);
        jr $31                          # [0]  
        .loc    1 4 1
        mov.d $f0,$f12                  # [0]  
        .end    my_creal
        .section .text
        .align 6
        .gpvalue 30720


cat my_creal_gcc.s
        #.file  1 "my_creal_gcc.c"
        .option pic2
        .section .text,0x1,0x6,4,8
        .text
        .align  2
        .align  2
        .align  3
        .globl  my_creal
        .ent    my_creal
my_creal:
.LFB2:
        .frame  $sp,0,$31               # vars= 0, regs= 0/0, args= 0, gp= 0
        .mask   0x00000000,0
        .fmask  0x00000000,0
        .set    noreorder
        .set    nomacro
        
        dmtc1   $4,$f0
        j       $31
        nop

        .set    macro
        .set    reorder
.LFE2:
        .end    my_creal


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rsandifo at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
  2004-07-09  3:43 ` [Bug target/16446] " pinskia at gcc dot gnu dot org
  2004-07-15  2:05 ` billingd at gcc dot gnu dot org
@ 2004-07-18 12:32 ` rsandifo at gcc dot gnu dot org
  2004-07-18 13:19 ` rsandifo at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2004-07-18 12:32 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rsandifo at gcc dot gnu dot org  2004-07-18 12:32 -------
Thanks for the information.  Could you do a similar test for
_Complex float as well?

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2004-07-18 12:32 ` rsandifo at gcc dot gnu dot org
@ 2004-07-18 13:19 ` rsandifo at gcc dot gnu dot org
  2004-07-18 21:53 ` billingd at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2004-07-18 13:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rsandifo at gcc dot gnu dot org  2004-07-18 13:19 -------
On second thoughts, could you send the MIPSpro output of:

#include <complex.h>

double d1 (double x, complex double y) { return creal (y); }
double d2 (int x, complex double y) { return creal (y); }
double d3 (complex double y) { return creal (y); }

float f1 (float x, complex float y) { return crealf (y); }
float f2 (int x, complex float y) { return crealf (y); }
float f3 (complex float y) { return crealf (y); }

for both -n32 and -64?  If you have access to an o32
fortran compiler, the output of the equivalent fortran
program for -32 would be really helpful too.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2004-07-18 13:19 ` rsandifo at gcc dot gnu dot org
@ 2004-07-18 21:53 ` billingd at gcc dot gnu dot org
  2004-07-18 21:54 ` billingd at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-18 21:53 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-18 21:53 -------
Created an attachment (id=6773)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6773&action=view)
irix c99 assembler output

Output from Richard Sandiford's test case

c99 -S -o test_complex-n32.s -O3 -n32 test_complex.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2004-07-18 21:53 ` billingd at gcc dot gnu dot org
@ 2004-07-18 21:54 ` billingd at gcc dot gnu dot org
  2004-07-18 22:07 ` billingd at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-18 21:54 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-18 21:54 -------
Created an attachment (id=6774)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6774&action=view)
Irix MipsPRO assembler 

Output from Richard Sandiford's test case

c99 -S -o test_complex-n64.s -O3 -n64 test_complex.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2004-07-18 21:54 ` billingd at gcc dot gnu dot org
@ 2004-07-18 22:07 ` billingd at gcc dot gnu dot org
  2004-07-18 22:08 ` billingd at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-18 22:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-18 22:07 -------
Created an attachment (id=6775)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6775&action=view)
Fortran version of Richard's test program

Fortran version of Richard's test program

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2004-07-18 22:07 ` billingd at gcc dot gnu dot org
@ 2004-07-18 22:08 ` billingd at gcc dot gnu dot org
  2004-07-18 22:11 ` billingd at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-18 22:08 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-18 22:08 -------
Created an attachment (id=6776)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6776&action=view)
-32 assembler from fortran test program

Output from 

f77 -S -32 -O3 test_complex.f


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2004-07-18 22:08 ` billingd at gcc dot gnu dot org
@ 2004-07-18 22:11 ` billingd at gcc dot gnu dot org
  2004-07-18 22:12 ` billingd at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-18 22:11 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-18 22:11 -------
Created an attachment (id=6777)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6777&action=view)
-n32 assembler fro fortran test program

For completeness

f77 -S -n32 -O3 -o test_complex-f-n32.s test_complex.f 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2004-07-18 22:11 ` billingd at gcc dot gnu dot org
@ 2004-07-18 22:12 ` billingd at gcc dot gnu dot org
  2004-07-19 17:13 ` rsandifo at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-18 22:12 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-18 22:12 -------
Created an attachment (id=6778)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6778&action=view)
-64 assembler from fortran test case

and for bonus points, output from 

f77 -S -64 -O3 -o test_complex-f-64.s test_complex.f 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2004-07-18 22:12 ` billingd at gcc dot gnu dot org
@ 2004-07-19 17:13 ` rsandifo at gcc dot gnu dot org
  2004-07-19 17:16 ` rsandifo at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2004-07-19 17:13 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rsandifo at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2004-07-19 17:13 ` rsandifo at gcc dot gnu dot org
@ 2004-07-19 17:16 ` rsandifo at gcc dot gnu dot org
  2004-07-20  1:50 ` billingd at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2004-07-19 17:16 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rsandifo at gcc dot gnu dot org  2004-07-19 17:16 -------
So that I don't get two copies ;)

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|rsandifo at redhat dot com  |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2004-07-19 17:16 ` rsandifo at gcc dot gnu dot org
@ 2004-07-20  1:50 ` billingd at gcc dot gnu dot org
  2004-07-28 23:59 ` billingd at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-20  1:50 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-20 01:50 -------
For the record, a reference for this is:

IRIX 6.5 > Books > Developer > MIPSpro N32 ABI Handbook > Chapter 2
(document number: 007-2816-005)

http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?
coll=0650&db=bks&fname=/SGI_Developer/Mpro_n32_ABI/ch02.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2004-07-20  1:50 ` billingd at gcc dot gnu dot org
@ 2004-07-28 23:59 ` billingd at gcc dot gnu dot org
  2004-07-29  6:04 ` rsandifo at redhat dot com
                   ` (7 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-07-28 23:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-28 23:59 -------
Output from irix c99 foo.c test program

0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 1.87053e-29
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 1.87053e-29

PS:  Richard, if you keep apologising for delays I will want my money back.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2004-07-28 23:59 ` billingd at gcc dot gnu dot org
@ 2004-07-29  6:04 ` rsandifo at redhat dot com
  2004-08-01 23:36 ` david dot billinghurst at comalco dot riotinto dot com dot au
                   ` (6 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: rsandifo at redhat dot com @ 2004-07-29  6:04 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rsandifo at redhat dot com  2004-07-29 06:04 -------
Subject: Re:  Irix calling conventions for complex numbers

"billingd at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:
> ------- Additional Comments From billingd at gcc dot gnu dot org  2004-07-28 23:59 -------
> Output from irix c99 foo.c test program
>
> 0 1
> 0 2
> 0 3
> 0 4
> 0 5
> 0 6
> 0 7
> 0 1.87053e-29
> 0 1
> 0 2
> 0 3
> 0 4
> 0 5
> 0 6
> 0 7
> 0 1.87053e-29

A bug!  I thought so!  The problem is that the real and imaginary
parts of complex float varargs are being passed in two separate GPRs:

    +------+------+
    |......| real |   GPR i
    +------+------+
    |......| imag |   GPR i+1
    +------+------+

but stack varargs are passed as follows:

    +------+------+
    | real | imag |   Stack word i
    +------+------+
    |......|......|   Stack word i+1
    +------+------+

What's more, it looks like MIPSpro's va_arg() expects neither of these,
and instead wants:

    +------+------+
    | real | imag |   Stack word i
    +------+------+

(i.e. with no word of padding).

Are you in a position to send this to SGI?  At the moment, it doesn't
look like we can hope for compatibility as far as complex floats go.
Complex doubles should be easy though.

> PS:  Richard, if you keep apologising for delays I will want my money back.

;) Point taken.

Richard


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (14 preceding siblings ...)
  2004-07-29  6:04 ` rsandifo at redhat dot com
@ 2004-08-01 23:36 ` david dot billinghurst at comalco dot riotinto dot com dot au
  2004-08-02  9:40 ` david dot billinghurst at comalco dot riotinto dot com dot au
                   ` (5 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: david dot billinghurst at comalco dot riotinto dot com dot au @ 2004-08-01 23:36 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From david dot billinghurst at comalco dot riotinto dot com dot au  2004-08-01 23:36 -------
Subject: RE:  Irix calling conventions for complex numbers

I have logged a support call with SGI over the complex float vararg issue exposed by Richard's test case foo.c.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (15 preceding siblings ...)
  2004-08-01 23:36 ` david dot billinghurst at comalco dot riotinto dot com dot au
@ 2004-08-02  9:40 ` david dot billinghurst at comalco dot riotinto dot com dot au
  2004-08-05  0:02 ` billingd at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: david dot billinghurst at comalco dot riotinto dot com dot au @ 2004-08-02  9:40 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From david dot billinghurst at comalco dot riotinto dot com dot au  2004-08-02 09:40 -------
Subject: RE:  Irix calling conventions for complex numbers

> From: rsandifo at gcc dot gnu dot org 
> 
> David, could you give the attached patch a whirl? 

Thanks. I have done a C/gfortran bootstrap (-n32 and -64 only),
and run a few of the C test programs that failed before.  
OK so far. Obviously I need to do a lot more testing.

The <complex.h> header needs some work, so testsuite results
aren't useful yet.

	David


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (16 preceding siblings ...)
  2004-08-02  9:40 ` david dot billinghurst at comalco dot riotinto dot com dot au
@ 2004-08-05  0:02 ` billingd at gcc dot gnu dot org
  2004-08-14  7:37 ` rsandifo at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: billingd at gcc dot gnu dot org @ 2004-08-05  0:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From billingd at gcc dot gnu dot org  2004-08-05 00:02 -------
The SGI case number for the complex float vararg issue is 2550057.  SGI agree 
that it is possible that there is problem with their compiler, and are 
investigating further.

I have done a little more testing of Richard's patch.  All OK so far.  

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (17 preceding siblings ...)
  2004-08-05  0:02 ` billingd at gcc dot gnu dot org
@ 2004-08-14  7:37 ` rsandifo at gcc dot gnu dot org
  2004-08-14 14:36 ` david dot billinghurst at comalco dot riotinto dot com dot au
                   ` (2 subsequent siblings)
  21 siblings, 0 replies; 23+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2004-08-14  7:37 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rsandifo at gcc dot gnu dot org  2004-08-14 07:37 -------
Hi David,

Just wondering: where do we stand on this?  Do you think the patch
is good to go, or is there some more testing you'd like to do?
If there is, that's fine, I can hold off until you've finished.

FWIW, I've been testing the patch locally with a minor correction:
replacing the "==" in "== MAX_ARGS_IN_REGISTERS - 1" with ">=".
The patch doesn't seem to introduce any new failures for me:
the one I mentioned earlier seems to have been a glitch.

Richard


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (18 preceding siblings ...)
  2004-08-14  7:37 ` rsandifo at gcc dot gnu dot org
@ 2004-08-14 14:36 ` david dot billinghurst at comalco dot riotinto dot com dot au
  2004-08-19 18:44 ` cvs-commit at gcc dot gnu dot org
  2004-08-19 19:01 ` rsandifo at gcc dot gnu dot org
  21 siblings, 0 replies; 23+ messages in thread
From: david dot billinghurst at comalco dot riotinto dot com dot au @ 2004-08-14 14:36 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From david dot billinghurst at comalco dot riotinto dot com dot au  2004-08-14 14:36 -------
Subject: RE:  Irix calling conventions for complex numbers

Richard,

I haven't had time to look at this recently, and am unlikely do anything
in the next couple of weeks.

I did do a little more testing and didn't find any problem.  Lets go with
your patch.

	David

__________________________________________________________________

NOTICE
 
This e-mail and any attachments are private and confidential and 
may contain privileged information
 
If you are not an authorised recipient, the copying or distribution 
of this e-mail and any attachments is prohibited and you must not 
read, print or act in reliance on this e-mail or attachments
 
This notice should not be removed
__________________________________________________________________


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (19 preceding siblings ...)
  2004-08-14 14:36 ` david dot billinghurst at comalco dot riotinto dot com dot au
@ 2004-08-19 18:44 ` cvs-commit at gcc dot gnu dot org
  2004-08-19 19:01 ` rsandifo at gcc dot gnu dot org
  21 siblings, 0 replies; 23+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-08-19 18:44 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-08-19 18:44 -------
Subject: Bug 16446

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rsandifo@gcc.gnu.org	2004-08-19 18:44:33

Modified files:
	gcc            : ChangeLog 
	gcc/config/mips: mips.c 

Log message:
	PR target/16446
	* config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
	(mips_arg_info): Update accordingly.  Remove common treatment of fpr_p;
	treat each ABI separately.  Deal with n32/n64 complex float arguments.
	(function_arg): Add associated complex handling here.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.4987&r2=2.4988
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips.c.diff?cvsroot=gcc&r1=1.448&r2=1.449



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Bug target/16446] Irix calling conventions for complex numbers
  2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
                   ` (20 preceding siblings ...)
  2004-08-19 18:44 ` cvs-commit at gcc dot gnu dot org
@ 2004-08-19 19:01 ` rsandifo at gcc dot gnu dot org
  21 siblings, 0 replies; 23+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2004-08-19 19:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rsandifo at gcc dot gnu dot org  2004-08-19 19:01 -------
Patch now applied.  Thanks for all the help and testing.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |3.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16446


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2004-08-19 19:01 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-09  3:12 [Bug c/16446] New: Irix calling conventions for complex numbers billingd at gcc dot gnu dot org
2004-07-09  3:43 ` [Bug target/16446] " pinskia at gcc dot gnu dot org
2004-07-15  2:05 ` billingd at gcc dot gnu dot org
2004-07-18 12:32 ` rsandifo at gcc dot gnu dot org
2004-07-18 13:19 ` rsandifo at gcc dot gnu dot org
2004-07-18 21:53 ` billingd at gcc dot gnu dot org
2004-07-18 21:54 ` billingd at gcc dot gnu dot org
2004-07-18 22:07 ` billingd at gcc dot gnu dot org
2004-07-18 22:08 ` billingd at gcc dot gnu dot org
2004-07-18 22:11 ` billingd at gcc dot gnu dot org
2004-07-18 22:12 ` billingd at gcc dot gnu dot org
2004-07-19 17:13 ` rsandifo at gcc dot gnu dot org
2004-07-19 17:16 ` rsandifo at gcc dot gnu dot org
2004-07-20  1:50 ` billingd at gcc dot gnu dot org
2004-07-28 23:59 ` billingd at gcc dot gnu dot org
2004-07-29  6:04 ` rsandifo at redhat dot com
2004-08-01 23:36 ` david dot billinghurst at comalco dot riotinto dot com dot au
2004-08-02  9:40 ` david dot billinghurst at comalco dot riotinto dot com dot au
2004-08-05  0:02 ` billingd at gcc dot gnu dot org
2004-08-14  7:37 ` rsandifo at gcc dot gnu dot org
2004-08-14 14:36 ` david dot billinghurst at comalco dot riotinto dot com dot au
2004-08-19 18:44 ` cvs-commit at gcc dot gnu dot org
2004-08-19 19:01 ` rsandifo at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).