1570af302Sopenharmony_ci.syntax unified 2570af302Sopenharmony_ci.global _longjmp 3570af302Sopenharmony_ci.global longjmp 4570af302Sopenharmony_ci.type _longjmp,%function 5570af302Sopenharmony_ci.type longjmp,%function 6570af302Sopenharmony_ci_longjmp: 7570af302Sopenharmony_cilongjmp: 8570af302Sopenharmony_ci mov ip,r0 9570af302Sopenharmony_ci movs r0,r1 10570af302Sopenharmony_ci moveq r0,#1 11570af302Sopenharmony_ci ldmia ip!, {v1,v2,v3,v4,v5,v6,sl,fp} 12570af302Sopenharmony_ci ldmia ip!, {r2,lr} 13570af302Sopenharmony_ci mov sp,r2 14570af302Sopenharmony_ci 15570af302Sopenharmony_ci adr r1,1f 16570af302Sopenharmony_ci ldr r2,1f 17570af302Sopenharmony_ci ldr r1,[r1,r2] 18570af302Sopenharmony_ci 19570af302Sopenharmony_ci#if __ARM_ARCH < 8 20570af302Sopenharmony_ci tst r1,#0x260 21570af302Sopenharmony_ci beq 3f 22570af302Sopenharmony_ci // HWCAP_ARM_FPA 23570af302Sopenharmony_ci tst r1,#0x20 24570af302Sopenharmony_ci beq 2f 25570af302Sopenharmony_ci ldc p2, cr4, [ip], #48 26570af302Sopenharmony_ci#endif 27570af302Sopenharmony_ci2: tst r1,#0x40 28570af302Sopenharmony_ci beq 2f 29570af302Sopenharmony_ci .fpu vfp 30570af302Sopenharmony_ci vldmia ip!, {d8-d15} 31570af302Sopenharmony_ci .fpu softvfp 32570af302Sopenharmony_ci .eabi_attribute 10, 0 33570af302Sopenharmony_ci .eabi_attribute 27, 0 34570af302Sopenharmony_ci#if __ARM_ARCH < 8 35570af302Sopenharmony_ci // HWCAP_ARM_IWMMXT 36570af302Sopenharmony_ci2: tst r1,#0x200 37570af302Sopenharmony_ci beq 3f 38570af302Sopenharmony_ci ldcl p1, cr10, [ip], #8 39570af302Sopenharmony_ci ldcl p1, cr11, [ip], #8 40570af302Sopenharmony_ci ldcl p1, cr12, [ip], #8 41570af302Sopenharmony_ci ldcl p1, cr13, [ip], #8 42570af302Sopenharmony_ci ldcl p1, cr14, [ip], #8 43570af302Sopenharmony_ci ldcl p1, cr15, [ip], #8 44570af302Sopenharmony_ci#endif 45570af302Sopenharmony_ci2: 46570af302Sopenharmony_ci3: bx lr 47570af302Sopenharmony_ci 48570af302Sopenharmony_ci.hidden __hwcap 49570af302Sopenharmony_ci.align 2 50570af302Sopenharmony_ci1: .word __hwcap-1b 51