1#include "core-isa.h"
2
3.macro vector name
4
5.section .vector.\name, "ax"
6.global vector_\name
7vector_\name\():
8 j 1f
9 .literal_position
101:
11 wsr a0, excsave1
12 movi a0, 1f
13 ret.n
14
15.section .vector.\name\().text, "ax"
16 .literal_position
171:
18 rsr a0, excsave1
19 wsr a2, excsave1
20 movi a2, handler_\name
21 l32i a2, a2, 0
22 beqz a2, 1f
23 jx a2
241:
25 movi a3, 1b
26 movi a2, 1
27 simcall
28
29.align 4
30.global handler_\name
31handler_\name\(): .word 0
32
33.endm
34
35
36vector window_overflow_4
37vector window_overflow_8
38vector window_overflow_12
39vector window_underflow_4
40vector window_underflow_8
41vector window_underflow_12
42#endif
43
44
45vector level2
46#endif
47
48vector level3
49#endif
50
51vector level4
52#endif
53
54vector level5
55#endif
56
57vector level6
58#endif
59
60vector level7
61#endif
62
63vector kernel
64vector user
65vector double
66