Implementation notes: amd64, glyme, crypto_aead/pi64cipher128v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: pi64cipher128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
87084optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
87128optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
87184optimized_nonSSEgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
88100optimized_nonSSEgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
88120optimized_nonSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
88340optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
88432optimized_nonSSEgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
88504optimized_nonSSEgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
88624optimized_nonSSEgcc -O3 -fomit-frame-pointer2017020420170105
88688optimized_nonSSEgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
88836optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
88984optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
89132optimized_nonSSEgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
89352optimized_nonSSEgcc -m64 -O3 -fomit-frame-pointer2017020420170105
89424optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
89444optimized_nonSSEgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
89452optimized_nonSSEgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
89596optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
89700optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
89788optimized_nonSSEgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
89856optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
89908optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
89964optimized_nonSSEgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
89984optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
89992optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
90052optimized_nonSSEgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
90252optimized_nonSSEgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
90320optimized_nonSSEgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
90388optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
90480optimized_nonSSEgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
90568optimized_nonSSEgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
90584optimized_nonSSEgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
90596optimized_nonSSEgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
90824optimized_nonSSEgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
91716optimized_nonSSEgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
91824optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
91884optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
91940optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
91980optimized_nonSSEgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
92068optimized_nonSSEgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
92112optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
92840optimized_nonSSEgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
121680optimized_nonSSEgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
121864optimized_nonSSEgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
122096optimized_nonSSEgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
122296optimized_nonSSEgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
123268optimized_nonSSEgcc -O2 -fomit-frame-pointer2017020420170105
123320optimized_nonSSEgcc -m64 -O2 -fomit-frame-pointer2017020420170105
124044optimized_nonSSEgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
124144optimized_nonSSEgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
124152optimized_nonSSEgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
124172optimized_nonSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
124592optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
124592optimized_nonSSEgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
124760optimized_nonSSEgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
124812optimized_nonSSEgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
124888optimized_nonSSEgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
135356refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
135408refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
136776refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
136776refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
136824refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
136960refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
136988refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
137380refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
137440refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
137564refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
137588refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
137620refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
138140refgcc -O3 -fomit-frame-pointer2017020420170105
138144refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
138276refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
138304refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
138840refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
139092optimized_nonSSEgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
139220refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
139252optimized_nonSSEgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
139296refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
139336refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
139420refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
139468refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
139680optimized_nonSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
139688optimized_nonSSEgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
139748refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
139804optimized_nonSSEgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
139808refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
139824optimized_nonSSEgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
139940optimized_nonSSEgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
139952optimized_nonSSEgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
140148optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
140288optimized_nonSSEgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
140296optimized_nonSSEgcc -march=nocona -O -fomit-frame-pointer2017020420170105
140520optimized_nonSSEgcc -O -fomit-frame-pointer2017020420170105
140536optimized_nonSSEgcc -m64 -O -fomit-frame-pointer2017020420170105
140840optimized_nonSSEgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
140880optimized_nonSSEgcc -march=k8 -O -fomit-frame-pointer2017020420170105
141068optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
141516refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
141524optimized_nonSSEgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
141796refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
142064optimized_nonSSEgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
142108refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
142144refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
142188refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
142232refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
142704refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
142712refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
143336optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
143352optimized_nonSSEgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
143616optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
144000optimized_nonSSEgcc -m64 -Os -fomit-frame-pointer2017020420170105
144040optimized_nonSSEgcc -Os -fomit-frame-pointer2017020420170105
144060optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
144196optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
144360refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
144676optimized_nonSSEgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
144776optimized_nonSSEgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
144904optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
144916optimized_nonSSEgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
145080optimized_nonSSEgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
145216optimized_nonSSEgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
145284optimized_nonSSEgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
145836optimized_nonSSEgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
147992optimized_nonSSEgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
148156optimized_nonSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
148284optimized_nonSSEgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
148360optimized_nonSSEgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
148544optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
148856optimized_nonSSEgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
155004refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
155180refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
156544refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
157308refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
157376refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
157636refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
158168refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
158240refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
158260refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
179444refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
179912refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
180044refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
180072refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
180192refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
180208refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
180288refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
181184refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
181412refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
181524refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
181620refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
181672refgcc -O2 -fomit-frame-pointer2017020420170105
181680refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
181692refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
181732refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
181812refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
181932refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
182416refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
182752refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
182912refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
183460refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
184180refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
184248refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
184576refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
184836refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
185080refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
185404refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
185548refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
185556refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
185812refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
185872refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
186008refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
186044refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
186064refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
186232refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
186276refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
186540refgcc -m64 -O -fomit-frame-pointer2017020420170105
186548refgcc -O -fomit-frame-pointer2017020420170105
186640refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
186820refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
186884refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
186976refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
187020refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
187068refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
187280refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
187468refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
187720refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
188868refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
188984refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
189180refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
189316refgcc -Os -fomit-frame-pointer2017020420170105
189600refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
189676refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
189720refgcc -m64 -Os -fomit-frame-pointer2017020420170105
734288optimized_nonSSEgcc2017020420170105
746572optimized_nonSSEgcc -funroll-loops2017020420170105
848860refgcc -funroll-loops2017020420170105
851276refgcc2017020420170105

Test failure

Implementation: crypto_aead/pi64cipher128v1/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/pi64cipher128v1/ref
Compiler: cc
encrypt.c: encrypt.c:231:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:333: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:478: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/pi64cipher128v1/optimized_nonSSE
Compiler: cc
encrypt.c: encrypt.c:346:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:448: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:593: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