This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
target/5381: __builtin_ia32_pmulhuw seems unknown to compiler
- From: David dot Kastrup at t-online dot de
- To: gcc-gnats at gcc dot gnu dot org
- Date: 14 Jan 2002 20:44:34 -0000
- Subject: target/5381: __builtin_ia32_pmulhuw seems unknown to compiler
- Reply-to: David dot Kastrup at t-online dot de
>Number: 5381
>Category: target
>Synopsis: __builtin_ia32_pmulhuw seems unknown to compiler
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Jan 14 12:46:02 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Myself
>Release: gcc version 3.1 20020106 (Red Hat Linux Rawhide 3.1-0.17)
>Organization:
>Environment:
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.1/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redhat-linux --with-system-zlib
Thread model: posix
>Description:
Strangely, while using -mmmx, __builtin_ia32_pmulhuw is unknown to the compiler, while, for example, __builtin_ia32_pmulhw seems known. Anyhow, as you can see from the generated code, the compiler fails to emit an emmx instruction at the end of the routine, leading to possible floating point errors after return.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="test.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test.c"