This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

middle-end/7285: unsigned-to-floating conversion not IA64 spec conformant


>Number:         7285
>Category:       middle-end
>Synopsis:       unsigned-to-floating conversion not IA64 spec conformant
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 12 04:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Jan Beulich
>Release:        3.1
>Organization:
>Environment:
Cross compiler hosted on Cygwin/Win2K
>Description:
Since fcvt.xuf is an alias of fnorm (and hence pf fma),
it will always raise the denormal/unnormal exception (or if
disabled, set the status flag in ar.fpsr), but since this is
not intended, fpsr.sf1 should be used for these conversions
rather than fpsr.sf0. This is then consistent with fcvt.xf,
which never raises any exception.
>How-To-Repeat:
Compile code like

long double test(unsigned long long x) {return x;}

examine the result, and compare with the equivalent code
generated by Intel's compiler.
>Fix:
Add the .sf1 completer to all three floatunsdi?f2 insn-s in
ia64.md.
>Release-Note:
>Audit-Trail:
>Unformatted:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]