xtensa: reimplement register spilling
commit863356eada6aec2742740b12fae686073dd7e6ca
authorjcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Aug 2015 01:05:44 +0000 (18 01:05 +0000)
committerjcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Aug 2015 01:05:44 +0000 (18 01:05 +0000)
tree845563e546aa52686bd12c1ff095df50de0a9c06
parent85780966029f9c2263a225b534d8a7baf915fb59
xtensa: reimplement register spilling

Spilling windowed registers in userspace is much easier, more portable,
less error-prone and equally effective as in kernel. Now that register
spilling syscall is considered obsolete in the xtensa linux kernel
replace it with CALL12 followed by series of ENTRY in libgcc.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use
CALL12 followed by series of ENTRY to spill windowed registers.
(__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill
instead of making linux spill syscall.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226962 138bc75d-0d04-0410-961f-82ee72b054a4
libgcc/ChangeLog
libgcc/config/xtensa/lib2funcs.S