diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2019-01-30 14:56:29 -0800 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2019-02-28 04:43:22 -0800 |
commit | 8df3fd359697d68095c5f1ba47e83e8e237a3055 (patch) | |
tree | 09dc8ab20422770cee30babaf7caa4c4b024db26 /job.c | |
parent | 45b71a795e5add347f0ba7aba526896132e9b986 (diff) |
target/xtensa: move WINDOW_BASE SR update to postprocessing
Opcodes that modify WINDOW_BASE SR don't have dependency on opcodes that
use windowed registers. If such opcodes are combined in a single
instruction they may not be correctly ordered. Instead of adding said
dependency use temporary register to store changed WINDOW_BASE value and
do actual register window rotation as a postprocessing step.
Not all opcodes that change WINDOW_BASE need this: retw, rfwo and rfwu
are also jump opcodes, so they are guaranteed to be translated last and
thus will not affect other opcodes in the same instruction.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'job.c')
0 files changed, 0 insertions, 0 deletions