]> git.ipfire.org Git - thirdparty/gcc.git/commit
libsanitizer: Use SSE to save and restore XMM registers
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 30 Nov 2021 13:31:26 +0000 (05:31 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 6 Dec 2021 16:16:49 +0000 (08:16 -0800)
commit70b043845d7c378c6a9361a6769885897d1018c2
tree0a3fdd43c8343743500745aafb483837846bbf21
parent0dc77a0c4942d3b264f8f8cfc2c509ecc02c3634
libsanitizer: Use SSE to save and restore XMM registers

Use SSE, instead of AVX, to save and restore XMM registers to support
processors without AVX.  The affected codes are unused in upstream since

https://github.com/llvm/llvm-project/commit/66d4ce7e26a5

and will be removed in

https://reviews.llvm.org/D112604

This fixed

FAIL: g++.dg/tsan/pthread_cond_clockwait.C   -O0  execution test
FAIL: g++.dg/tsan/pthread_cond_clockwait.C   -O2  execution test

on machines without AVX.

PR sanitizer/103466
* tsan/tsan_rtl_amd64.S (__tsan_trace_switch_thunk): Replace
vmovdqu with movdqu.
(__tsan_report_race_thunk): Likewise.
libsanitizer/tsan/tsan_rtl_amd64.S