This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Irix6 long doubles implemented wrong? (27_io/ostream_inserter_arith)
> 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