Implementation notes: amd64, genji262, crypto_hash/bblake512

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20171020
Operation: crypto_hash
Primitive: bblake512

Compiler output

Implementation: crypto_hash/bblake512/xop
Compiler: cc
hash.c: hash.c: In function 'blake512_compress':
hash.c: hash.c:81:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: m0 = BSWAP64(m0);
hash.c: ^
hash.c: hash.c:82:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: m1 = BSWAP64(m1);
hash.c: ^
hash.c: hash.c:83:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: m2 = BSWAP64(m2);
hash.c: ^
hash.c: hash.c:84:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: m3 = BSWAP64(m3);
hash.c: ^
hash.c: hash.c:85:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: m4 = BSWAP64(m4);
hash.c: ^
hash.c: hash.c:86:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: m5 = BSWAP64(m5);
hash.c: ^
hash.c: hash.c:87:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: m6 = BSWAP64(m6);
hash.c: ^
hash.c: hash.c:88:6: error: incompatible types when assigning to type '__m128i' from type 'int'
hash.c: m7 = BSWAP64(m7);
hash.c: ^
hash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc xop

Compiler output

Implementation: crypto_hash/bblake512/xop
Compiler: gcc
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:54:0,
hash.c: from hash.c:5:
hash.c: hash.c: In function 'blake512_final':
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/xopintrin.h:212:1: error: inlining failed in call to always_inline '_mm_perm_epi8': target specific option mismatch
hash.c: _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
hash.c: ^~~~~~~~~~~~~
hash.c: hash.c:389:5: note: called from here
hash.c: _mm_storeu_si128((__m128i*)(digest + 48), BSWAP64(S->gt;h[3]));
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:54:0,
hash.c: from hash.c:5:
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/xopintrin.h:212:1: error: inlining failed in call to always_inline '_mm_perm_epi8': target specific option mismatch
hash.c: _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
hash.c: ^~~~~~~~~~~~~
hash.c: hash.c:388:5: note: called from here
hash.c: _mm_storeu_si128((__m128i*)(digest + 32), BSWAP64(S->gt;h[2]));
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:54:0,
hash.c: from hash.c:5:
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/xopintrin.h:212:1: error: inlining failed in call to always_inline '_mm_perm_epi8': target specific option mismatch
hash.c: _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
hash.c: ^~~~~~~~~~~~~
hash.c: hash.c:387:5: note: called from here
hash.c: _mm_storeu_si128((__m128i*)(digest + 16), BSWAP64(S->gt;h[1]));
hash.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc xop
gcc -funroll-loops xop

Compiler output

Implementation: crypto_hash/bblake512/xop
Compiler: gcc -O2 -fomit-frame-pointer
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:39:0,
hash.c: from hash.c:5:
hash.c: hash.c: In function 'blake512_compress':
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline '_mm_alignr_epi8': target specific option mismatch
hash.c: _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
hash.c: ^~~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:2096:5: note: called from here
hash.c: t1 = _mm_alignr_epi8(row4h, row4l, 8); \
hash.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: rounds.h:2137:3: note: in expansion of macro 'UNDIAGONALIZE'
hash.c: UNDIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h);
hash.c: ^~~~~~~~~~~~~
hash.c: hash.c:132:3: note: in expansion of macro 'ROUND'
hash.c: ROUND(15);
hash.c: ^~~~~
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:39:0,
hash.c: from hash.c:5:
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline '_mm_alignr_epi8': target specific option mismatch
hash.c: _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
hash.c: ^~~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:2095:5: note: called from here
hash.c: t0 = _mm_alignr_epi8(row4l, row4h, 8); \
hash.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ...

Number of similar (compiler,implementation) pairs: 68, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer xop
gcc -O3 -fomit-frame-pointer xop
gcc -O -fomit-frame-pointer xop
gcc -Os -fomit-frame-pointer xop
gcc -fno-schedule-insns -O2 -fomit-frame-pointer xop
gcc -fno-schedule-insns -O3 -fomit-frame-pointer xop
gcc -fno-schedule-insns -O -fomit-frame-pointer xop
gcc -fno-schedule-insns -Os -fomit-frame-pointer xop
gcc -funroll-loops -O2 -fomit-frame-pointer xop
gcc -funroll-loops -O3 -fomit-frame-pointer xop
gcc -funroll-loops -O -fomit-frame-pointer xop
gcc -funroll-loops -Os -fomit-frame-pointer xop
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer xop
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer xop
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer xop
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer xop
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer xop
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer xop
gcc -funroll-loops -m64 -O -fomit-frame-pointer xop
gcc -funroll-loops -m64 -Os -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer xop
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer xop
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer xop
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer xop
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer xop
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer xop
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer xop
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer xop
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer xop
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer xop
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer xop
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer xop
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer xop
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer xop
gcc -m64 -O2 -fomit-frame-pointer xop
gcc -m64 -O3 -fomit-frame-pointer xop
gcc -m64 -O -fomit-frame-pointer xop
gcc -m64 -Os -fomit-frame-pointer xop
gcc -m64 -march=k8 -O2 -fomit-frame-pointer xop
gcc -m64 -march=k8 -O3 -fomit-frame-pointer xop
gcc -m64 -march=k8 -O -fomit-frame-pointer xop
gcc -m64 -march=k8 -Os -fomit-frame-pointer xop
gcc -m64 -march=nocona -O2 -fomit-frame-pointer xop
gcc -m64 -march=nocona -O3 -fomit-frame-pointer xop
gcc -m64 -march=nocona -O -fomit-frame-pointer xop
gcc -m64 -march=nocona -Os -fomit-frame-pointer xop
gcc -march=barcelona -O2 -fomit-frame-pointer xop
gcc -march=barcelona -O3 -fomit-frame-pointer xop
gcc -march=barcelona -O -fomit-frame-pointer xop
gcc -march=barcelona -Os -fomit-frame-pointer xop
gcc -march=k8 -O2 -fomit-frame-pointer xop
gcc -march=k8 -O3 -fomit-frame-pointer xop
gcc -march=k8 -O -fomit-frame-pointer xop
gcc -march=k8 -Os -fomit-frame-pointer xop
gcc -march=nocona -O2 -fomit-frame-pointer xop
gcc -march=nocona -O3 -fomit-frame-pointer xop
gcc -march=nocona -O -fomit-frame-pointer xop
gcc -march=nocona -Os -fomit-frame-pointer xop

Compiler output

Implementation: crypto_hash/bblake512/xop
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:39:0,
hash.c: from hash.c:5:
hash.c: hash.c: In function 'blake512_compress':
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline '_mm_alignr_epi8': target specific option mismatch
hash.c: _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
hash.c: ^~~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:2096:5: note: called from here
hash.c: t1 = _mm_alignr_epi8(row4h, row4l, 8); \
hash.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: rounds.h:2137:3: note: in expansion of macro 'UNDIAGONALIZE'
hash.c: UNDIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h);
hash.c: ^~~~~~~~~~~~~
hash.c: hash.c:132:3: note: in expansion of macro 'ROUND'
hash.c: ROUND(15);
hash.c: ^~~~~
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:39:0,
hash.c: from hash.c:5:
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline '_mm_alignr_epi8': target specific option mismatch
hash.c: _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
hash.c: ^~~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:2095:5: note: called from here
hash.c: t0 = _mm_alignr_epi8(row4l, row4h, 8); \
hash.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ...
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:39:0,
hash.c: from hash.c:5:
hash.c: hash.c: In function 'blake512_compress':
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline '_mm_alignr_epi8': target specific option mismatch
hash.c: _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
hash.c: ^~~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:2096:5: note: called from here
hash.c: t1 = _mm_alignr_epi8(row4h, row4l, 8); \
hash.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: rounds.h:2137:3: note: in expansion of macro 'UNDIAGONALIZE'
hash.c: UNDIAGONALIZE(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h);
hash.c: ^~~~~~~~~~~~~
hash.c: hash.c:132:3: note: in expansion of macro 'ROUND'
hash.c: ROUND(15);
hash.c: ^~~~~
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:39:0,
hash.c: from hash.c:5:
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline '_mm_alignr_epi8': target specific option mismatch
hash.c: _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
hash.c: ^~~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:2095:5: note: called from here
hash.c: t0 = _mm_alignr_epi8(row4l, row4h, 8); \
hash.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer xop
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer xop
gcc -m64 -march=barcelona -O -fomit-frame-pointer xop
gcc -m64 -march=barcelona -Os -fomit-frame-pointer xop

Compiler output

Implementation: crypto_hash/bblake512/xop
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:54:0,
hash.c: from hash.c:5:
hash.c: hash.c: In function 'blake512_compress':
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
hash.c: _mm_roti_epi64(__m128i __A, const int __B)
hash.c: ^~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:1978:9: note: called from here
hash.c: row2h = _mm_roti_epi64(row2h, -11); \
hash.c: ^
hash.c: rounds.h:2136:3: note: in expansion of macro 'G2'
hash.c: G2(row1l,row2l,row3l,row4l,row1h,row2h,row3h,row4h,b0,b1); \
hash.c: ^~
hash.c: hash.c:132:3: note: in expansion of macro 'ROUND'
hash.c: ROUND(15);
hash.c: ^~~~~
hash.c: In file included from /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/x86intrin.h:54:0,
hash.c: from hash.c:5:
hash.c: /home_nfs/bdolbeaur/gcc-7.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/xopintrin.h:266:1: error: inlining failed in call to always_inline '_mm_roti_epi64': target specific option mismatch
hash.c: _mm_roti_epi64(__m128i __A, const int __B)
hash.c: ^~~~~~~~~~~~~~
hash.c: In file included from hash.c:8:0:
hash.c: rounds.h:1977:9: note: called from here
hash.c: row2l = _mm_roti_epi64(row2l, -11); \
hash.c: ^
hash.c: ...

Number of similar (compiler,implementation) pairs: 36, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer xop
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer xop
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer xop
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer xop
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer xop
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer xop
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer xop
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer xop
gcc -m64 -march=core2 -O2 -fomit-frame-pointer xop
gcc -m64 -march=core2 -O3 -fomit-frame-pointer xop
gcc -m64 -march=core2 -O -fomit-frame-pointer xop
gcc -m64 -march=core2 -Os -fomit-frame-pointer xop
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer xop
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer xop
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer xop
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer xop
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer xop
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer xop
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer xop
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer xop
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer xop
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer xop
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer xop
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer xop
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer xop
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer xop
gcc -m64 -march=corei7 -O -fomit-frame-pointer xop
gcc -m64 -march=corei7 -Os -fomit-frame-pointer xop
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer xop
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer xop
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer xop
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer xop
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv xop
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv xop
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv xop
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv xop

Compiler output

Implementation: crypto_hash/bblake512/xop
Compiler: icc
hash.c: hash.c(81): warning #266: function "_mm_perm_epi8" declared implicitly
hash.c: m0 = BSWAP64(m0);
hash.c: ^
hash.c:
hash.c: hash.c(81): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: m0 = BSWAP64(m0);
hash.c: ^
hash.c:
hash.c: hash.c(82): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: m1 = BSWAP64(m1);
hash.c: ^
hash.c:
hash.c: hash.c(83): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: m2 = BSWAP64(m2);
hash.c: ^
hash.c:
hash.c: hash.c(84): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: m3 = BSWAP64(m3);
hash.c: ^
hash.c:
hash.c: hash.c(85): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: m4 = BSWAP64(m4);
hash.c: ^
hash.c:
hash.c: hash.c(86): error: a value of type "int" cannot be assigned to an entity of type "__m128i"
hash.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
icc xop
icc -no-vec xop
icc -xCORE-AVX-I -O2 -fomit-frame-pointer xop
icc -xCORE-AVX-I -O3 -fomit-frame-pointer xop
icc -xCORE-AVX2 -O2 -fomit-frame-pointer xop
icc -xCORE-AVX2 -O3 -fomit-frame-pointer xop