Implementation notes: ppc64, nmi0154, crypto_hash/jh512

Computer: nmi0154
Architecture: ppc64
CPU ID: unknown CPU ID
SUPERCOP version: 20110106
Operation: crypto_hash
Primitive: jh512
TimeImplementationCompilerBenchmark dateSUPERCOP version
71888sphlibgcc -funroll-loops -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer2010110920101029
81092sphlibgcc -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer2010110920101029
82024sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer2010110920101029
82700sphlib-smallgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2010110920101029
84804sphlib-smallgcc -m64 -mcpu=G5 -Os -fomit-frame-pointer2010110920101029
86396sphlibgcc -m64 -maltivec -O -fomit-frame-pointer2010110920101029
87312sphlibgcc -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer2010110920101029
87620sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer2010110920101029
88836sphlibgcc -m64 -maltivec -Os -fomit-frame-pointer2010110920101029
89576sphlibgcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer2010110920101029
89600bitslice_opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2010110920101029
89716sphlibgcc -m64 -mcpu=G5 -O -fomit-frame-pointer2010110920101029
89940sphlibgcc -funroll-loops -m64 -maltivec -O -fomit-frame-pointer2010110920101029
90048sphlibgcc -m64 -O -fomit-frame-pointer2010110920101029
90484sphlibgcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer2010110920101029
90856sphlibgcc -funroll-loops -m64 -O -fomit-frame-pointer2010110920101029
90912bitslice_opt64gcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer2010110920101029
91108sphlibgcc -m64 -maltivec -O3 -fomit-frame-pointer2010110920101029
91216sphlibgcc -funroll-loops -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer2010110920101029
91284sphlibgcc -m64 -O3 -fomit-frame-pointer2010110920101029
91748sphlibgcc -funroll-loops -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer2010110920101029
92172sphlibgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2010110920101029
92480sphlibgcc -funroll-loops -m64 -maltivec -O3 -fomit-frame-pointer2010110920101029
92576sphlibgcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer2010110920101029
95420sphlibgcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer2010110920101029
95612sphlibgcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer2010110920101029
95648sphlibgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2010110920101029
96072sphlibgcc -funroll-loops -m64 -maltivec -O2 -fomit-frame-pointer2010110920101029
97148sphlibgcc -m64 -O2 -fomit-frame-pointer2010110920101029
97740bitslice_opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2010110920101029
99072bitslice_opt64gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer2010110920101029
101708bitslice_opt64gcc -m64 -mcpu=G5 -O -fomit-frame-pointer2010110920101029
102584sphlib-smallgcc -m64 -maltivec -O2 -fomit-frame-pointer2010110920101029
102592sphlib-smallgcc -m64 -maltivec -O -fomit-frame-pointer2010110920101029
103220sphlib-smallgcc -m64 -O -fomit-frame-pointer2010110920101029
104180sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer2010110920101029
105620sphlib-smallgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2010110920101029
106904sphlib-smallgcc -m64 -Os -fomit-frame-pointer2010110920101029
107528sphlibgcc -funroll-loops -m64 -maltivec -Os -fomit-frame-pointer2010110920101029
107668sphlib-smallgcc -funroll-loops -m64 -maltivec -O3 -fomit-frame-pointer2010110920101029
108976sphlib-smallgcc -m64 -O3 -fomit-frame-pointer2010110920101029
109072sphlib-smallgcc -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer2010110920101029
110040sphlib-smallgcc -funroll-loops -m64 -maltivec -Os -fomit-frame-pointer2010110920101029
111584sphlib-smallgcc -m64 -O2 -fomit-frame-pointer2010110920101029
111644sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer2010110920101029
112252sphlib-smallgcc -m64 -maltivec -O3 -fomit-frame-pointer2010110920101029
112476sphlibgcc -m64 -Os -fomit-frame-pointer2010110920101029
113772sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer2010110920101029
114304sphlib-smallgcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer2010110920101029
114404sphlibgcc -funroll-loops -m64 -Os -fomit-frame-pointer2010110920101029
116788sphlibgcc -m64 -mcpu=G5 -Os -fomit-frame-pointer2010110920101029
117092bitslice_opt64gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer2010110920101029
118100sphlibgcc -funroll-loops -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer2010110920101029
118784bitslice_opt64gcc -m64 -Os -fomit-frame-pointer2010110920101029
118792bitslice_opt64gcc -funroll-loops -m64 -maltivec -O3 -fomit-frame-pointer2010110920101029
118948bitslice_opt64gcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer2010110920101029
119136bitslice_opt64gcc -funroll-loops -m64 -maltivec -O2 -fomit-frame-pointer2010110920101029
119632bitslice_opt64gcc -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer2010110920101029
120660bitslice_opt64gcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer2010110920101029
120680sphlibgcc -m64 -maltivec -O2 -fomit-frame-pointer2010110920101029
120976sphlib-smallgcc -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer2010110920101029
121252sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer2010110920101029
121256sphlib-smallgcc -m64 -mcpu=G5 -O -fomit-frame-pointer2010110920101029
121312bitslice_opt64gcc -funroll-loops -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer2010110920101029
121392sphlib-smallgcc -funroll-loops -m64 -O -fomit-frame-pointer2010110920101029
121640bitslice_opt64gcc -m64 -O3 -fomit-frame-pointer2010110920101029
121964sphlibgcc -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer2010110920101029
122136bitslice_opt64gcc -m64 -maltivec -O2 -fomit-frame-pointer2010110920101029
122592sphlibgcc -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer2010110920101029
122760sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer2010110920101029
123576bitslice_opt64gcc -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer2010110920101029
124032sphlib-smallgcc -funroll-loops -m64 -maltivec -O -fomit-frame-pointer2010110920101029
124256sphlibgcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer2010110920101029
124728sphlib-smallgcc -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer2010110920101029
124924bitslice_opt64gcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer2010110920101029
125404bitslice_opt64gcc -m64 -maltivec -O3 -fomit-frame-pointer2010110920101029
125568sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer2010110920101029
127576bitslice_opt64gcc -m64 -O2 -fomit-frame-pointer2010110920101029
129780bitslice_opt64gcc -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer2010110920101029
131224bitslice_opt64gcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer2010110920101029
134028bitslice_opt64gcc -m64 -maltivec -O -fomit-frame-pointer2010110920101029
138036sphlib-smallgcc -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer2010110920101029
138168sphlib-smallgcc -funroll-loops -m64 -maltivec -O2 -fomit-frame-pointer2010110920101029
139040sphlib-smallgcc -funroll-loops -m64 -Os -fomit-frame-pointer2010110920101029
151476bitslice_opt64gcc -funroll-loops -m64 -maltivec -Os -fomit-frame-pointer2010110920101029
153020sphlib-smallgcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer2010110920101029
153316bitslice_opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2010110920101029
153616bitslice_opt64gcc -m64 -maltivec -Os -fomit-frame-pointer2010110920101029
154036bitslice_opt64gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer2010110920101029
154796bitslice_opt64gcc -m64 -mcpu=G5 -Os -fomit-frame-pointer2010110920101029
155776bitslice_opt64gcc -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer2010110920101029
156232sphlib-smallgcc -m64 -maltivec -Os -fomit-frame-pointer2010110920101029
156936bitslice_opt64gcc -m64 -O -fomit-frame-pointer2010110920101029
157996bitslice_opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2010110920101029
158156bitslice_opt64gcc -funroll-loops -m64 -maltivec -O -fomit-frame-pointer2010110920101029
164356bitslice_opt64gcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer2010110920101029
177724bitslice_ref64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2010110920101029
190804bitslice_ref64gcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer2010110920101029
203228bitslice_ref64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2010110920101029
204480bitslice_ref64gcc -funroll-loops -m64 -maltivec -O2 -fomit-frame-pointer2010110920101029
210444bitslice_ref64gcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer2010110920101029
210692bitslice_ref64gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer2010110920101029
216104bitslice_ref64gcc -funroll-loops -m64 -O -fomit-frame-pointer2010110920101029
220488bitslice_ref64gcc -funroll-loops -m64 -maltivec -O -fomit-frame-pointer2010110920101029
223508bitslice_ref64gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer2010110920101029
242804bitslice_ref64gcc -funroll-loops -m64 -maltivec -O3 -fomit-frame-pointer2010110920101029
251480bitslice_ref64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2010110920101029
252024bitslice_ref64gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer2010110920101029
257696bitslice_ref64gcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer2010110920101029
258152bitslice_ref64gcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer2010110920101029
259792bitslice_ref64gcc -m64 -maltivec -Os -fomit-frame-pointer2010110920101029
260140bitslice_ref64gcc -funroll-loops -m64 -maltivec -Os -fomit-frame-pointer2010110920101029
265884bitslice_ref64gcc -funroll-loops -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer2010110920101029
275332bitslice_ref64gcc -m64 -mcpu=G5 -O -fomit-frame-pointer2010110920101029
290816bitslice_ref64gcc -m64 -maltivec -O2 -fomit-frame-pointer2010110920101029
294708bitslice_ref64gcc -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer2010110920101029
295184bitslice_ref64gcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer2010110920101029
307044bitslice_ref64gcc -m64 -O3 -fomit-frame-pointer2010110920101029
307176bitslice_ref64gcc -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer2010110920101029
307700bitslice_ref64gcc -m64 -maltivec -O -fomit-frame-pointer2010110920101029
316164bitslice_ref64gcc -m64 -Os -fomit-frame-pointer2010110920101029
318536bitslice_ref64gcc -m64 -maltivec -O3 -fomit-frame-pointer2010110920101029
320152bitslice_ref64gcc -m64 -O2 -fomit-frame-pointer2010110920101029
325600bitslice_ref64gcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer2010110920101029
325708bitslice_ref64gcc -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer2010110920101029
333912bitslice_ref64gcc -m64 -O -fomit-frame-pointer2010110920101029
342336bitslice_ref64gcc -m64 -mcpu=G5 -Os -fomit-frame-pointer2010110920101029
342396bitslice_ref64gcc -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer2010110920101029

Test failure

Implementation: crypto_hash/jh512/bitslice_opt32
Compiler: gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
error 111
crypto_hash does not handle overlap

Number of similar (compiler,implementation) pairs: 64, namely:
CompilerImplementations
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -O -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -Os -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -maltivec -O2 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -maltivec -O3 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -maltivec -O -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -maltivec -Os -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -O2 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -O3 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -O -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -Os -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -maltivec -O2 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -maltivec -O3 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -maltivec -O -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -maltivec -Os -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -mcpu=G5 -O -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -mcpu=G5 -Os -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer bitslice_opt32 bitslice_ref32
gcc -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer bitslice_opt32 bitslice_ref32

Compiler output

Implementation: crypto_hash/jh512/bitslice_sse2_opt32
Compiler: gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
nist.c: In file included from nist.c:2:
nist.c: jh_sse2_opt32.h:32:23: emmintrin.h: No such file or directory
nist.c: In file included from nist.c:2:
nist.c: jh_sse2_opt32.h:36: error: parse error before "word128"
nist.c: jh_sse2_opt32.h:36: warning: data definition has no type or storage class
nist.c: jh_sse2_opt32.h:52: error: parse error before "word128"
nist.c: jh_sse2_opt32.h:52: warning: no semicolon at end of struct or union
nist.c: jh_sse2_opt32.h:54: error: parse error before '}' token
nist.c: jh_sse2_opt32.h:54: warning: data definition has no type or storage class
nist.c: jh_sse2_opt32.h:101: error: parse error before '*' token
nist.c: ...
nist.c: jh_sse2_opt32.h:367: error: `state' undeclared (first use in this function)
nist.c: jh_sse2_opt32.h:400: error: `__m128i' undeclared (first use in this function)
nist.c: jh_sse2_opt32.h:400: error: parse error before ')' token
nist.c: jh_sse2_opt32.h:401: error: parse error before ')' token
nist.c: jh_sse2_opt32.h:402: error: parse error before ')' token
nist.c: jh_sse2_opt32.h:403: error: parse error before ')' token
nist.c: jh_sse2_opt32.h:407: error: `hashval' undeclared (first use in this function)
nist.c: jh_sse2_opt32.h: In function `Hash':
nist.c: jh_sse2_opt32.h:422: error: parse error before "state"
nist.c: jh_sse2_opt32.h:426: error: `state' undeclared (first use in this function)

Number of similar (compiler,implementation) pairs: 32, namely:
CompilerImplementations
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -O -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -Os -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -maltivec -O2 -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -maltivec -O3 -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -maltivec -O -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -maltivec -Os -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer bitslice_sse2_opt32
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -O2 -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -O3 -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -O -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -Os -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -maltivec -O2 -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -maltivec -O3 -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -maltivec -O -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -maltivec -Os -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -mcpu=G5 -O -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -mcpu=G5 -Os -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer bitslice_sse2_opt32
gcc -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer bitslice_sse2_opt32

Compiler output

Implementation: crypto_hash/jh512/bitslice_sse2_opt64
Compiler: gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
nist.c: In file included from nist.c:2:
nist.c: jh_sse2_opt64.h:32:23: emmintrin.h: No such file or directory
nist.c: In file included from nist.c:2:
nist.c: jh_sse2_opt64.h:36: error: parse error before "word128"
nist.c: jh_sse2_opt64.h:36: warning: data definition has no type or storage class
nist.c: jh_sse2_opt64.h:52: error: parse error before "word128"
nist.c: jh_sse2_opt64.h:52: warning: no semicolon at end of struct or union
nist.c: jh_sse2_opt64.h:54: error: parse error before '}' token
nist.c: jh_sse2_opt64.h:54: warning: data definition has no type or storage class
nist.c: jh_sse2_opt64.h:101: error: parse error before '*' token
nist.c: ...
nist.c: jh_sse2_opt64.h:374: error: `state' undeclared (first use in this function)
nist.c: jh_sse2_opt64.h:406: error: `__m128i' undeclared (first use in this function)
nist.c: jh_sse2_opt64.h:406: error: parse error before ')' token
nist.c: jh_sse2_opt64.h:407: error: parse error before ')' token
nist.c: jh_sse2_opt64.h:408: error: parse error before ')' token
nist.c: jh_sse2_opt64.h:409: error: parse error before ')' token
nist.c: jh_sse2_opt64.h:413: error: `hashval' undeclared (first use in this function)
nist.c: jh_sse2_opt64.h: In function `Hash':
nist.c: jh_sse2_opt64.h:428: error: parse error before "state"
nist.c: jh_sse2_opt64.h:432: error: `state' undeclared (first use in this function)

Number of similar (compiler,implementation) pairs: 32, namely:
CompilerImplementations
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -O -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -Os -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -maltivec -O2 -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -maltivec -O3 -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -maltivec -O -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -maltivec -Os -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer bitslice_sse2_opt64
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -O2 -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -O3 -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -O -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -Os -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -maltivec -O2 -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -maltivec -O3 -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -maltivec -O -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -maltivec -Os -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -mcpu=G5 -O -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -mcpu=G5 -Os -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer bitslice_sse2_opt64
gcc -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer bitslice_sse2_opt64