History log of /freebsd-9.3-release/contrib/gcc/config/i386/i386.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

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

# 260075 30-Dec-2013 pfg

MFC r259005, r259092:

gcc: Add -flax-vector-conversions
gcc: new fvisibility-ms-compat option

These are useful for compatibility with newwer gcc and clang.

Obtained from: gcc 4.3 (rev. 120572, 120688, 126088; GPLv2)


# 252080 22-Jun-2013 pfg

MFC r251212, r251480:

GCC: bring back experimental support for amdfam10/barcelona CPUs.

This is a revised subset of the support initially brought in in r236962
and later reverted. The collateral efects seem to have disappeared but
it is still recommended to set the CPUTYPE with caution.

While here also install AMD intrinsics header ammintrin.h

Reviewed by: jkim (ages ago)


# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 219711 17-Mar-2011 mm

Backport missing tunings for -march=core2:
- enable extra 80387 mathematical constants (ext_80387_constants) [1]
- enable compare and exchange 16 bytes (cmpxchg16b) [2]

Verified against llvm-gcc (and apple gcc)

Obtained from: gcc-4.3 (ref. svn revs. 119260 [1], 121140 [2]; GPLv2)
MFC after: 2 weeks


# 219639 14-Mar-2011 mm

Backport SSSE3 instruction set support to base gcc.
Enabled by default for -march=core2

Obtained from: gcc 4.3 (rev. 117958, 121687, 121726, 123639; GPLv2)
MFC after: 2 weeks


# 219374 07-Mar-2011 mm

Backport Intel Core 2 and AMD Geode CPU types from gcc-4.3 (GPLv2)
These options are supported in this shape in all newer GCC versions.

PR: gnu/155308
Obtained from: gcc 4.3 (rev. 118090, 118973, 120846; GPLv2)
MFC after: 2 weeks


# 218895 20-Feb-2011 mm

Backport svn r124339 from gcc 4.3 and add opteron-sse3, athlon64-sse3
and k8-sse3 cpu-types for -march=/-mtune= gcc options.
These new cpu-types include the SSE3 instruction set that is supported
by all newer AMD Athlon 64 and Opteron processors.
All three cpu-types are supported by clang and all gcc versions
starting with 4.3 SVN rev 124339 (at that time GPLv2 licensed).

PR: gnu/154906
Discussed with: kib, kan, dim
Obtained from: gcc 4.3 (r124339, GPLv2 licensed)
MFC after: 2 weeks


# 198344 21-Oct-2009 jhb

Change gcc to assume a default machine architecture of 486 instead of 386
on "i386". Doing it in the compiler is deemed to be less fragile then
attempting to provide a default -march setting via bsd.cpu.mk. FreeBSD
itself has not supported plain 386 CPUs since 5.x.

Suggested by: kan
Requested by: rdivacky
MFC after: 1 month


# 171836 14-Aug-2007 kan

Update locally changed files to GCC 4.2.1.

Approved by: re (kensmith)


# 169705 19-May-2007 kan

Merge local FreeBSD changes for -mno-align-long-strings.


# 161660 26-Aug-2006 kan

Resolve conflicts after GCC 3.4.6 20060825 import.


# 146908 03-Jun-2005 kan

Merge conflicts for GCC 3.4.4.


# 132743 28-Jul-2004 kan

Merge r1.11 (-mno-align-long-strings).


# 130744 19-Jun-2004 obrien

Grrr. our rev 1.19 (FSF GCC rev 1.579) is causing some problems on 32-bit
systems. So only use the rev 1.19 (FSF GCC rev 1.579) change on 64-bit
systems.


# 130711 19-Jun-2004 obrien

Merge FSF GCC rev 1.579 change ((x86_output_mi_thunk): Don't pass MEM to
%P0, just SYMBOL_REF) into GCC 3.3.3. This fixes the bad C++ thunks code
generation building Firefox on AMD64.

Submitted by: Sean McNeil <sean@mcneil.com>


# 122194 07-Nov-2003 kan

Merge r1.11 (-mno-align-long-strings).


# 117408 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.11 -mno-align-long-strings.


# 110628 10-Feb-2003 kan

Merge FreeBSD modifications into gcc 3.2.2 release:
1.11 -mno-align-long-strings.
Note the change 1.15 is not needed anymore.


# 108173 22-Dec-2002 kan

Fix a bug in GCC which effectively prevents DEFAULT_PCC_STRUCT_RETURN from
having any effect. This restores a calling convention traditionally used
by FreeBSD/i386 and which is expected by a number of assembly sources
in libc.

Reviewed by: obrien
Approved by: re (rwatson)


# 107597 04-Dec-2002 obrien

Merge rev 1.11 (-mno-align-long-strings) into Gcc 3.2.1 release.


# 104767 10-Oct-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.11 -mno-align-long-strings

Approved by: obrien


# 102800 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.11 -mno-align-long-strings

Approved by: obrien


# 97911 06-Jun-2002 obrien

Implement "-mno-align-long-strings" which prevents pessimization of strings
for space. -Os could do this, but it was easy to hack an MD version.
This saves a whole 32 bytes in boot2, so I think it is worth using it.
(keep how much worse gcc 3.2 will compile boot2...)

Submitted by: bde (minus gcc 3.2 commentary)


# 97827 04-Jun-2002 obrien

The brokenness in ix86_expand_clrstr is quite visible when you
compare the function with ix86_expand_movstr.

Submitted by: Tor Egge


# 96293 09-May-2002 obrien

Use the stock file for now (but leave a note behind about our OBE changes).


# 90284 06-Feb-2002 obrien

Use the stock file for now.

The changes from GCC 2.95.3 to 3.1 are large and it is hard to figure
out how to apply our changes. Once BDE can properly test GCC 3.1 he'll
add back in our changes.


# 56810 29-Jan-2000 obrien

Fix our -mprofiler-epilogue code.

"The problem is that egcs/gcc-2.95's reorganisation of the prologue and
epilogue code to use rtl instead of output_asm_insn() completely broke our
hooks. rtl is emitted in a different order, only after optimisation, while
output_asm_insn() is emitted immediately. rtl is presumably used so that
the prologue and epilogue can be optimised.

I couldn't find any good examples to copy. gcc's own
FUNCTION_BLOCK_PROFILER still uses output_asm_insn() and seems to be
completely broken. One of the XXX comments points to this.

IIRC, the hacks here basically arrange to emit magic label names; then when
the magic names are output, they are transformed into prologue and epilogue
code."

Submitted by: bde


# 53177 15-Nov-1999 obrien

Add rev 1.2 profiling tweaks, to GCC 2.95.2.


# 52294 16-Oct-1999 obrien

Bring our profiling tweaks from rev 1.2 into GCC 2.95.1.


# 51411 19-Sep-1999 obrien

Bring our profiling tweaks into EGCS 1.1.2.


# 37312 30-Jun-1998 bde

Fixed printf format errors.


# 18349 18-Sep-1996 peter

Merge in freebsd-specific changes


# 18335 18-Sep-1996 peter

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


# 18334 18-Sep-1996 peter

Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the
non-i386, non-unix, and generatable files have been trimmed, but can easily
be added in later if needed.

gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's
handy to have both available for reference for such little cost.

The freebsd-specific changes will then be committed, and once the dust has
settled, the bmakefiles will be committed to use this code.