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

jbeulich@novell.com jbeulich@novell.com
Fri Jul 12 04:56:00 GMT 2002


>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:



More information about the Gcc-prs mailing list