Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | target/xtensa: only rotate window in the retw helper | Max Filippov | 2019-02-28 | 1 | -6/+2 |
| | | | | | | | | Move return address calculation and WINDOW_START adjustment out of the retw helper to simplify logic a bit and avoid using registers directly. Pass a0 as a parameter to the helper. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> | ||||
* | target/xtensa: move WINDOW_BASE SR update to postprocessing | Max Filippov | 2019-02-28 | 1 | -10/+4 |
| | | | | | | | | | | | | | 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> | ||||
* | target/xtensa: extract windowed registers helpers | Max Filippov | 2019-01-14 | 1 | -0/+222 |
Move helper functions related to register windows from op_helper.c to win_helper.c. No functional changes. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> |