This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
middle-end/7285: unsigned-to-floating conversion not IA64 spec conformant
- From: jbeulich at novell dot com
- To: gcc-gnats at gcc dot gnu dot org
- Date: 12 Jul 2002 11:53:12 -0000
- Subject: middle-end/7285: unsigned-to-floating conversion not IA64 spec conformant
- Reply-to: jbeulich at novell dot com
>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: