History log of /freebsd-10-stable/share/mk/bsd.cpu.mk
Revision Date Author Comments
# 324135 30-Sep-2017 ngie

MFC r322441:

Delete trailing whitespace


# 290014 26-Oct-2015 vangyzen

Disable SSE in libthr

Clang emits SSE instructions on amd64 in the common path of
pthread_mutex_unlock. If the thread does not otherwise use SSE,
this usage incurs a context-switch of the FPU/SSE state, which
reduces the performance of multiple real-world applications by a
non-trivial amount (3-5% in one application).

Instead of this change, I experimented with eagerly switching the
FPU state at context-switch time. This did not help. Most of the
cost seems to be in the read/write of memory--as kib@ stated--and
not in the #NM handling. I tested on machines with and without
XSAVEOPT.

One counter-argument to this change is that most applications already
use SIMD, and the number of applications and amount of SIMD usage
are only increasing. This is absolutely true. I agree that--in
general and in principle--this change is in the wrong direction.
However, there are applications that do not use enough SSE to offset
the extra context-switch cost. SSE does not provide a clear benefit
in the current libthr code with the current compiler, but it does
provide a clear loss in some cases. Therefore, disabling SSE in
libthr is a non-loss for most, and a gain for some.

I refrained from disabling SSE in libc--as was suggested--because
I can't make the above argument for libc. It provides a wide variety
of code; each case should be analyzed separately.

https://lists.freebsd.org/pipermail/freebsd-current/2015-March/055193.html

Suggestions from: dim, jmg, rpaulo
Sponsored by: Dell Inc.


# 278705 13-Feb-2015 ian

MFC r277355: For armv6 builds, add -mfloat-abi=softfp.


# 275809 15-Dec-2014 andrew

Revert r275778, gcc 4.2.1 doesn't handle -march=armv7.


# 275778 14-Dec-2014 andrew

MFC 275379:
Set the correct architecture when targeting ARMv7

Sponsored by: ABT Systems Ltd


# 269102 25-Jul-2014 ian

MFC r263373, r268402

Add a way to apply CFLAGS only when building the given architecture. This
is useful primarily on a system used for cross-building, when you have a
set of flags to apply to the TARGET_ARCH being cross-built but don't want
those settings applied to building the cross-tools or other components that
run on the build host machine.

Support CXXFLAGS.${MACHINE_ARCH} as well as CFLAGS. This allows different
C++ options for toolchain versus target when cross-building.


# 263882 28-Mar-2014 jkim

MFC: r263435

Add new CPUTYPEs supported by Clang 3.4.


# 278705 13-Feb-2015 ian

MFC r277355: For armv6 builds, add -mfloat-abi=softfp.


# 275809 15-Dec-2014 andrew

Revert r275778, gcc 4.2.1 doesn't handle -march=armv7.


# 275778 14-Dec-2014 andrew

MFC 275379:
Set the correct architecture when targeting ARMv7

Sponsored by: ABT Systems Ltd


# 269102 25-Jul-2014 ian

MFC r263373, r268402

Add a way to apply CFLAGS only when building the given architecture. This
is useful primarily on a system used for cross-building, when you have a
set of flags to apply to the TARGET_ARCH being cross-built but don't want
those settings applied to building the cross-tools or other components that
run on the build host machine.

Support CXXFLAGS.${MACHINE_ARCH} as well as CFLAGS. This allows different
C++ options for toolchain versus target when cross-building.


# 263882 28-Mar-2014 jkim

MFC: r263435

Add new CPUTYPEs supported by Clang 3.4.