1f68774ccSMax Filippov#include "core-isa.h" 2f68774ccSMax Filippov 37d890b40SMax Filippov.macro vector name 47d890b40SMax Filippov 5*906da882SMax Filippov.section .vector.\name, "ax" 6*906da882SMax Filippov.global vector_\name 7*906da882SMax Filippovvector_\name\(): 87d890b40SMax Filippov j 1f 9*906da882SMax Filippov .literal_position 107d890b40SMax Filippov1: 11*906da882SMax Filippov wsr a0, excsave1 12*906da882SMax Filippov movi a0, 1f 13*906da882SMax Filippov ret.n 14*906da882SMax Filippov 15*906da882SMax Filippov.section .vector.\name\().text, "ax" 16*906da882SMax Filippov .literal_position 17*906da882SMax Filippov1: 18*906da882SMax Filippov rsr a0, excsave1 197d890b40SMax Filippov wsr a2, excsave1 207d890b40SMax Filippov movi a2, handler_\name 217d890b40SMax Filippov l32i a2, a2, 0 227d890b40SMax Filippov beqz a2, 1f 237d890b40SMax Filippov jx a2 247d890b40SMax Filippov1: 257d890b40SMax Filippov movi a3, 1b 267d890b40SMax Filippov movi a2, 1 277d890b40SMax Filippov simcall 287d890b40SMax Filippov 297d890b40SMax Filippov.align 4 307d890b40SMax Filippov.global handler_\name 317d890b40SMax Filippovhandler_\name\(): .word 0 327d890b40SMax Filippov 337d890b40SMax Filippov.endm 347d890b40SMax Filippov 35f68774ccSMax Filippov#if XCHAL_HAVE_WINDOWED 367d890b40SMax Filippovvector window_overflow_4 377d890b40SMax Filippovvector window_overflow_8 387d890b40SMax Filippovvector window_overflow_12 397d890b40SMax Filippovvector window_underflow_4 407d890b40SMax Filippovvector window_underflow_8 417d890b40SMax Filippovvector window_underflow_12 42f68774ccSMax Filippov#endif 437d890b40SMax Filippov 44f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 2 457d890b40SMax Filippovvector level2 46f68774ccSMax Filippov#endif 47f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 3 487d890b40SMax Filippovvector level3 49f68774ccSMax Filippov#endif 50f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 4 517d890b40SMax Filippovvector level4 52f68774ccSMax Filippov#endif 53f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 5 547d890b40SMax Filippovvector level5 55f68774ccSMax Filippov#endif 56f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 6 577d890b40SMax Filippovvector level6 58f68774ccSMax Filippov#endif 59f68774ccSMax Filippov#if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 7 607d890b40SMax Filippovvector level7 61f68774ccSMax Filippov#endif 627d890b40SMax Filippov 637d890b40SMax Filippovvector kernel 647d890b40SMax Filippovvector user 657d890b40SMax Filippovvector double 66