public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/68044] New: ceil() with -O3 and -masm=intel fails to compile
@ 2015-10-21 21:43 janisozaur+gcc at gmail dot com
  2015-10-21 22:08 ` [Bug c/68044] " pinskia at gcc dot gnu.org
  2015-10-21 23:43 ` joseph at codesourcery dot com
  0 siblings, 2 replies; 3+ messages in thread
From: janisozaur+gcc at gmail dot com @ 2015-10-21 21:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68044

            Bug ID: 68044
           Summary: ceil() with -O3 and -masm=intel fails to compile
           Product: gcc
           Version: 5.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: janisozaur+gcc at gmail dot com
  Target Milestone: ---

Created attachment 36559
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36559&action=edit
test case file

on Arch Linux with gcc 5.2.0, glibc 2.22-3

Test case to be compiled with:
gcc test.c -o test -m32 -O3 -masm=intel

the ceil() function is taken from /usr/include/bits/mathinline.h, verbatim
provided here:

__inline_mathcodeNP (ceil, __x, \
  register long double __value;                                               \
  register int __ignore;                                                      \
  unsigned short int __cw;                                                    \
  unsigned short int __cwtmp;                                                 \
  __asm __volatile ("fnstcw %3\n\t"                                           \
                    "movzwl %3, %1\n\t"                                       \
                    "andl $0xf3ff, %1\n\t"                                    \
                    "orl $0x0800, %1\n\t"       /* rounding up */             \
                    "movw %w1, %2\n\t"                                        \
                    "fldcw %2\n\t"                                            \
                    "frndint\n\t"                                             \
                    "fldcw %3"                                                \
                    : "=t" (__value), "=&q" (__ignore), "=m" (__cwtmp),       \
                      "=m" (__cw)                                             \
                    : "0" (__x));                                             \
  return __value)

This works fine without -masm=intel


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

* [Bug c/68044] ceil() with -O3 and -masm=intel fails to compile
  2015-10-21 21:43 [Bug c/68044] New: ceil() with -O3 and -masm=intel fails to compile janisozaur+gcc at gmail dot com
@ 2015-10-21 22:08 ` pinskia at gcc dot gnu.org
  2015-10-21 23:43 ` joseph at codesourcery dot com
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2015-10-21 22:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68044

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is a bug in the glibc headers for not supporting the alternative
inline-Asm. Please report it to them.


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

* [Bug c/68044] ceil() with -O3 and -masm=intel fails to compile
  2015-10-21 21:43 [Bug c/68044] New: ceil() with -O3 and -masm=intel fails to compile janisozaur+gcc at gmail dot com
  2015-10-21 22:08 ` [Bug c/68044] " pinskia at gcc dot gnu.org
@ 2015-10-21 23:43 ` joseph at codesourcery dot com
  1 sibling, 0 replies; 3+ messages in thread
From: joseph at codesourcery dot com @ 2015-10-21 23:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68044

--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
I don't think use of -masm=intel is within the scope of what glibc wants 
to support for inline asm in its headers.  Rather, GCC should be made to 
inline the relevant function if it doesn't already, and then the glibc 
macro disabled for recent-enough GCC.


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

end of thread, other threads:[~2015-10-21 23:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-21 21:43 [Bug c/68044] New: ceil() with -O3 and -masm=intel fails to compile janisozaur+gcc at gmail dot com
2015-10-21 22:08 ` [Bug c/68044] " pinskia at gcc dot gnu.org
2015-10-21 23:43 ` joseph at codesourcery dot com

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