public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: basic-improvements merge status
@ 2002-12-16 13:52 David Edelsohn
  2002-12-16 13:57 ` Zack Weinberg
  2002-12-16 14:29 ` Jan Hubicka
  0 siblings, 2 replies; 67+ messages in thread
From: David Edelsohn @ 2002-12-16 13:52 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: gcc, libstdc++

	The GCC 3.4BIB libstdc++-v3 failure of 26_numerics/c_math.cc on
AIX is occurring because libstdc++-v3/libmath/stubs.c functions are
recursing.

#ifndef HAVE_SINF
float
sinf(float x)
{
  return (float) sin(x);
}
#endif

is being compiled as

	bl sinf

In other words, recursing and calling itself.  This even appears in the
stubs.c.00.rtl dump:

(insn 11 10 12 0 (set (reg:SF 33 f1)
        (reg/v:SF 119)) -1 (nil)
    (insn_list:REG_LIBCALL 13 (nil)))

(call_insn/u 12 11 13 0 (parallel [
            (set (reg:SF 33 f1)
                (call (mem:SI (symbol_ref:SI ("sinf[DS]")) [0 S4 A8])
                    (const_int 32 [0x20])))
            (use (const_int 0 [0x0]))
            (clobber (scratch:SI))
        ]) -1 (nil)
    (expr_list:REG_EH_REGION (const_int -1 [0xffffffffffffffff])
        (nil))
    (expr_list (use (mem:BLK (scratch) [0 A8]))
        (expr_list (use (reg:SF 33 f1))
            (nil))))

(insn 13 12 14 0 (set (reg:SF 121)
        (reg:SF 33 f1)) -1 (nil)
    (insn_list:REG_RETVAL 11 (expr_list:REG_EQUAL (expr_list (use (mem:BLK (scra
tch) [0 A8]))
                (expr_list (symbol_ref:SI ("sinf[DS]"))
                    (expr_list (reg/v:SF 119)
                        (nil))))
            (nil))))

Any idea what change in GCC 3.4BIB is causing GCC to "optimize"

	(float) sin(x)

as

	sinf(x)?

Thanks, David

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

end of thread, other threads:[~2002-12-18  9:41 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-16 13:52 basic-improvements merge status David Edelsohn
2002-12-16 13:57 ` Zack Weinberg
2002-12-16 14:23   ` David Edelsohn
2002-12-16 14:27     ` Jan Hubicka
2002-12-16 14:47       ` Neil Booth
2002-12-16 15:10         ` Jan Hubicka
2002-12-17  0:50           ` Gabriel Dos Reis
2002-12-17 15:54             ` Richard Henderson
2002-12-17 16:14               ` Gabriel Dos Reis
2002-12-18  5:29                 ` Jan Hubicka
2002-12-17 16:19               ` Matt Austern
2002-12-17 16:31                 ` Phil Edwards
2002-12-16 21:32         ` Joseph S. Myers
2002-12-16 17:01       ` Mark Mitchell
2002-12-17  0:47     ` Gabriel Dos Reis
2002-12-17  0:54       ` Jan Hubicka
2002-12-17  1:19         ` Gabriel Dos Reis
2002-12-16 14:29 ` Jan Hubicka
2002-12-16 14:29   ` David Edelsohn
2002-12-16 14:35     ` Jan Hubicka
2002-12-17  0:55     ` Gabriel Dos Reis
2002-12-17  0:58       ` Jan Hubicka
2002-12-17  1:53         ` Gabriel Dos Reis
2002-12-17  4:16           ` Jan Hubicka
2002-12-17  4:29             ` Fergus Henderson
2002-12-17  8:39             ` Gabriel Dos Reis
2002-12-17 13:58               ` Jan Hubicka
2002-12-16 14:44   ` David Edelsohn
2002-12-16 14:45     ` Jan Hubicka
2002-12-16 14:52       ` David Edelsohn
2002-12-16 14:54         ` Jan Hubicka
2002-12-16 17:05           ` Mark Mitchell
2002-12-17  0:44             ` Jan Hubicka
2002-12-17  0:46               ` Mark Mitchell
2002-12-17  0:51                 ` Jan Hubicka
2002-12-17  4:10                   ` Joseph S. Myers
2002-12-17  7:06                     ` Gabriel Dos Reis
2002-12-17 11:42                       ` Joseph S. Myers
2002-12-17  9:43                   ` Mark Mitchell
2002-12-17 14:06                     ` Jan Hubicka
2002-12-17 14:18                       ` Gabriel Dos Reis
2002-12-17 14:36                     ` Implicit generation of runtime calls Jan Hubicka
2002-12-17 14:51                       ` Jan Hubicka
2002-12-17  0:54                 ` basic-improvements merge status Jan Hubicka
2002-12-17  3:24                   ` Gabriel Dos Reis
2002-12-17  4:28                     ` Hot to configure sinf? Jan Hubicka
2002-12-17  8:24                       ` Gabriel Dos Reis
2002-12-17  1:51                 ` basic-improvements merge status Gabriel Dos Reis
2002-12-17 21:31                   ` Alexandre Oliva
2002-12-17 21:21                 ` Alexandre Oliva
2002-12-18  5:44                   ` Jan Hubicka
2002-12-17  1:16             ` Gabriel Dos Reis
2002-12-16 15:05         ` [libstdc++] " Jan Hubicka
2002-12-16 15:40       ` Dale Johannesen
2002-12-16 16:16         ` Jan Hubicka
2002-12-16 17:12           ` Dale Johannesen
2002-12-16 19:16             ` Fergus Henderson
2002-12-17  1:14           ` Gabriel Dos Reis
2002-12-17  3:48             ` Joseph S. Myers
2002-12-16 15:55       ` Benjamin Kosnik
2002-12-16 16:10         ` Jan Hubicka
2002-12-16 15:56     ` Andrew Pinski
2002-12-17  0:53   ` Gabriel Dos Reis
2002-12-17  0:56     ` Jan Hubicka
2002-12-17  1:22       ` Gabriel Dos Reis
2002-12-17  3:20         ` Gabriel Dos Reis
2002-12-17  2:12     ` Gabriel Dos Reis

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).