Implementation notes: amd64, glyme, crypto_aead/pi32cipher256v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: pi32cipher256v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
162324optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
162616optimized_nonSSEgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
162620optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
163448optimized_nonSSEgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
163488optimized_nonSSEgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
163528optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
163976optimized_nonSSEgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
164264optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
164292optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
165632optimized_nonSSEgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
165684optimized_nonSSEgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
165696optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
165788optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
165828optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
166612optimized_nonSSEgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
167020optimized_nonSSEgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
167192optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
167260optimized_nonSSEgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
167400optimized_nonSSEgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
167992optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
168544optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
168672optimized_nonSSEgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
168916optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
169212optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
169384optimized_nonSSEgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
169516optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
170112optimized_nonSSEgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
170480optimized_nonSSEgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
170516optimized_nonSSEgcc -O3 -fomit-frame-pointer2017020420170105
170528optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
170548optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
170572optimized_nonSSEgcc -m64 -O3 -fomit-frame-pointer2017020420170105
172216optimized_nonSSEgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
172240optimized_nonSSEgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
172412optimized_nonSSEgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
172428optimized_nonSSEgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
172540optimized_nonSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
172896optimized_nonSSEgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
172920optimized_nonSSEgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
172948optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
172952optimized_nonSSEgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
174316optimized_nonSSEgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
218688optimized_nonSSEgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
218796optimized_nonSSEgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
224396optimized_nonSSEgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
224720optimized_nonSSEgcc -O2 -fomit-frame-pointer2017020420170105
224884optimized_nonSSEgcc -m64 -O2 -fomit-frame-pointer2017020420170105
225388optimized_nonSSEgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
226252optimized_nonSSEgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
226560optimized_nonSSEgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
227428optimized_nonSSEgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
229072optimized_nonSSEgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
229540optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
230300optimized_nonSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
230328optimized_nonSSEgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
230384optimized_nonSSEgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
231172refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
231216refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
231232refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
231544optimized_nonSSEgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
231548refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
232592refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
232612refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
232956refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
233200refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
234008refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
234476refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
234832refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
234908refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
236444refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
238268refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
238272refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
241104refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
241204refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
242156refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
243128refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
244144refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
245000refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
245488refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
245820refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
245904refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
247420refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
247508refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
247544refgcc -O3 -fomit-frame-pointer2017020420170105
249880refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
251780refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
251812refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
252004refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
252328refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
252720refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
255276refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
256700refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
258164refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
259344refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
260024refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
260924refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
262416refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
262540refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
263056refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
264080optimized_nonSSEgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
264096optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
264148optimized_nonSSEgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
264264optimized_nonSSEgcc -m64 -Os -fomit-frame-pointer2017020420170105
264272optimized_nonSSEgcc -Os -fomit-frame-pointer2017020420170105
264284optimized_nonSSEgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
264416optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
264476optimized_nonSSEgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
264976optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
265156optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
265232optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
265676optimized_nonSSEgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
265680optimized_nonSSEgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
266544optimized_nonSSEgcc -march=k8 -O -fomit-frame-pointer2017020420170105
266632optimized_nonSSEgcc -march=nocona -O -fomit-frame-pointer2017020420170105
267092optimized_nonSSEgcc -m64 -O -fomit-frame-pointer2017020420170105
267152optimized_nonSSEgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
267372optimized_nonSSEgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
267376optimized_nonSSEgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
267528optimized_nonSSEgcc -O -fomit-frame-pointer2017020420170105
267736optimized_nonSSEgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
267944optimized_nonSSEgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
268028optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
268144optimized_nonSSEgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
268228optimized_nonSSEgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
269052optimized_nonSSEgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
269128optimized_nonSSEgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
269332optimized_nonSSEgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
269992optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
270432optimized_nonSSEgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
270524optimized_nonSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
271852optimized_nonSSEgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
271912optimized_nonSSEgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
279540optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
279688optimized_nonSSEgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
280668optimized_nonSSEgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
280944optimized_nonSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
281036optimized_nonSSEgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
281672optimized_nonSSEgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
287224refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
289208refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
289364refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
290808refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
292116refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
292380refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
293328refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
294612refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
297496refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
297768refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
297864refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
297876refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
298308refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
298308refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
298684refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
299252refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
299324refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
299476refgcc -O -fomit-frame-pointer2017020420170105
299476refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
299496refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
300664refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
301832refgcc -O2 -fomit-frame-pointer2017020420170105
301972refgcc -m64 -O -fomit-frame-pointer2017020420170105
302768refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
304764refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
304912refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
305268refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
305316refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
306256refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
306700refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
307432refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
310672refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
311148refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
311336refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
311536refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
312548refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
312576refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
312576refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
312636refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
315088refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
315684refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
315908refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
316064refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
316120refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
316248refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
316496refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
316584refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
316908refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
317868refgcc -m64 -Os -fomit-frame-pointer2017020420170105
318332refgcc -Os -fomit-frame-pointer2017020420170105
319888refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
320236refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
320788refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
322448refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
1428208optimized_nonSSEgcc -funroll-loops2017020420170105
1453964optimized_nonSSEgcc2017020420170105
1654228refgcc2017020420170105
1664188refgcc -funroll-loops2017020420170105

Test failure

Implementation: crypto_aead/pi32cipher256v1/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/pi32cipher256v1/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/pi32cipher256v1/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