[Bug c/27562] New: SSE instruction selection wrong for Athlon processors.
GCC provides the programmer the ability to use SIMD instructions by primitives. These are defined in header files. Unfortunately, GCC follows Intel compiler conventions. But these conventions, dictated by Intel interests, not always reflect correctly the reality, specially of AMD processors. According to these conventions, there are four levels of SIMD instructions: Pentium MMX: MMX instructions. Pentium III and higher: MMX + SSE single precission floating point instructions. Pentium IV and higher: MMX + SSE single precission + SSE2 integer and double precission Newer Pentium IV: MMX + SSE + SSE2 + SSE3 This model does not reflect correctly AMD Atlon processors, that support SSE integer SIMD instructions but do not support SSE2 double precission instructions. While it is natural that Intel compiler is aligned with the company's interests, it is not acceptable that a vendor neutral free software project follows them. Thus it is necessary to add a new level that includes integer SSE instructions without including double precission SIMD instructions. What I request is: - A flag to support Athlon SSE set of instructions. As it is in the middle of SSE and SSE2 it might be called SSE1.5, with the option -msse1.5. - A header file that defines SSE integer instructions without define SSE double precission instructions. Since GCC already ships xmmintrin.h, a new header file immintrin.h could be added. This second part is trivial to do and in my opinion should be included in GCC 4.1.1. Both changes are backward compatible. -- Summary: SSE instruction selection wrong for Athlon processors. Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ramsgar-gccbug at yahoo dot com GCC target triplet: i586-anyone-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27562
[Bug ada/22387] New: GCC Ada compiler crash.
After compiling the attached file, the compilers shows this message. +===GNAT BUG DETECTED==+ | 4.0.0 (i686-pc-linux-gnu) Program_Error exp_ch5.adb:1160 duplicated entry address| | Error detected at bug_descriptor.ads:43:8| | Please submit a bug report; see http://gcc.gnu.org/bugs.html.| | Include the entire contents of this bug box in the report. | | Include the exact gcc or gnatmake command that you entered. | | Also include sources listed below in gnatchop format | | (concatenated together with no headers between files). | +==+ Please include these source files with error report Note that list may not be accurate in some cases, so please double check that the problem can still be reproduced with the set of files listed. list may be incomplete raised SYSTEM.ASSERTIONS.ASSERT_FAILURE : namet.adb:599 gnatmake: "bug_descriptor.ads" compilation error -- Summary: GCC Ada compiler crash. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ramsgar-gccbug at yahoo dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22387
[Bug ada/22387] GCC Ada compiler crash.
--- Additional Comments From ramsgar-gccbug at yahoo dot com 2005-07-09 18:52 --- Created an attachment (id=9235) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9235&action=view) Source files tiggering the bug -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22387
[Bug ada/22387] [4.0/4.1 Regression] GCC Ada compiler crash.
--- Additional Comments From ramsgar-gccbug at yahoo dot com 2005-07-10 22:23 --- The problem also happens with GCC 3.4.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22387
[Bug ada/22387] [4.0/4.1 Regression] GCC Ada compiler crash.
--- Additional Comments From ramsgar-gccbug at yahoo dot com 2005-07-10 22:59 --- Regression? The behaviour with GCC 3.3 is bogus as well. There should be no error message. In addition, both the error message with GCC 3.3 and the crash with GCC 3.4/4.0 go away by commenting the representation clauses for base'size use 64 for base use record end record; As you probably noticed, this code attempts to represent in Ada the descriptor of a segment in the x86 architecture. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22387