Home | History | Annotate | Download | only in 64
History log of /src/external/gpl3/gcc/dist/libgcc/config/i386/64/sfp-machine.h
RevisionDateAuthorComments
 1.1  21-Jun-2011  mrg branches: 1.1.1;
Initial revision
 1.1.1.5  13-Sep-2025  mrg initial import of GCC 14.3.0.

major changes in GCC 13:
- improved sanitizer
- zstd debug info compression
- LTO improvements
- SARIF based diagnostic support
- new warnings: -Wxor-used-as-pow, -Wenum-int-mismatch, -Wself-move,
-Wdangling-reference
- many new -Wanalyzer* specific warnings
- enhanced warnings: -Wpessimizing-move, -Wredundant-move
- new attributes to mark file descriptors, c++23 "assume"
- several C23 features added
- several C++23 features added
- many new features for Arm, x86, RISC-V

major changes in GCC 14:
- more strict C99 or newer support
- ia64* marked deprecated (but seemingly still in GCC 15.)
- several new hardening features
- support for "hardbool", which can have user supplied values of true/false
- explicit support for stack scrubbing upon function exit
- better auto-vectorisation support
- added clang-compatible __has_feature and __has_extension
- more C23, including -std=c23
- several C++26 features added
- better diagnostics in C++ templates
- new warnings: -Wnrvo, Welaborated-enum-base
- many new features for Arm, x86, RISC-V
- possible ABI breaking change for SPARC64 and small structures with arrays
of floats.
 1.1.1.4  30-Jul-2023  mrg initial import of GCC 12.3.0.

major changes in GCC 11 included:

- The default mode for C++ is now -std=gnu++17 instead of -std=gnu++14.
- When building GCC itself, the host compiler must now support C++11,
rather than C++98.
- Some short options of the gcov tool have been renamed: -i to -j and
-j to -H.
- ThreadSanitizer improvements.
- Introduce Hardware-assisted AddressSanitizer support.
- For targets that produce DWARF debugging information GCC now defaults
to DWARF version 5. This can produce up to 25% more compact debug
information compared to earlier versions.
- Many optimisations.
- The existing malloc attribute has been extended so that it can be
used to identify allocator/deallocator API pairs. A pair of new
-Wmismatched-dealloc and -Wmismatched-new-delete warnings are added.
- Other new warnings:
-Wsizeof-array-div, enabled by -Wall, warns about divisions of two
sizeof operators when the first one is applied to an array and the
divisor does not equal the size of the array element.
-Wstringop-overread, enabled by default, warns about calls to string
functions reading past the end of the arrays passed to them as
arguments.
-Wtsan, enabled by default, warns about unsupported features in
ThreadSanitizer (currently std::atomic_thread_fence).
- Enchanced warnings:
-Wfree-nonheap-object detects many more instances of calls to
deallocation functions with pointers not returned from a dynamic
memory allocation function.
-Wmaybe-uninitialized diagnoses passing pointers or references to
uninitialized memory to functions taking const-qualified arguments.
-Wuninitialized detects reads from uninitialized dynamically
allocated memory.
-Warray-parameter warns about functions with inconsistent array forms.
-Wvla-parameter warns about functions with inconsistent VLA forms.
- Several new features from the upcoming C2X revision of the ISO C
standard are supported with -std=c2x and -std=gnu2x.
- Several C++20 features have been implemented.
- The C++ front end has experimental support for some of the upcoming
C++23 draft.
- Several new C++ warnings.
- Enhanced Arm, AArch64, x86, and RISC-V CPU support.
- The implementation of how program state is tracked within
-fanalyzer has been completely rewritten with many enhancements.

see https://gcc.gnu.org/gcc-11/changes.html for a full list.

major changes in GCC 12 include:

- An ABI incompatibility between C and C++ when passing or returning
by value certain aggregates containing zero width bit-fields has
been discovered on various targets. x86-64, ARM and AArch64
will always ignore them (so there is a C ABI incompatibility
between GCC 11 and earlier with GCC 12 or later), PowerPC64 ELFv2
always take them into account (so there is a C++ ABI
incompatibility, GCC 4.4 and earlier compatible with GCC 12 or
later, incompatible with GCC 4.5 through GCC 11). RISC-V has
changed the handling of these already starting with GCC 10. As
the ABI requires, MIPS takes them into account handling function
return values so there is a C++ ABI incompatibility with GCC 4.5
through 11.
- STABS: Support for emitting the STABS debugging format is
deprecated and will be removed in the next release. All ports now
default to emit DWARF (version 2 or later) debugging info or are
obsoleted.
- Vectorization is enabled at -O2 which is now equivalent to the
original -O2 -ftree-vectorize -fvect-cost-model=very-cheap.
- GCC now supports the ShadowCallStack sanitizer.
- Support for __builtin_shufflevector compatible with the clang
language extension was added.
- Support for attribute unavailable was added.
- Support for __builtin_dynamic_object_size compatible with the
clang language extension was added.
- New warnings:
-Wbidi-chars warns about potentially misleading UTF-8
bidirectional control characters.
-Warray-compare warns about comparisons between two operands of
array type.
- Some new features from the upcoming C2X revision of the ISO C
standard are supported with -std=c2x and -std=gnu2x.
- Several C++23 features have been implemented.
- Many C++ enhancements across warnings and -f options.

see https://gcc.gnu.org/gcc-12/changes.html for a full list.
 1.1.1.3  01-Mar-2014  mrg import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

GCC now has stricter checks for invalid command-line options
New -Wunused-but-set-variable and -Wunused-but-set-parameter
warnings
Many platforms have been obsoleted
Link-time optimization improvements
A new switch -fstack-usage has been added
A new function attribute leaf was introduced
A new warning, enabled by -Wdouble-promotion
Support for selectively enabling and disabling warnings via
#pragma GCC diagnostic has been added
There is now experimental support for some features from the
upcoming C1X revision of the ISO C standard
Improved experimental support for the upcoming C++0x ISO C++
standard
G++ now issues clearer diagnostics in several cases
Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
__float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

The -fconserve-space flag has been deprecated
Support for a new parameter --param case-values-threshold=n
was added
Interprocedural and Link-time optimization improvements
A new built-in, __builtin_assume_aligned, has been added
A new warning option -Wunused-local-typedefs was added
A new experimental command-line option -ftrack-macro-expansion
was added
Support for atomic operations specifying the C++11/C11 memory
model has been added
There is support for some more features from the C11 revision
of the ISO C standard
Improved experimental support for the new ISO C++ standard,
C++11
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

GCC now uses C++ as its implementation language. This means
that to build GCC from sources, you will need a C++
compiler that understands C++ 2003
DWARF4 is now the default when generating DWARF debug
information
A new general optimization level, -Og, has been introduced
A new option -ftree-partial-pre was added
The option -fconserve-space has been removed
The command-line options -fipa-struct-reorg and
-fipa-matrix-reorg have been removed
Interprocedural and Link-time optimization improvements
AddressSanitizer, a fast memory error detector, has been
added [*2]
A new -Wsizeof-pointer-memaccess warning has been added
G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the
standard, expected around 2014
Improved experimental support for the new ISO C++ standard,
C++11
A new port has been added to support AArch64
Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
https://code.google.com/p/address-sanitizer/
 1.1.1.2  18-Sep-2012  skrll Import of gcc 4.5.4. The (possibly incomplete) list of fixed bugs is

50617 [4.5/4.6/4.7 Regression] ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with unexpected rtx code 'simplify_immed_subreg' in output_bb, at config/pa/pa.c:6631
45383 [4.5 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
45606 [4.5 Regression] match a method prototyped a typedef alias with the original type (using stdlib)
47398 [4.5 Regression] tree check: accessed elt 10 of tree_vec with 9 elts in tsubst, at cp/pt.c:10500
49951 [4.5/4.6/4.7 Regression] Debug stepping behavior regarding g++ Class destructor has changed for the worse starting at gcc 4.5.0
43190 [4.4 Regression] Used pointer typedefs eliminated from debug info
43866 [4.4 Regression] wrong code with -fbounds-check -funswitch-loops
43897 [4.4 Regression] IA-64 asm clobbers are ignored
44777 [4.4 Regression] ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute/comp-goto-2.c
46985 [4.5 Regression] ICE: SIGSEGV in is_gimple_min_invariant (gimple.c:2742) with -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-fre
47780 [4.5 Regression] -fcompare-debug failure with -O -fgcse -fgcse-las -fstack-protector-all
47858 [4.5/4.6/4.7 Regression] IPA-SRA decreases quality of debug info
47903 [4.5 Regression] var-tracking.c: valgrind error
48685 [4.5 Regression] ICE in gimplify_expr, at gimplify.c:7034
52139 [4.5 Regression] ICE: in remove_insn, at emit-rtl.c:3960 with -O -fPIC -fno-tree-dominator-opts -fno-tree-fre
48046 [4.5 Regression] Expected diagnostic "reference to 'type' is ambiguous" not given for function-local static declaration
51406 [4.5/4.6/4.7 Regression][c++0x] Incorrect result of static_cast to rvalue reference to base class.
43949 [4.4 Regression] bogus warning: array subscript is above array bounds
45982 [4.4 Regression] PTA does not track integers
48172 [4.5 Regression] incorrect vectorization of loop in GCC 4.5.* with -O3
49115 [4.5 Regression] invalid return value optimization (?) when exception is thrown and caught
49279 [4.5 Regression] Optimization incorrectly presuming constant variable inside loop in g++ 4.5 and 4.6 with -O2 and -O3 for x86_64 targets
50189 [4.5 Regression] Wrong code error in -O2 [-fstrict-enums] compile, target independent
48660 [4.5/4.6 Regression] ARM ICE in expand_expr_real_1
23656 Cross-compilation with newlib fails in libiberty
37985 [4.5/4.6/4.7/4.8 Regression] unsigned char shift lacks "statement with no effect" warning
38292 [4.5/4.6/4.7/4.8 Regression] corrupted profile info with -O[23] -fprofile-use
40778 [4.5 Regression] Mudflap instrumentation missing in cloned function.
40992 [4.4 Regression] cunroll ignoring asm size
48306 [4.4 Regression] presence of gcc subdir with . in PATH causes breakdown
49651 [4.4 Regression] nested lambdas and -O3 produced incorrect integer variable increments
52223 [4.5/4.6 Regression] libffi's man page install breaks with multilibs and overridden mandir
53418 [4.5 Regression] ICE at gimplify.c:7773
53138 [4.7 Regression] spaceship operator miscompiled
50091 [4.5/4.6/4.7 Regression] -fstack-check generates wrong assembly
50979 architecture mismatch: "mul32" not enabled for "smul" or "umul"
51187 miscompilation of genrecog.c at -O2 for --target=avr
52717 thunk referenced in discarded section when building samba with -flto
48742 [4.5 Regression] Internal error in gimplify_expr
49120 [4.5 Regression] bogus "value computed is not used" warning (variable-length array in compound statement)
49161 [4.5 Regression] Fix VRP on switch stmts
49619 [4.5 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362
49621 [4.5 regression] ICE in trunc_int_for_mode, at explow.c:57
49644 [4.5 Regression] post-increment of promoted operand is incorrect.
51767 [4.5 Regression] ICE with degenerated asm goto
51768 [4.5 Regression] ICE with invalid asm goto
52736 [4.5/4.6/4.7/4.8 Regression] miscompilation: store to aliased __m128d is 8 Bytes off
49440 [4.6 regression] Invalid dynamic_cast for unnamed namespace
50565 [4.5/4.6/4.7 Regression] initializer element is not computable at load time
52294 [4.7 Regression] [ARM Thumb] generated asm code produces "branch out of range" error in gas with -Os -mcpu=cortex-a9
41159 [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225
48822 [4.5 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.
50162 [4.5 Regression] Wrong vectorization
49381 Unresolved symbols in libgcjgc.a when linking gctest
45786 [4.5 Regression] Relational operators .eq. and == are not recognized as equivalent
48708 Invalid V2DI vector set insn generated
50464 Using -Ofast -march=bdver1 results in internal compiler error: in extract_insn, at recog.c:2109
51821 [4.5/4.6/4.7 Regression] 64bit > 32bit conversion produces incorrect results with optimizations
52698 -maddress-mode=long doesn't work
53228 [4.6/4.7/4.8 Regression] target attributes in libcpp/lex.c cause illegal instructions to be used elsewhere
42082 [C++0x] ICE on probably invalid with "canonical types differ for identical types"
42652 vectorizer created unaligned vector insns
42856 [4.4 Regression] FAIL: gcc.dg/torture/pr41555.c -O0 (test for excess errors)
47733 psignal (int, const? char*) in libiberty/strsignal.h
48743 -march=native mis-detects AMD K6-2+ / K6-3 as Athlon - compiled C fails with "illegal instruction"
49038 [4.5/4.6/4.7 Regression] -ftree-vectorise introduces reads past end of array
49448 arm-tab-linux-gnu-eabi enableds big endian when it should not
49461 boehm-gc and gcj incompatible with pie
50875 O3 and -mavx lead to internal compiler error: in find_reloads
51161 [C++0x] Illegal static_cast to rvalue reference to ambiguous base class
51393 Wrong parameter type for _mm256_insert_epi64 in avxintrin.h
51444 [4.4 Regression]: Spurious "is used uninitialized" warning for structure with bitfields
51835 ARM EABI violation when passing arguments to helper floating functions like __aeabi_d2iz
52894 [4.5,4.6,4.7 Regression] Stage1 bootstrap fails with gcc-4.6.3: Infinite loop in pointer_set_insert
53310 [4.5/4.6/4.7/4.8 Regression] EOSHIFT leaks memory
53744 gcov version oscillates between 407* and 407p on branches
52335 [4.4/4.5/4.6/4.7 Regression] I/O: -std=f95 rejects valid DELIM= in OPEN
46192 [4.5/4.6/4.7 regression] wrong code for renaming of volatile packed array with address clause
44581 [4.5/4.6/4.7 Regression] internal compiler error: in simplify_subreg
49307 [4.5/4.6/4.7 Regression] ICE in spill_failure, at reload1.c:2113
50163 [4.4/4.5/4.6/4.7 Regression] ICE: initialization expression
50273 [4.5/4.6/4.7 Regression] -Walign-commons no longer effective
52022 [4.5/4.6/4.7 Regression] Wrong-code with procedures passed as actual argument
52452 [4.5/4.6/4.7/4.8 Regression] INTRINSIC cannot be applied to gfortran's ETIME
25973 [4.5/4.6/4.7/4.8 Regression] Wrong warning: control reaches end of non-void function
53521 [4.5/4.6/4.7/4.8 Regression] Memory leak with zero-sized array constructor
 1.1.1.1  21-Jun-2011  mrg branches: 1.1.1.1.2; 1.1.1.1.8;
initial import of GCC 4.5.3 sources. changes since 4.1 are way too numerous
to review, please see http://gcc.gnu.org/gcc-4.5/changes.html (and the 4.2,
4.3 and 4.4 versions, too.)

this includes the core, c++, objc and the non java/ada/fortran parts of the
testsuite.
 1.1.1.1.8.2  19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.1.1.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.2.1  30-Oct-2012  yamt sync with head

RSS XML Feed