1570af302Sopenharmony_ci.global memset 2570af302Sopenharmony_ci.type memset,@function 3570af302Sopenharmony_cimemset: 4570af302Sopenharmony_ci mov 12(%esp),%ecx 5570af302Sopenharmony_ci cmp $62,%ecx 6570af302Sopenharmony_ci ja 2f 7570af302Sopenharmony_ci 8570af302Sopenharmony_ci mov 8(%esp),%dl 9570af302Sopenharmony_ci mov 4(%esp),%eax 10570af302Sopenharmony_ci test %ecx,%ecx 11570af302Sopenharmony_ci jz 1f 12570af302Sopenharmony_ci 13570af302Sopenharmony_ci mov %dl,%dh 14570af302Sopenharmony_ci 15570af302Sopenharmony_ci mov %dl,(%eax) 16570af302Sopenharmony_ci mov %dl,-1(%eax,%ecx) 17570af302Sopenharmony_ci cmp $2,%ecx 18570af302Sopenharmony_ci jbe 1f 19570af302Sopenharmony_ci 20570af302Sopenharmony_ci mov %dx,1(%eax) 21570af302Sopenharmony_ci mov %dx,(-1-2)(%eax,%ecx) 22570af302Sopenharmony_ci cmp $6,%ecx 23570af302Sopenharmony_ci jbe 1f 24570af302Sopenharmony_ci 25570af302Sopenharmony_ci shl $16,%edx 26570af302Sopenharmony_ci mov 8(%esp),%dl 27570af302Sopenharmony_ci mov 8(%esp),%dh 28570af302Sopenharmony_ci 29570af302Sopenharmony_ci mov %edx,(1+2)(%eax) 30570af302Sopenharmony_ci mov %edx,(-1-2-4)(%eax,%ecx) 31570af302Sopenharmony_ci cmp $14,%ecx 32570af302Sopenharmony_ci jbe 1f 33570af302Sopenharmony_ci 34570af302Sopenharmony_ci mov %edx,(1+2+4)(%eax) 35570af302Sopenharmony_ci mov %edx,(1+2+4+4)(%eax) 36570af302Sopenharmony_ci mov %edx,(-1-2-4-8)(%eax,%ecx) 37570af302Sopenharmony_ci mov %edx,(-1-2-4-4)(%eax,%ecx) 38570af302Sopenharmony_ci cmp $30,%ecx 39570af302Sopenharmony_ci jbe 1f 40570af302Sopenharmony_ci 41570af302Sopenharmony_ci mov %edx,(1+2+4+8)(%eax) 42570af302Sopenharmony_ci mov %edx,(1+2+4+8+4)(%eax) 43570af302Sopenharmony_ci mov %edx,(1+2+4+8+8)(%eax) 44570af302Sopenharmony_ci mov %edx,(1+2+4+8+12)(%eax) 45570af302Sopenharmony_ci mov %edx,(-1-2-4-8-16)(%eax,%ecx) 46570af302Sopenharmony_ci mov %edx,(-1-2-4-8-12)(%eax,%ecx) 47570af302Sopenharmony_ci mov %edx,(-1-2-4-8-8)(%eax,%ecx) 48570af302Sopenharmony_ci mov %edx,(-1-2-4-8-4)(%eax,%ecx) 49570af302Sopenharmony_ci 50570af302Sopenharmony_ci1: ret 51570af302Sopenharmony_ci 52570af302Sopenharmony_ci2: movzbl 8(%esp),%eax 53570af302Sopenharmony_ci mov %edi,12(%esp) 54570af302Sopenharmony_ci imul $0x1010101,%eax 55570af302Sopenharmony_ci mov 4(%esp),%edi 56570af302Sopenharmony_ci test $15,%edi 57570af302Sopenharmony_ci mov %eax,-4(%edi,%ecx) 58570af302Sopenharmony_ci jnz 2f 59570af302Sopenharmony_ci 60570af302Sopenharmony_ci1: shr $2, %ecx 61570af302Sopenharmony_ci rep 62570af302Sopenharmony_ci stosl 63570af302Sopenharmony_ci mov 4(%esp),%eax 64570af302Sopenharmony_ci mov 12(%esp),%edi 65570af302Sopenharmony_ci ret 66570af302Sopenharmony_ci 67570af302Sopenharmony_ci2: xor %edx,%edx 68570af302Sopenharmony_ci sub %edi,%edx 69570af302Sopenharmony_ci and $15,%edx 70570af302Sopenharmony_ci mov %eax,(%edi) 71570af302Sopenharmony_ci mov %eax,4(%edi) 72570af302Sopenharmony_ci mov %eax,8(%edi) 73570af302Sopenharmony_ci mov %eax,12(%edi) 74570af302Sopenharmony_ci sub %edx,%ecx 75570af302Sopenharmony_ci add %edx,%edi 76570af302Sopenharmony_ci jmp 1b 77