2 # GNU C11 (GCC) version 7.3.0 (x86_64-nyan-linux-gnu)
3 # compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version none
4 # GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
5 # options passed: -I ../include
6 # -I /root/wip/nyanglibc/builds/0/nyanglibc/build/crypt
7 # -I /root/wip/nyanglibc/builds/0/nyanglibc/build
8 # -I ../sysdeps/unix/sysv/linux/x86_64/64
9 # -I ../sysdeps/unix/sysv/linux/x86_64
10 # -I ../sysdeps/unix/sysv/linux/x86/include
11 # -I ../sysdeps/unix/sysv/linux/x86 -I ../sysdeps/x86/nptl
12 # -I ../sysdeps/unix/sysv/linux/wordsize-64 -I ../sysdeps/x86_64/nptl
13 # -I ../sysdeps/unix/sysv/linux/include -I ../sysdeps/unix/sysv/linux
14 # -I ../sysdeps/nptl -I ../sysdeps/pthread -I ../sysdeps/gnu
15 # -I ../sysdeps/unix/inet -I ../sysdeps/unix/sysv -I ../sysdeps/unix/x86_64
16 # -I ../sysdeps/unix -I ../sysdeps/posix -I ../sysdeps/x86_64/64
17 # -I ../sysdeps/x86_64/fpu -I ../sysdeps/x86/fpu -I ../sysdeps/x86_64
18 # -I ../sysdeps/x86/include -I ../sysdeps/x86
19 # -I ../sysdeps/ieee754/float128 -I ../sysdeps/ieee754/ldbl-96/include
20 # -I ../sysdeps/ieee754/ldbl-96 -I ../sysdeps/ieee754/dbl-64
21 # -I ../sysdeps/ieee754/flt-32 -I ../sysdeps/wordsize-64
22 # -I ../sysdeps/ieee754 -I ../sysdeps/generic -I .. -I ../libio -I .
23 # -MD /run/asm/crypt/crypt.v.d -MF /run/asm/crypt/crypt.o.dt -MP
24 # -MT /run/asm/crypt/.o -D _LIBC_REENTRANT -D MODULE_NAME=libcrypt -D PIC
25 # -D TOP_NAMESPACE=glibc
26 # -include /root/wip/nyanglibc/builds/0/nyanglibc/build/libc-modules.h
27 # -include ../include/libc-symbols.h crypt.c -mtune=generic -march=x86-64
28 # -auxbase-strip /run/asm/crypt/crypt.v.s -O2 -Wall -Wwrite-strings -Wundef
29 # -Werror -Wstrict-prototypes -Wold-style-definition -std=gnu11
30 # -fverbose-asm -fgnu89-inline -fmerge-all-constants -frounding-math
31 # -fno-stack-protector -fmath-errno -fpie -ftls-model=initial-exec
32 # options enabled: -faggressive-loop-optimizations -falign-labels
33 # -fasynchronous-unwind-tables -fauto-inc-dec -fbranch-count-reg
34 # -fcaller-saves -fchkp-check-incomplete-type -fchkp-check-read
35 # -fchkp-check-write -fchkp-instrument-calls -fchkp-narrow-bounds
36 # -fchkp-optimize -fchkp-store-bounds -fchkp-use-static-bounds
37 # -fchkp-use-static-const-bounds -fchkp-use-wrappers -fcode-hoisting
38 # -fcombine-stack-adjustments -fcommon -fcompare-elim -fcprop-registers
39 # -fcrossjumping -fcse-follow-jumps -fdefer-pop
40 # -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively
41 # -fdwarf2-cfi-asm -fearly-inlining -feliminate-unused-debug-types
42 # -fexpensive-optimizations -fforward-propagate -ffp-int-builtin-inexact
43 # -ffunction-cse -fgcse -fgcse-lm -fgnu-runtime -fgnu-unique
44 # -fguess-branch-probability -fhoist-adjacent-loads -fident -fif-conversion
45 # -fif-conversion2 -findirect-inlining -finline -finline-atomics
46 # -finline-functions-called-once -finline-small-functions -fipa-bit-cp
47 # -fipa-cp -fipa-icf -fipa-icf-functions -fipa-icf-variables -fipa-profile
48 # -fipa-pure-const -fipa-ra -fipa-reference -fipa-sra -fipa-vrp
49 # -fira-hoist-pressure -fira-share-save-slots -fira-share-spill-slots
50 # -fisolate-erroneous-paths-dereference -fivopts -fkeep-static-consts
51 # -fleading-underscore -flifetime-dse -flra-remat -flto-odr-type-merging
52 # -fmath-errno -fmerge-all-constants -fmerge-debug-strings
53 # -fmove-loop-invariants -fomit-frame-pointer -foptimize-sibling-calls
54 # -foptimize-strlen -fpartial-inlining -fpeephole -fpeephole2 -fpic -fpie
55 # -fplt -fprefetch-loop-arrays -free -freg-struct-return -freorder-blocks
56 # -freorder-functions -frerun-cse-after-loop -frounding-math
57 # -fsched-critical-path-heuristic -fsched-dep-count-heuristic
58 # -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heuristic
59 # -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic
60 # -fsched-stalled-insns-dep -fschedule-fusion -fschedule-insns2
61 # -fsemantic-interposition -fshow-column -fshrink-wrap
62 # -fshrink-wrap-separate -fsigned-zeros -fsplit-ivs-in-unroller
63 # -fsplit-wide-types -fssa-backprop -fssa-phiopt -fstdarg-opt
64 # -fstore-merging -fstrict-aliasing -fstrict-overflow
65 # -fstrict-volatile-bitfields -fsync-libcalls -fthread-jumps
66 # -ftoplevel-reorder -ftrapping-math -ftree-bit-ccp -ftree-builtin-call-dce
67 # -ftree-ccp -ftree-ch -ftree-coalesce-vars -ftree-copy-prop -ftree-cselim
68 # -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre
69 # -ftree-loop-if-convert -ftree-loop-im -ftree-loop-ivcanon
70 # -ftree-loop-optimize -ftree-parallelize-loops= -ftree-phiprop -ftree-pre
71 # -ftree-pta -ftree-reassoc -ftree-scev-cprop -ftree-sink -ftree-slsr
72 # -ftree-sra -ftree-switch-conversion -ftree-tail-merge -ftree-ter
73 # -ftree-vrp -funit-at-a-time -funwind-tables -fverbose-asm
74 # -fzero-initialized-in-bss -m128bit-long-double -m64 -m80387
75 # -malign-stringops -mavx256-split-unaligned-load
76 # -mavx256-split-unaligned-store -mfancy-math-387 -mfp-ret-in-387 -mfxsr
77 # -mglibc -mieee-fp -mlong-double-80 -mmmx -mno-sse4 -mpush-args -mred-zone
78 # -msse -msse2 -mstv -mtls-direct-seg-refs -mvzeroupper
83 .type _ufc_doit_r, @function
87 # crypt.c:90: l = (((long64)res[0]) << 32) | ((long64)res[1]);
88 movq
(%rdx
), %rcx
# *res_41(D), tmp171
91 .cfi_def_cfa_offset 16
93 # crypt.c:93: while(itr--) {
97 .cfi_def_cfa_offset 24
99 # crypt.c:91: r = (((long64)res[2]) << 32) | ((long64)res[3]);
100 movq
16(%rdx
), %r11 # MEM[(ufc_long *)res_41(D) + 16B], tmp173
101 # crypt.c:87: long64 *sb01 = (long64*)__data->sb0;
102 leaq
128(%rsi
), %r9 #, _147
103 # crypt.c:90: l = (((long64)res[0]) << 32) | ((long64)res[1]);
104 movq
8(%rdx
), %rbx
# MEM[(ufc_long *)res_41(D) + 8B], tmp171
105 # crypt.c:88: long64 *sb23 = (long64*)__data->sb2;
106 leaq
65664(%rsi
), %r10 #, sb23
107 # crypt.c:90: l = (((long64)res[0]) << 32) | ((long64)res[1]);
108 salq $
32, %rcx
#, tmp171
109 # crypt.c:91: r = (((long64)res[2]) << 32) | ((long64)res[3]);
110 salq $
32, %r11 #, tmp173
111 orq
24(%rdx
), %r11 # MEM[(ufc_long *)res_41(D) + 24B], l
112 # crypt.c:90: l = (((long64)res[0]) << 32) | ((long64)res[1]);
113 orq
%rcx
, %rbx
# tmp171, tmp171
114 # crypt.c:93: while(itr--) {
115 cmpq $
-1, %rdi
#, itr
120 # crypt.c:94: k = (long64*)__data->keysched;
121 movq
%r11, %rax
# l, l
122 movq
%rsi
, %r8 # __data, k
123 movq
%rbx
, %r11 # r, l
124 movq
%rax
, %rbx
# l, r
128 # crypt.c:96: s = *k++ ^ r;
129 movq
(%r8), %rax
# MEM[base: k_83, offset: 0B], s
131 xorq
%rbx
, %rax
# r, s
132 # crypt.c:100: l ^= SBA(sb01, (s >>= 16) );
133 movq
%rax
, %rbp
# s, s
134 # crypt.c:97: l ^= SBA(sb23, (s ) & 0xffff);
135 movzwl
%ax
, %ecx
# s, s
136 # crypt.c:100: l ^= SBA(sb01, (s >>= 16) );
138 movq
(%r10,%rcx
), %rcx
# *_9, *_9
139 xorq
(%r9,%rbp
), %rcx
# *_15, tmp177
140 # crypt.c:98: l ^= SBA(sb23, (s >>= 16) & 0xffff);
141 movq
%rax
, %rbp
# s, s
142 # crypt.c:99: l ^= SBA(sb01, (s >>= 16) & 0xffff);
144 # crypt.c:98: l ^= SBA(sb23, (s >>= 16) & 0xffff);
146 # crypt.c:99: l ^= SBA(sb01, (s >>= 16) & 0xffff);
147 movzwl
%ax
, %eax
# s, s
148 # crypt.c:98: l ^= SBA(sb23, (s >>= 16) & 0xffff);
149 movzwl
%bp
, %ebp
# s, s
150 # crypt.c:100: l ^= SBA(sb01, (s >>= 16) );
151 xorq
(%r10,%rbp
), %rcx
# *_12, tmp181
152 xorq
(%r9,%rax
), %rcx
# *_14, tmp181
153 # crypt.c:102: s = *k++ ^ l;
154 movq
-8(%r8), %rax
# MEM[base: _144, offset: -8B], s
155 # crypt.c:100: l ^= SBA(sb01, (s >>= 16) );
156 xorq
%rcx
, %r11 # tmp184, l
157 # crypt.c:102: s = *k++ ^ l;
158 xorq
%r11, %rax
# l, s
159 # crypt.c:106: r ^= SBA(sb01, (s >>= 16) );
160 movq
%rax
, %rbp
# s, s
161 # crypt.c:103: r ^= SBA(sb23, (s ) & 0xffff);
162 movzwl
%ax
, %ecx
# s, s
163 # crypt.c:106: r ^= SBA(sb01, (s >>= 16) );
165 movq
(%r10,%rcx
), %rcx
# *_18, *_18
166 xorq
(%r9,%rbp
), %rcx
# *_24, tmp187
167 xorq
%rbx
, %rcx
# r, tmp189
168 # crypt.c:104: r ^= SBA(sb23, (s >>= 16) & 0xffff);
169 movq
%rax
, %rbx
# s, s
170 # crypt.c:105: r ^= SBA(sb01, (s >>= 16) & 0xffff);
172 # crypt.c:104: r ^= SBA(sb23, (s >>= 16) & 0xffff);
174 # crypt.c:105: r ^= SBA(sb01, (s >>= 16) & 0xffff);
175 movzwl
%ax
, %eax
# s, s
176 # crypt.c:104: r ^= SBA(sb23, (s >>= 16) & 0xffff);
177 movzwl
%bx
, %ebx
# s, s
178 xorq
(%r10,%rbx
), %rcx
# *_21, _36
179 # crypt.c:106: r ^= SBA(sb01, (s >>= 16) );
180 movq
(%r9,%rax
), %rbx
# *_23, _36
181 xorq
%rcx
, %rbx
# _36, _36
182 # crypt.c:95: for(i=8; i--; ) {
183 cmpq
%r9, %r8 # _147, k
185 # crypt.c:93: while(itr--) {
187 cmpq $
-1, %rdi
#, itr
190 # crypt.c:111: res[0] = l >> 32; res[1] = l & 0xffffffff;
191 movq
%rbx
, %rax
# r, tmp194
192 movl
%ebx
, %ecx
# r, tmp195
193 shrq $
32, %rax
#, tmp194
194 movq
%rcx
, 8(%rdx
) # tmp195, MEM[(ufc_long *)res_41(D) + 8B]
195 movq
%rax
, (%rdx
) # tmp194, *res_41(D)
196 # crypt.c:112: res[2] = r >> 32; res[3] = r & 0xffffffff;
197 movq
%r11, %rax
# l, tmp196
198 andl $
4294967295, %r11d
#, tmp197
199 shrq $
32, %rax
#, tmp196
200 movq
%r11, 24(%rdx
) # tmp197, MEM[(ufc_long *)res_41(D) + 24B]
203 .cfi_def_cfa_offset 16
204 # crypt.c:112: res[2] = r >> 32; res[3] = r & 0xffffffff;
205 movq
%rax
, 16(%rdx
) # tmp196, MEM[(ufc_long *)res_41(D) + 16B]
208 .cfi_def_cfa_offset 8
212 .size _ufc_doit_r, .-_ufc_doit_r
213 .ident "GCC: (GNU) 7.3.0"
214 .section .note.GNU-stack,"",@progbits