@@ -9,86 +9,7 @@ static COMMON_HANDLER_MUTEX: Mutex<()> = Mutex::new(());
99macro_rules! create_fn {
1010 ( $name: ident, $i: expr) => {
1111 extern "x86-interrupt" fn $name( stack_frame: InterruptStackFrame ) {
12- unsafe {
13- asm!( r#"
14- push rax
15- push rbx
16- push rcx
17- push rdx
18- push rsi
19- push rdi
20- push rbp
21- push rsp
22- push r8
23- push r9
24- push r10
25- push r11
26- push r12
27- push r13
28- push r14
29- push r15
30-
31- sub rsp, 256
32- movups [rsp + 16 * 0], xmm0
33- movups [rsp + 16 * 1], xmm1
34- movups [rsp + 16 * 2], xmm2
35- movups [rsp + 16 * 3], xmm3
36- movups [rsp + 16 * 4], xmm4
37- movups [rsp + 16 * 5], xmm5
38- movups [rsp + 16 * 6], xmm6
39- movups [rsp + 16 * 7], xmm7
40- movups [rsp + 16 * 8], xmm8
41- movups [rsp + 16 * 9], xmm9
42- movups [rsp + 16 * 10], xmm10
43- movups [rsp + 16 * 11], xmm11
44- movups [rsp + 16 * 12], xmm12
45- movups [rsp + 16 * 13], xmm13
46- movups [rsp + 16 * 14], xmm14
47- movups [rsp + 16 * 15], xmm15
48- "# ) ;
49-
50- unsafe { ( COMMON_HANDLER ) ( stack_frame, $i) } ;
51-
52- asm!( r#"
53-
54-
55- movups xmm0, [rsp + 16 * 0]
56- movups xmm1, [rsp + 16 * 1]
57- movups xmm2, [rsp + 16 * 2]
58- movups xmm3, [rsp + 16 * 3]
59- movups xmm4, [rsp + 16 * 4]
60- movups xmm5, [rsp + 16 * 5]
61- movups xmm6, [rsp + 16 * 6]
62- movups xmm7, [rsp + 16 * 7]
63- movups xmm8, [rsp + 16 * 8]
64- movups xmm9, [rsp + 16 * 9]
65- movups xmm10, [rsp + 16 * 10]
66- movups xmm11, [rsp + 16 * 11]
67- movups xmm12, [rsp + 16 * 12]
68- movups xmm13, [rsp + 16 * 13]
69- movups xmm14, [rsp + 16 * 14]
70- movups xmm15, [rsp + 16 * 15]
71- add rsp, 16 * 16
72-
73- pop r15
74- pop r14
75- pop r13
76- pop r12
77- pop r11
78- pop r10
79- pop r9
80- pop r8
81- pop rsp
82- pop rbp
83- pop rdi
84- pop rsi
85- pop rdx
86- pop rcx
87- pop rbx
88- pop rax
89-
90- "# ) ;
91- }
12+ unsafe { ( COMMON_HANDLER ) ( stack_frame, $i) } ;
9213 }
9314 } ;
9415}
0 commit comments