4 .type __setjmp,@function
5 .type _setjmp,@function
10 ld 5, 24(1) # load from the TOC slot in the caller's stack frame
13 .localentry __setjmp,.-__setjmp
14 .localentry _setjmp,.-_setjmp
15 .localentry setjmp,.-setjmp
20 # same as normal setjmp, except TOC pointer to save is provided in r5.
21 # r4 would normally be the 2nd parameter, but we're using r5 to simplify calling from sigsetjmp.
22 # solves the problem of knowing whether to save the TOC pointer from r2 or the caller's stack frame.
24 # 0) store IP into 0, then into the jmpbuf pointed to by r3 (first arg)
52 # 4) store floating point registers f14-f31
72 # 5) store vector registers v20-v31
74 stvx 20, 0, 3 ; addi 3, 3, 16
75 stvx 21, 0, 3 ; addi 3, 3, 16
76 stvx 22, 0, 3 ; addi 3, 3, 16
77 stvx 23, 0, 3 ; addi 3, 3, 16
78 stvx 24, 0, 3 ; addi 3, 3, 16
79 stvx 25, 0, 3 ; addi 3, 3, 16
80 stvx 26, 0, 3 ; addi 3, 3, 16
81 stvx 27, 0, 3 ; addi 3, 3, 16
82 stvx 28, 0, 3 ; addi 3, 3, 16
83 stvx 29, 0, 3 ; addi 3, 3, 16
84 stvx 30, 0, 3 ; addi 3, 3, 16