From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2073 invoked by alias); 28 Jan 2003 17:31:17 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 2051 invoked from network); 28 Jan 2003 17:31:16 -0000 Received: from unknown (HELO caip.rutgers.edu) (128.6.236.10) by 172.16.49.205 with SMTP; 28 Jan 2003 17:31:16 -0000 Received: (from ghazi@localhost) by caip.rutgers.edu (8.9.3/8.9.3) id MAA04631; Tue, 28 Jan 2003 12:31:15 -0500 (EST) Date: Tue, 28 Jan 2003 19:23:00 -0000 From: "Kaveh R. Ghazi" Message-Id: <200301281731.MAA04631@caip.rutgers.edu> To: aoliva@redhat.com Subject: Re: Irix6 long doubles implemented wrong? (27_io/ostream_inserter_arith) Cc: gcc-bugs@gcc.gnu.org, gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org, libstdc++@gcc.gnu.org, oldham@codesourcery.com, ro@TechFak.Uni-Bielefeld.DE, rth@redhat.com References: <200212170531.AAA15561@caip.rutgers.edu> <200212241434.JAA22361@caip.rutgers.edu> <20030107221549.GR12992@redhat.com> <20030110011352.GF9245@redhat.com> <200301191731.MAA18215@caip.rutgers.edu> <200301261700.MAA15626@caip.rutgers.edu> <200301270502.AAA04637@caip.rutgers.edu> <200301280219.VAA24441@caip.rutgers.edu> <200301281710.MAA00143@caip.rutgers.edu> X-SW-Source: 2003-01/txt/msg01490.txt.bz2 > From: "Kaveh R. Ghazi" > > My knowledge of assembly is limited and I'm certainly no floating > point expert. But it seems to me that the routines for * / + and - > are named __q_mul, __q_div, __q_add and __q_sub. There are widening > routines named __q_ext and __q_extd for widening a float and a double > respectively. Is there any other operation we need to figure out? Poking around some more turned up these routines in libc.so. [662] | 263004512| 40|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_ext [663] | 263004592| 44|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_floti [664] | 263004636| 44|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_flotj [665] | 263004680| 52|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_flotju [666] | 263004800| 112|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_flotku [667] | 263005200| 48|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_ne [668] | 263005248| 28|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_neg [672] | 262962368| 1236|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_mul [3293] | 263003000| 1464|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_div [3294] | 263004464| 48|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_eq [3295] | 263004552| 40|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_extd [3296] | 263004732| 68|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_flotk [3297] | 263004912| 72|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_ge [3298] | 263004984| 72|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_gt [3299] | 263005056| 72|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_le [3300] | 263005128| 72|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_lt [3301] | 262961324| 1044|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_add [3302] | 262963604| 1052|FUNC |GLOB |DEFAULT |MIPS_TEXT|__q_sub I think it's obvious some are comparison operators. The ones with __q_flot* seem to be integer conversions, but I'm not sure what each one does specifically. -- Kaveh R. Ghazi ghazi@caip.rutgers.edu