Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .file "galsim.c"
- # GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)
- # compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP
- # warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.
- # GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
- # options passed: -march=znver3 -mmmx -mpopcnt -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -msse4a -mno-fma4 -mno-xop -mfma -mno-avx512f -mbmi -mbmi2 -maes -mpclmul -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512cd -mno-avx512er -mno-avx512pf -mno-avx512vbmi -mno-avx512ifma -mno-avx5124vnniw -mno-avx5124fmaps -mno-avx512vpopcntdq -mno-avx512vbmi2 -mno-gfni -mvpclmulqdq -mno-avx512vnni -mno-avx512bitalg -mno-avx512bf16 -mno-avx512vp2intersect -mno-3dnow -madx -mabm -mno-cldemote -mclflushopt -mclwb -mclzero -mcx16 -mno-enqcmd -mf16c -mfsgsbase -mfxsr -mno-hle -msahf -mno-lwp -mlzcnt -mmovbe -mno-movdir64b -mno-movdiri -mno-mwaitx -mno-pconfig -mno-pku -mno-prefetchwt1 -mprfchw -mno-ptwrite -mrdpid -mrdrnd -mrdseed -mno-rtm -mno-serialize -mno-sgx -msha -mshstk -mno-tbm -mno-tsxldtrk -mvaes -mno-waitpkg -mno-wbnoinvd -mxsave -mxsavec -mxsaveopt -mxsaves -mno-amx-tile -mno-amx-int8 -mno-amx-bf16 -mno-uintr -mno-hreset -mno-kl -mno-widekl -mno-avxvnni -mno-avx512fp16 --param=l1-cache-size=32 --param=l1-cache-line-size=64 --param=l2-cache-size=512 -mtune=znver3 -O3 -fasynchronous-unwind-tables
- .text
- .section .rodata.str1.8,"aMS",@progbits,1
- .align 8
- .LC1:
- .string "Correct Format: %s N inputfile timesteps deltaT graphics\n"
- .section .rodata.str1.1,"aMS",@progbits,1
- .LC2:
- .string "Memory allocation error!"
- .LC3:
- .string "File open error!"
- .LC5:
- .string "Time for File to DS(s): %lf\n"
- .LC8:
- .string "Time for Processing(s): %lf\n"
- .LC9:
- .string "result.gal"
- .LC10:
- .string "File create error!"
- .LC11:
- .string "Time for DS to File(s): %lf\n"
- .section .text.startup,"ax",@progbits
- .p2align 4
- .globl main
- .type main, @function
- main:
- .LFB22:
- .cfi_startproc
- pushq %r15 #
- .cfi_def_cfa_offset 16
- .cfi_offset 15, -16
- pushq %r14 #
- .cfi_def_cfa_offset 24
- .cfi_offset 14, -24
- pushq %r13 #
- .cfi_def_cfa_offset 32
- .cfi_offset 13, -32
- pushq %r12 #
- .cfi_def_cfa_offset 40
- .cfi_offset 12, -40
- pushq %rbp #
- .cfi_def_cfa_offset 48
- .cfi_offset 6, -48
- pushq %rbx #
- .cfi_def_cfa_offset 56
- .cfi_offset 3, -56
- movq %rsi, %rbx # tmp230, av
- subq $136, %rsp #,
- .cfi_def_cfa_offset 192
- # galsim.c:16: if(ac != 6){
- cmpl $6, %edi #, tmp229
- je .L2 #,
- # galsim.c:17: printf("Correct Format: %s N inputfile timesteps deltaT graphics\n", av[0]);
- movq (%rsi), %rsi # *av_77(D),
- leaq .LC1(%rip), %rdi #, tmp169
- xorl %eax, %eax #
- call printf@PLT #
- .L3:
- # galsim.c:18: return 1;
- movl $1, %eax #, <retval>
- .L1:
- # galsim.c:126: }
- addq $136, %rsp #,
- .cfi_remember_state
- .cfi_def_cfa_offset 56
- popq %rbx #
- .cfi_def_cfa_offset 48
- popq %rbp #
- .cfi_def_cfa_offset 40
- popq %r12 #
- .cfi_def_cfa_offset 32
- popq %r13 #
- .cfi_def_cfa_offset 24
- popq %r14 #
- .cfi_def_cfa_offset 16
- popq %r15 #
- .cfi_def_cfa_offset 8
- ret
- .L2:
- .cfi_restore_state
- # /usr/include/stdlib.h:364: return (int) strtol (__nptr, (char **) NULL, 10);
- movq 8(%rsi), %rdi # MEM[(char * *)av_77(D) + 8B], MEM[(char * *)av_77(D) + 8B]
- movl $10, %edx #,
- xorl %esi, %esi #
- call strtol@PLT #
- movq 24(%rbx), %rdi # MEM[(char * *)av_77(D) + 24B], MEM[(char * *)av_77(D) + 24B]
- movl $10, %edx #,
- xorl %esi, %esi #
- # galsim.c:23: const char *inputfile = av[2];
- movq 16(%rbx), %r15 # MEM[(char * *)av_77(D) + 16B], inputfile
- # /usr/include/stdlib.h:364: return (int) strtol (__nptr, (char **) NULL, 10);
- movq %rax, %r14 # tmp231, _151
- # /usr/include/stdlib.h:364: return (int) strtol (__nptr, (char **) NULL, 10);
- movl %eax, 32(%rsp) # _152, %sfp
- # /usr/include/stdlib.h:364: return (int) strtol (__nptr, (char **) NULL, 10);
- call strtol@PLT #
- # /usr/include/x86_64-linux-gnu/bits/stdlib-float.h:27: return strtod (__nptr, (char **) NULL);
- movq 32(%rbx), %rdi # MEM[(char * *)av_77(D) + 32B], MEM[(char * *)av_77(D) + 32B]
- xorl %esi, %esi #
- # /usr/include/stdlib.h:364: return (int) strtol (__nptr, (char **) NULL, 10);
- movq %rax, 48(%rsp) # _149, %sfp
- # /usr/include/stdlib.h:364: return (int) strtol (__nptr, (char **) NULL, 10);
- movl %eax, 24(%rsp) # _150, %sfp
- # /usr/include/x86_64-linux-gnu/bits/stdlib-float.h:27: return strtod (__nptr, (char **) NULL);
- call strtod@PLT #
- vmovsd %xmm0, 16(%rsp) # _148, %sfp
- # galsim.c:28: start = clock();
- call clock@PLT #
- movq %rax, 40(%rsp) # tmp234, %sfp
- # galsim.c:32: particles.x = (double *) malloc(N * sizeof(double));
- movslq %r14d, %rax # _151, _152
- leaq 0(,%rax,8), %r13 #, _8
- movq %r13, %rdi # _8,
- call malloc@PLT #
- # galsim.c:33: particles.y = (double *) malloc(N * sizeof(double));
- movq %r13, %rdi # _8,
- # galsim.c:32: particles.x = (double *) malloc(N * sizeof(double));
- movq %rax, 8(%rsp) # _9, %sfp
- # galsim.c:33: particles.y = (double *) malloc(N * sizeof(double));
- call malloc@PLT #
- # galsim.c:34: particles.mass = (double *) malloc(N * sizeof(double));
- movq %r13, %rdi # _8,
- # galsim.c:33: particles.y = (double *) malloc(N * sizeof(double));
- movq %rax, (%rsp) # _12, %sfp
- # galsim.c:34: particles.mass = (double *) malloc(N * sizeof(double));
- call malloc@PLT #
- # galsim.c:35: particles.vx = (double *) malloc(N * sizeof(double));
- movq %r13, %rdi # _8,
- # galsim.c:34: particles.mass = (double *) malloc(N * sizeof(double));
- movq %rax, %r12 # tmp237, _13
- # galsim.c:35: particles.vx = (double *) malloc(N * sizeof(double));
- call malloc@PLT #
- # galsim.c:36: particles.vy = (double *) malloc(N * sizeof(double));
- movq %r13, %rdi # _8,
- # galsim.c:35: particles.vx = (double *) malloc(N * sizeof(double));
- movq %rax, %rbp # tmp238, _14
- # galsim.c:36: particles.vy = (double *) malloc(N * sizeof(double));
- call malloc@PLT #
- # galsim.c:38: if (!particles.x || !particles.y || !particles.mass || !particles.vx || !particles.vy) {
- movq 8(%rsp), %r8 # %sfp, _9
- # galsim.c:38: if (!particles.x || !particles.y || !particles.mass || !particles.vx || !particles.vy) {
- movq (%rsp), %rcx # %sfp, _12
- # galsim.c:36: particles.vy = (double *) malloc(N * sizeof(double));
- movq %rax, %rbx # tmp239, _15
- # galsim.c:38: if (!particles.x || !particles.y || !particles.mass || !particles.vx || !particles.vy) {
- testq %r8, %r8 # _9
- sete %al #, tmp180
- # galsim.c:38: if (!particles.x || !particles.y || !particles.mass || !particles.vx || !particles.vy) {
- testq %rcx, %rcx # _12
- sete %dl #, tmp182
- # galsim.c:38: if (!particles.x || !particles.y || !particles.mass || !particles.vx || !particles.vy) {
- orl %edx, %eax # tmp182, tmp183
- # galsim.c:38: if (!particles.x || !particles.y || !particles.mass || !particles.vx || !particles.vy) {
- testq %rbp, %rbp # _14
- sete %dl #, tmp185
- # galsim.c:38: if (!particles.x || !particles.y || !particles.mass || !particles.vx || !particles.vy) {
- testq %r12, %r12 # _13
- sete %sil #, tmp187
- # galsim.c:38: if (!particles.x || !particles.y || !particles.mass || !particles.vx || !particles.vy) {
- orl %esi, %edx # tmp187, tmp188
- orb %dl, %al # tmp188, tmp253
- jne .L19 #,
- testq %rbx, %rbx # _15
- vmovsd 16(%rsp), %xmm9 # %sfp, _148
- movl 24(%rsp), %r11d # %sfp, _150
- movl 32(%rsp), %r10d # %sfp, _152
- je .L19 #,
- # galsim.c:43: int inputfd = open(inputfile, O_RDONLY);
- xorl %esi, %esi #
- movq %r15, %rdi # inputfile,
- xorl %eax, %eax #
- movl %r10d, 32(%rsp) # _152, %sfp
- movl %r11d, 24(%rsp) # _150, %sfp
- vmovsd %xmm9, 16(%rsp) # _148, %sfp
- movq %rcx, 8(%rsp) # _12, %sfp
- movq %r8, (%rsp) # _9, %sfp
- call open@PLT #
- # galsim.c:44: if(inputfd == -1) {
- cmpl $-1, %eax #, inputfd
- vmovsd 16(%rsp), %xmm9 # %sfp, _148
- movq (%rsp), %r8 # %sfp, _9
- # galsim.c:43: int inputfd = open(inputfile, O_RDONLY);
- movl %eax, %r15d # tmp240, inputfd
- # galsim.c:44: if(inputfd == -1) {
- movq 8(%rsp), %rcx # %sfp, _12
- movl 24(%rsp), %r11d # %sfp, _150
- movl 32(%rsp), %r10d # %sfp, _152
- je .L28 #,
- # galsim.c:49: read(inputfd, particles.x, N * sizeof(double));
- movq %r8, %rsi # _9,
- movq %r13, %rdx # _8,
- movl %eax, %edi # inputfd,
- movq %r8, 16(%rsp) # _9, %sfp
- movl %r10d, 56(%rsp) # _152, %sfp
- movl %r11d, 32(%rsp) # _150, %sfp
- vmovsd %xmm9, 24(%rsp) # _148, %sfp
- movq %rcx, (%rsp) # _12, %sfp
- call read@PLT #
- # galsim.c:50: read(inputfd, particles.y, N * sizeof(double));
- movq %r13, %rdx # _8,
- movl %r15d, %edi # inputfd,
- movq (%rsp), %rcx # %sfp, _12
- movq %rcx, %rsi # _12,
- movq %rcx, 8(%rsp) # _12, %sfp
- call read@PLT #
- # galsim.c:51: read(inputfd, particles.mass, N * sizeof(double));
- movq %r13, %rdx # _8,
- movq %r12, %rsi # _13,
- movl %r15d, %edi # inputfd,
- call read@PLT #
- # galsim.c:52: read(inputfd, particles.vx, N * sizeof(double));
- movq %r13, %rdx # _8,
- movq %rbp, %rsi # _14,
- movl %r15d, %edi # inputfd,
- call read@PLT #
- # galsim.c:53: read(inputfd, particles.vy, N * sizeof(double));
- movq %r13, %rdx # _8,
- movq %rbx, %rsi # _15,
- movl %r15d, %edi # inputfd,
- call read@PLT #
- # galsim.c:55: close(inputfd);
- movl %r15d, %edi # inputfd,
- call close@PLT #
- # galsim.c:57: printf("Time for File to DS(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- call clock@PLT #
- # galsim.c:57: printf("Time for File to DS(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- vxorpd %xmm7, %xmm7, %xmm7 # tmp296
- # galsim.c:57: printf("Time for File to DS(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- movq 40(%rsp), %rdi # %sfp, start
- subq %rdi, %rax # start, tmp194
- # galsim.c:57: printf("Time for File to DS(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- leaq .LC5(%rip), %rdi #, tmp198
- # galsim.c:57: printf("Time for File to DS(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- vcvtsi2sdq %rax, %xmm7, %xmm0 # tmp194, tmp296, tmp249
- # galsim.c:57: printf("Time for File to DS(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- vdivsd .LC4(%rip), %xmm0, %xmm0 #, tmp195, tmp196
- movl $1, %eax #,
- call printf@PLT #
- # galsim.c:58: start = clock();
- call clock@PLT #
- # galsim.c:62: while (instant < timesteps) {
- cmpl $0, 48(%rsp) #, %sfp
- movq 8(%rsp), %rcx # %sfp, _12
- # galsim.c:58: start = clock();
- movq %rax, (%rsp) # tmp242, %sfp
- # galsim.c:62: while (instant < timesteps) {
- movq 16(%rsp), %r8 # %sfp, _9
- jle .L8 #,
- # galsim.c:22: const double G = 100.0 / N;
- vmovsd .LC6(%rip), %xmm6 #, tmp200
- # galsim.c:22: const double G = 100.0 / N;
- vxorpd %xmm7, %xmm7, %xmm7 # tmp297
- # galsim.c:61: int instant = 0, i = 0, j = 0;
- xorl %r15d, %r15d # instant
- leal -1(%r14), %eax #,
- # galsim.c:22: const double G = 100.0 / N;
- vcvtsi2sdl %r14d, %xmm7, %xmm0 # _151, tmp297, tmp250
- # galsim.c:22: const double G = 100.0 / N;
- vdivsd %xmm0, %xmm6, %xmm6 # tmp199, tmp200, G
- testl %r14d, %r14d # _151
- jle .L8 #,
- vmovsd .LC7(%rip), %xmm8 #, tmp226
- vmovsd 24(%rsp), %xmm9 # %sfp, _148
- movl %r15d, %edi # instant, instant
- movq %r13, %r14 # _8, _8
- movl 32(%rsp), %r11d # %sfp, _150
- movl 56(%rsp), %r10d # %sfp, _152
- movq %rcx, %r15 # _12, _12
- addq $2, %rax #, _279
- vxorpd %xmm7, %xmm7, %xmm7 # tmp228
- movq %r8, %r13 # _9, _9
- movq %r12, %rdx # _13, _13
- movl %edi, %ecx # instant, instant
- .p2align 4
- .p2align 3
- .L9:
- # galsim.c:15: int main(int ac, char *av[]) {
- movl $1, %r12d #, ivtmp.31
- .p2align 4
- .p2align 3
- .L15:
- # galsim.c:65: double dmi = deltaT * mi;
- vmulsd -8(%rdx,%r12,8), %xmm9, %xmm12 # MEM[(double *)_13 + -8B + ivtmp.31_271 * 8], _148, dmi
- # galsim.c:66: double x = particles.x[i], y = particles.y[i];
- vmovsd -8(%r13,%r12,8), %xmm10 # MEM[(double *)_9 + -8B + ivtmp.31_271 * 8], x
- # galsim.c:66: double x = particles.x[i], y = particles.y[i];
- vmovsd -8(%r15,%r12,8), %xmm5 # MEM[(double *)_12 + -8B + ivtmp.31_271 * 8], y
- # galsim.c:69: for (j = i + 1; j < N; j++) {
- cmpl %r12d, %r10d # ivtmp.31, _152
- jle .L18 #,
- # galsim.c:67: double a_x = 0.0, a_y = 0.0;
- vxorpd %xmm4, %xmm4, %xmm4 # a_y
- # galsim.c:69: for (j = i + 1; j < N; j++) {
- movq %r12, %rsi # ivtmp.31, ivtmp.18
- # galsim.c:67: double a_x = 0.0, a_y = 0.0;
- vmovsd %xmm4, %xmm4, %xmm11 #, a_x
- .p2align 4
- .p2align 3
- .L14:
- # galsim.c:72: double dy = particles.y[j] - y;
- vmovsd (%r15,%rsi,8), %xmm1 # MEM[(double *)_12 + ivtmp.18_266 * 8], MEM[(double *)_12 + ivtmp.18_266 * 8]
- # galsim.c:71: double dx = particles.x[j] - x;
- vmovsd 0(%r13,%rsi,8), %xmm2 # MEM[(double *)_9 + ivtmp.18_266 * 8], MEM[(double *)_9 + ivtmp.18_266 * 8]
- # galsim.c:70: double mj = particles.mass[j];
- vmovsd (%rdx,%rsi,8), %xmm3 # MEM[(double *)_13 + ivtmp.18_266 * 8], mj
- # galsim.c:72: double dy = particles.y[j] - y;
- vsubsd %xmm5, %xmm1, %xmm1 # y, MEM[(double *)_12 + ivtmp.18_266 * 8], dy
- # galsim.c:71: double dx = particles.x[j] - x;
- vsubsd %xmm10, %xmm2, %xmm2 # x, MEM[(double *)_9 + ivtmp.18_266 * 8], dx
- # galsim.c:73: double rij2 = dx * dx + dy * dy;
- vmulsd %xmm1, %xmm1, %xmm0 # dy, dy, tmp203
- # galsim.c:73: double rij2 = dx * dx + dy * dy;
- vfmadd231sd %xmm2, %xmm2, %xmm0 # dx, dx, rij2
- vucomisd %xmm0, %xmm7 # rij2, tmp228
- ja .L24 #,
- # galsim.c:74: double radius = (__builtin_sqrt(rij2) + eps);
- vsqrtsd %xmm0, %xmm0, %xmm0 # rij2, _34
- .L13:
- # galsim.c:74: double radius = (__builtin_sqrt(rij2) + eps);
- vaddsd %xmm8, %xmm0, %xmm0 # tmp226, _34, radius
- # galsim.c:75: double radius_cubed = radius * radius * radius;
- vmulsd %xmm0, %xmm0, %xmm13 # radius, radius, tmp206
- # galsim.c:75: double radius_cubed = radius * radius * radius;
- vmulsd %xmm0, %xmm13, %xmm0 # radius, tmp206, radius_cubed
- # galsim.c:76: double force = G / radius_cubed;
- vdivsd %xmm0, %xmm6, %xmm0 # radius_cubed, G, force
- # galsim.c:78: double fx = force * dx;
- vmulsd %xmm0, %xmm2, %xmm2 # force, dx, fx
- # galsim.c:79: double fy = force * dy;
- vmulsd %xmm0, %xmm1, %xmm1 # force, dy, fy
- # galsim.c:82: a_x += fx * mj;
- vfmadd231sd %xmm2, %xmm3, %xmm11 # fx, mj, a_x
- # galsim.c:83: a_y += fy * mj;
- vfmadd231sd %xmm1, %xmm3, %xmm4 # fy, mj, a_y
- # galsim.c:86: particles.vx[j] -= dmi * fx;
- vfnmadd213sd 0(%rbp,%rsi,8), %xmm12, %xmm2 # MEM[(double *)_14 + ivtmp.18_266 * 8], dmi, _41
- # galsim.c:87: particles.vy[j] -= dmi * fy;
- vfnmadd213sd (%rbx,%rsi,8), %xmm12, %xmm1 # MEM[(double *)_15 + ivtmp.18_266 * 8], dmi, _45
- # galsim.c:86: particles.vx[j] -= dmi * fx;
- vmovsd %xmm2, 0(%rbp,%rsi,8) # _41, MEM[(double *)_14 + ivtmp.18_266 * 8]
- # galsim.c:87: particles.vy[j] -= dmi * fy;
- vmovsd %xmm1, (%rbx,%rsi,8) # _45, MEM[(double *)_15 + ivtmp.18_266 * 8]
- # galsim.c:69: for (j = i + 1; j < N; j++) {
- incq %rsi # ivtmp.18
- cmpl %esi, %r10d # ivtmp.18, _152
- jg .L14 #,
- .L10:
- # galsim.c:91: particles.vx[i] += deltaT * a_x;
- vfmadd213sd -8(%rbp,%r12,8), %xmm9, %xmm11 # MEM[(double *)_14 + -8B + ivtmp.31_271 * 8], _148, _49
- # galsim.c:92: particles.vy[i] += deltaT * a_y;
- vfmadd213sd -8(%rbx,%r12,8), %xmm9, %xmm4 # MEM[(double *)_15 + -8B + ivtmp.31_271 * 8], _148, _53
- # galsim.c:91: particles.vx[i] += deltaT * a_x;
- vmovsd %xmm11, -8(%rbp,%r12,8) # _49, MEM[(double *)_14 + -8B + ivtmp.31_271 * 8]
- # galsim.c:93: particles.x[i] += deltaT * particles.vx[i];
- vfmadd132sd %xmm9, %xmm10, %xmm11 # _148, x, _55
- # galsim.c:92: particles.vy[i] += deltaT * a_y;
- vmovsd %xmm4, -8(%rbx,%r12,8) # _53, MEM[(double *)_15 + -8B + ivtmp.31_271 * 8]
- # galsim.c:94: particles.y[i] += deltaT * particles.vy[i];
- vfmadd132sd %xmm9, %xmm5, %xmm4 # _148, y, _57
- # galsim.c:93: particles.x[i] += deltaT * particles.vx[i];
- vmovsd %xmm11, -8(%r13,%r12,8) # _55, MEM[(double *)_9 + -8B + ivtmp.31_271 * 8]
- # galsim.c:94: particles.y[i] += deltaT * particles.vy[i];
- vmovsd %xmm4, -8(%r15,%r12,8) # _57, MEM[(double *)_12 + -8B + ivtmp.31_271 * 8]
- # galsim.c:63: for (i = 0; i < N; i++) {
- incq %r12 # ivtmp.31
- cmpq %rax, %r12 # _279, ivtmp.31
- jne .L15 #,
- # galsim.c:96: instant++;
- incl %ecx # instant
- # galsim.c:62: while (instant < timesteps) {
- cmpl %r11d, %ecx # _150, instant
- jne .L9 #,
- movq %r13, %r8 # _9, _9
- movq %r15, %rcx # _12, _12
- movq %r14, %r13 # _8, _8
- movq %rdx, %r12 # _13, _13
- .L8:
- movq %rcx, 16(%rsp) # _12, %sfp
- movq %r8, 8(%rsp) # _9, %sfp
- # galsim.c:99: printf("Time for Processing(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- call clock@PLT #
- # galsim.c:99: printf("Time for Processing(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- movq (%rsp), %rdi # %sfp, start
- # galsim.c:99: printf("Time for Processing(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- vxorpd %xmm7, %xmm7, %xmm7 # tmp299
- # galsim.c:99: printf("Time for Processing(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- subq %rdi, %rax # start, tmp210
- # galsim.c:99: printf("Time for Processing(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- leaq .LC8(%rip), %rdi #, tmp214
- # galsim.c:99: printf("Time for Processing(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- vcvtsi2sdq %rax, %xmm7, %xmm0 # tmp210, tmp299, tmp251
- # galsim.c:99: printf("Time for Processing(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- vdivsd .LC4(%rip), %xmm0, %xmm0 #, tmp211, tmp212
- movl $1, %eax #,
- call printf@PLT #
- # galsim.c:100: start = clock();
- call clock@PLT #
- # galsim.c:103: int outputfd = open("result.gal", O_RDWR | O_CREAT, 0666);
- movl $438, %edx #,
- movl $66, %esi #,
- # galsim.c:100: start = clock();
- movq %rax, %r15 # tmp245, start
- # galsim.c:103: int outputfd = open("result.gal", O_RDWR | O_CREAT, 0666);
- leaq .LC9(%rip), %rdi #, tmp215
- xorl %eax, %eax #
- call open@PLT #
- # galsim.c:104: if(outputfd == -1) {
- movq 8(%rsp), %r8 # %sfp, _9
- cmpl $-1, %eax #, outputfd
- movq 16(%rsp), %rcx # %sfp, _12
- # galsim.c:103: int outputfd = open("result.gal", O_RDWR | O_CREAT, 0666);
- movl %eax, %r14d # tmp246, outputfd
- # galsim.c:104: if(outputfd == -1) {
- je .L29 #,
- # galsim.c:109: write(outputfd, particles.x, N * sizeof(double));
- movq %r8, %rsi # _9,
- movq %r13, %rdx # _8,
- movl %eax, %edi # outputfd,
- movq %rcx, (%rsp) # _12, %sfp
- movq %r8, 8(%rsp) # _9, %sfp
- call write@PLT #
- # galsim.c:110: write(outputfd, particles.y, N * sizeof(double));
- movq %r13, %rdx # _8,
- movl %r14d, %edi # outputfd,
- movq (%rsp), %rsi # %sfp,
- call write@PLT #
- # galsim.c:111: write(outputfd, particles.mass, N * sizeof(double));
- movq %r13, %rdx # _8,
- movq %r12, %rsi # _13,
- movl %r14d, %edi # outputfd,
- call write@PLT #
- # galsim.c:112: write(outputfd, particles.vx, N * sizeof(double));
- movq %r13, %rdx # _8,
- movq %rbp, %rsi # _14,
- movl %r14d, %edi # outputfd,
- call write@PLT #
- # galsim.c:113: write(outputfd, particles.vy, N * sizeof(double));
- movq %r13, %rdx # _8,
- movq %rbx, %rsi # _15,
- movl %r14d, %edi # outputfd,
- call write@PLT #
- # galsim.c:115: close(outputfd);
- movl %r14d, %edi # outputfd,
- call close@PLT #
- # galsim.c:117: free(particles.x);
- movq 8(%rsp), %rdi # %sfp,
- call free@PLT #
- # galsim.c:118: free(particles.y);
- movq (%rsp), %rdi # %sfp,
- call free@PLT #
- # galsim.c:119: free(particles.mass);
- movq %r12, %rdi # _13,
- call free@PLT #
- # galsim.c:120: free(particles.vx);
- movq %rbp, %rdi # _14,
- call free@PLT #
- # galsim.c:121: free(particles.vy);
- movq %rbx, %rdi # _15,
- call free@PLT #
- # galsim.c:123: printf("Time for DS to File(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- call clock@PLT #
- # galsim.c:123: printf("Time for DS to File(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- vxorpd %xmm7, %xmm7, %xmm7 # tmp300
- # galsim.c:123: printf("Time for DS to File(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- leaq .LC11(%rip), %rdi #, tmp221
- # galsim.c:123: printf("Time for DS to File(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- subq %r15, %rax # start, tmp217
- # galsim.c:123: printf("Time for DS to File(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- vcvtsi2sdq %rax, %xmm7, %xmm0 # tmp217, tmp300, tmp252
- # galsim.c:123: printf("Time for DS to File(s): %lf\n", (double) (clock() - start) / CLOCKS_PER_SEC);
- vdivsd .LC4(%rip), %xmm0, %xmm0 #, tmp218, tmp219
- movl $1, %eax #,
- call printf@PLT #
- # galsim.c:125: return 0;
- xorl %eax, %eax # <retval>
- jmp .L1 #
- .p2align 4
- .p2align 3
- .L18:
- # galsim.c:67: double a_x = 0.0, a_y = 0.0;
- vxorpd %xmm4, %xmm4, %xmm4 # a_y
- # galsim.c:67: double a_x = 0.0, a_y = 0.0;
- vmovsd %xmm4, %xmm4, %xmm11 #, a_x
- jmp .L10 #
- .L28:
- # galsim.c:45: printf("File open error!\n");
- leaq .LC3(%rip), %rdi #, tmp193
- call puts@PLT #
- # galsim.c:46: return 1;
- jmp .L3 #
- .L29:
- # galsim.c:105: printf("File create error!\n");
- leaq .LC10(%rip), %rdi #, tmp216
- call puts@PLT #
- # galsim.c:106: return 1;
- jmp .L3 #
- .L24:
- movq %rax, 120(%rsp) # _279, %sfp
- movq %rsi, 112(%rsp) # ivtmp.18, %sfp
- movl %r10d, 108(%rsp) # _152, %sfp
- movl %r11d, 104(%rsp) # _150, %sfp
- vmovsd %xmm4, 96(%rsp) # a_y, %sfp
- vmovsd %xmm11, 88(%rsp) # a_x, %sfp
- vmovsd %xmm12, 80(%rsp) # dmi, %sfp
- movl %ecx, 76(%rsp) # instant, %sfp
- vmovsd %xmm6, 64(%rsp) # G, %sfp
- movq %rdx, 56(%rsp) # _13, %sfp
- vmovsd %xmm9, 48(%rsp) # _148, %sfp
- vmovsd %xmm1, 40(%rsp) # dy, %sfp
- vmovsd %xmm2, 32(%rsp) # dx, %sfp
- vmovsd %xmm3, 24(%rsp) # mj, %sfp
- vmovsd %xmm5, 16(%rsp) # y, %sfp
- vmovsd %xmm10, 8(%rsp) # x, %sfp
- # galsim.c:74: double radius = (__builtin_sqrt(rij2) + eps);
- call sqrt@PLT #
- vxorpd %xmm7, %xmm7, %xmm7 # tmp228
- movq .LC7(%rip), %rdi #, tmp343
- vmovsd 96(%rsp), %xmm4 # %sfp, a_y
- vmovsd 88(%rsp), %xmm11 # %sfp, a_x
- vmovsd 80(%rsp), %xmm12 # %sfp, dmi
- vmovsd 64(%rsp), %xmm6 # %sfp, G
- vmovsd 48(%rsp), %xmm9 # %sfp, _148
- vmovsd 40(%rsp), %xmm1 # %sfp, dy
- vmovsd 32(%rsp), %xmm2 # %sfp, dx
- vmovsd 24(%rsp), %xmm3 # %sfp, mj
- vmovsd 16(%rsp), %xmm5 # %sfp, y
- vmovq %rdi, %xmm8 # tmp343, tmp226
- vmovsd 8(%rsp), %xmm10 # %sfp, x
- movq 120(%rsp), %rax # %sfp, _279
- movq 112(%rsp), %rsi # %sfp, ivtmp.18
- movl 108(%rsp), %r10d # %sfp, _152
- movl 104(%rsp), %r11d # %sfp, _150
- movl 76(%rsp), %ecx # %sfp, instant
- movq 56(%rsp), %rdx # %sfp, _13
- jmp .L13 #
- .L19:
- # galsim.c:39: printf("Memory allocation error!\n");
- leaq .LC2(%rip), %rdi #, tmp192
- call puts@PLT #
- # galsim.c:40: return 1;
- jmp .L3 #
- .cfi_endproc
- .LFE22:
- .size main, .-main
- .section .rodata.cst8,"aM",@progbits,8
- .align 8
- .LC4:
- .long 0
- .long 1093567616
- .align 8
- .LC6:
- .long 0
- .long 1079574528
- .align 8
- .LC7:
- .long -755914244
- .long 1062232653
- .ident "GCC: (Debian 12.2.0-14) 12.2.0"
- .section .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement