History log of /freebsd-10.0-release/contrib/gcc/builtins.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 237021 13-Jun-2012 pfg

Revert r236962 - Experimental amdfam10/barcelona support.

The patches are unexpectedly causing gcc to fail while
building ports/graphics/ImageMagick even when the cpu
flags are not used.

Reported by: Andreas Tobler


# 236962 12-Jun-2012 pfg

Add experimental support for amdfam10/barcelona from the GCC 4.3 branch.

Initial support for the AMD barcelona chipsets has been available in the
gcc43 branch under GPLv2 but was not included when the Core 2 support
was brought to the system gcc.

AMD and some linux distributions (OpenSUSE) did a backport of the amdfam10
support and made them available. Unfortunately this is still experimental
and while it can improve performance, enabling the CPUTYPE may break some
C++ ports (like clang).

Special care was taken to make sure that the patches predate the GPLv3
switch upstream.

Tested by: Vladimir Kushnir
Reviewed by: mm
Approved by: jhb (mentor)
MFC after: 2 weeks


# 233923 05-Apr-2012 pfg

Fix a typo in GCC affecting calculations with -ffast-math.

The fix is similar to the one applied in GCC-4.3 in
GCCSVN-r117929 under the GPLv2.

Submitted by: Andrey Simonenko
Reviewed by: mm
Approved by: jhb (mentor)
MFC after: 3 days


# 228756 21-Dec-2011 pfg

Clean an inconsistency with -ffinite-math-only.
Backported from the gcc-4_3-branch, revision 118001,
under the GPLv2.

This issue was also fixed in Apple's gcc.

PR: 157025
Reviewed by: mm
Approved by: jhb (mentor)
MFC: 2 weeks


# 169699 19-May-2007 kan

FreeBSD uses unchanged versions of this files.


# 161660 26-Aug-2006 kan

Resolve conflicts after GCC 3.4.6 20060825 import.


# 146906 03-Jun-2005 kan

Stock files.


# 132727 28-Jul-2004 kan

Use stock GCC versions on these files.


# 122190 07-Nov-2003 kan

No FreeBSD-local changes in these files.


# 117404 11-Jul-2003 kan

FreeBSD uses stock versions of these GCC files.


# 110621 10-Feb-2003 kan

Update HEAD with stock GCC 3.2.2 release files.


# 107604 04-Dec-2002 obrien

Use pure stock files.


# 102805 01-Sep-2002 kan

Revert rev. 1.2. GCC 3.2 seems to have builtin_memset fixed.

Approved by: obrien


# 97826 04-Jun-2002 obrien

Gcc 3.1 (-O) now generates broken inline code for memset in some cases.
This broke newfs (newfs left some garbage in a bitmap).

The ASM for:

#include <string.h>
int x, foo[100];
main()
{
memset(&foo[0], 0, x);
}

is (at least if you have fixed function alignment):

.file "z.c"
.text
.p2align 2,,3
.globl main
.type main,@function
main:
pushl %ebp
movl %esp, %ebp
pushl %edi
pushl %eax
movl x, %ecx
xorl %eax, %eax
shrl $2, %ecx
movl $foo, %edi
cld
rep
stosl
andl $-16, %esp
<-- the lower bits of `len' should be loaded
near here
testl $2, %edi <-- this seems to be meant to test the 2^1
bit in `len' (not alignment of the pointer
like it actually does). %edi is the wrong
register for holding the bits, since it is
still needed for the pointer.
je .L2
stosw
.L2:
testl $1, %edi <-- similarly for the 2^0 bit.
je .L3
stosb
.L3:
movl -4(%ebp), %edi
leave
ret
.Lfe1:
.size main,.Lfe1-main
.comm foo,400,32
.comm x,4,4
.ident "GCC: (GNU) 3.1 [FreeBSD] 20020509 (prerelease)"

This seems to only result in (len % 3) bytes not being cleared, since gcc
doesn't seem to use the builtin memset unless it knows that the pointer is
aligned. If %edi could be misaligned, then too many bytes would be set.

Submitted by: BDE


# 96490 13-May-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r96489,
which included commits to RCS files with non-trunk default branches.


# 96489 13-May-2002 obrien

Cause CVS to sync up checked out source bases with Gcc 3.1 bits after
the repo surgery to cut out the abortive Gcc 2.9[67] imports.


# 96263 09-May-2002 obrien

Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT.


# 90075 01-Feb-2002 obrien

Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.