Implementation notes: amd64, glyme, crypto_aead/pi32cipher128v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: pi32cipher128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
160464optimized_nonSSEgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
160508optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
161072optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
161692optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
161788optimized_nonSSEgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
162368optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
162400optimized_nonSSEgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
162784optimized_nonSSEgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
162904optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
163276optimized_nonSSEgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
163984optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
164068optimized_nonSSEgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
164504optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
165224optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
165356optimized_nonSSEgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
165484optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
165932optimized_nonSSEgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
166080optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
166684optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
167100optimized_nonSSEgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
167784optimized_nonSSEgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
167840optimized_nonSSEgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
168048optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
168284optimized_nonSSEgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
168812optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
168920optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
169196optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
169396optimized_nonSSEgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
170980optimized_nonSSEgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
171308optimized_nonSSEgcc -m64 -O3 -fomit-frame-pointer2017020420170105
171388optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
171400optimized_nonSSEgcc -O3 -fomit-frame-pointer2017020420170105
171808optimized_nonSSEgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
171900optimized_nonSSEgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
171968optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
172028optimized_nonSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
172072optimized_nonSSEgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
172144optimized_nonSSEgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
172628optimized_nonSSEgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
173200optimized_nonSSEgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
173956optimized_nonSSEgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
174032optimized_nonSSEgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
218696optimized_nonSSEgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
219880optimized_nonSSEgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
226336optimized_nonSSEgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
226576optimized_nonSSEgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
226636optimized_nonSSEgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
226932optimized_nonSSEgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
226972optimized_nonSSEgcc -O2 -fomit-frame-pointer2017020420170105
226980optimized_nonSSEgcc -m64 -O2 -fomit-frame-pointer2017020420170105
228332optimized_nonSSEgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
229568optimized_nonSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
229692optimized_nonSSEgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
229944refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
229984optimized_nonSSEgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
230256refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
230412refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
230424refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
230448refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
230804refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
230936refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
230952refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
231136optimized_nonSSEgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
231468refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
232404optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
233372optimized_nonSSEgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
234900refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
236588refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
236628refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
236632refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
236724refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
239344refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
239912refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
240152refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
240284refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
241956refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
242324refgcc -O3 -fomit-frame-pointer2017020420170105
242472refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
243528refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
243612refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
244248refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
244292refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
246420refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
246440refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
249468refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
249636refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
249872refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
250172refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
250264refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
250500refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
255636refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
256360refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
256460refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
256556refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
259416refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
259656refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
260108refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
261708refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
261752refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
263828optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
263828optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
263864optimized_nonSSEgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
264068optimized_nonSSEgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
265564optimized_nonSSEgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
265580optimized_nonSSEgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
265616optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
265620optimized_nonSSEgcc -Os -fomit-frame-pointer2017020420170105
265656optimized_nonSSEgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
265728optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
265988optimized_nonSSEgcc -march=nocona -O -fomit-frame-pointer2017020420170105
266020optimized_nonSSEgcc -m64 -Os -fomit-frame-pointer2017020420170105
266072optimized_nonSSEgcc -m64 -O -fomit-frame-pointer2017020420170105
266200optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
266408optimized_nonSSEgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
266452optimized_nonSSEgcc -O -fomit-frame-pointer2017020420170105
266472optimized_nonSSEgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
267212optimized_nonSSEgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
267320optimized_nonSSEgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
267460optimized_nonSSEgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
267576optimized_nonSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
267740optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
267992optimized_nonSSEgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
268144optimized_nonSSEgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
268612optimized_nonSSEgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
268804optimized_nonSSEgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
268980optimized_nonSSEgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
269276optimized_nonSSEgcc -march=k8 -O -fomit-frame-pointer2017020420170105
269444optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
269660optimized_nonSSEgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
269772optimized_nonSSEgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
270304optimized_nonSSEgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
270332optimized_nonSSEgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
279800optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
279868optimized_nonSSEgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
279972optimized_nonSSEgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
280840optimized_nonSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
280908optimized_nonSSEgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
280912optimized_nonSSEgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
287160refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
287252refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
288140refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
288788refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
293496refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
293756refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
294856refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
295208refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
297296refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
297896refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
297920refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
298052refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
298296refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
298296refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
298924refgcc -O -fomit-frame-pointer2017020420170105
298924refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
298924refgcc -m64 -O -fomit-frame-pointer2017020420170105
299016refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
299016refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
299020refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
299316refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
300016refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
301928refgcc -O2 -fomit-frame-pointer2017020420170105
302400refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
302588refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
303776refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
303976refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
304424refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
304452refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
306668refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
308828refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
309580refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
310196refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
310196refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
311288refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
311872refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
313616refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
313840refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
313896refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
314032refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
315616refgcc -Os -fomit-frame-pointer2017020420170105
316904refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
316932refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
317328refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
317428refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
317596refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
318024refgcc -m64 -Os -fomit-frame-pointer2017020420170105
319112refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
319820refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
320016refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
321216refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
323228refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
323772refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
324540refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
1430160optimized_nonSSEgcc2017020420170105
1431616optimized_nonSSEgcc -funroll-loops2017020420170105
1649364refgcc2017020420170105
1651816refgcc -funroll-loops2017020420170105

Test failure

Implementation: crypto_aead/pi32cipher128v1/optimized_nonSSE
Compiler: cc
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 14, namely:
CompilerImplementations
cc optimized_nonSSE ref
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments optimized_nonSSE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi32cipher128v1/ref
Compiler: cc
encrypt.c: encrypt.c:240:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:354:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:508:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
cc ref
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/pi32cipher128v1/optimized_nonSSE
Compiler: cc
encrypt.c: encrypt.c:354:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:468:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:622:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
cc optimized_nonSSE
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE