#
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.
|